diff --git a/.circleci/config.yml b/.circleci/config.yml index a62c61fd3..ad4ca5a16 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2 defaults: &defaults working_directory: /go/src/github.com/cosmos/cosmos-sdk docker: - - image: circleci/golang:1.10.3 + - image: circleci/golang:1.11.1 environment: GOBIN: /tmp/workspace/bin @@ -206,6 +206,12 @@ jobs: - run: name: run localnet and exit on failure command: | + pushd /tmp + wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz + sudo tar -xvf go1.11.linux-amd64.tar.gz + sudo rm -rf /usr/local/go + sudo mv go /usr/local + popd set -x make get_tools make get_vendor_deps diff --git a/.gitignore b/.gitignore index 8498547cc..c6713cae8 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ docs/_build examples/basecoin/app/data baseapp/data/* client/lcd/keys/* +client/lcd/statik/statik.go mytestnet # Testing diff --git a/Gopkg.lock b/Gopkg.lock index 00eafa4ad..c3b08bd5c 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -34,11 +34,11 @@ [[projects]] branch = "master" - digest = "1:2c00f064ba355903866cbfbf3f7f4c0fe64af6638cc7d1b8bdcf3181bc67f1d8" + digest = "1:c0decf632843204d2b8781de7b26e7038584e2dcccc7e2f401e88ae85b1df2b7" name = "github.com/btcsuite/btcd" packages = ["btcec"] pruneopts = "UT" - revision = "d81d8877b8f327112e94e814937143a71d1692a7" + revision = "2a560b2036bee5e3679ec2133eb6520b2f195213" [[projects]] digest = "1:386de157f7d19259a7f9c81f26ce011223ce0f090353c1152ffdf730d7d10ac2" @@ -95,12 +95,12 @@ version = "v0.3.0" [[projects]] - digest = "1:c4a2528ccbcabf90f9f3c464a5fc9e302d592861bbfd0b7135a7de8a943d0406" + digest = "1:586ea76dbd0374d6fb649a91d70d652b7fe0ccffb8910a77468e7702e7901f3d" name = "github.com/go-stack/stack" packages = ["."] pruneopts = "UT" - revision = "259ab82a6cad3992b4e21ff5cac294ccb06474bc" - version = "v1.7.0" + revision = "2fee6af1a9795aafbe0253a0cfbdf668e1fb8a9a" + version = "v1.8.0" [[projects]] digest = "1:35621fe20f140f05a0c4ef662c26c0ab4ee50bca78aa30fe87d33120bd28165e" @@ -164,13 +164,13 @@ version = "v1.2.0" [[projects]] - branch = "master" - digest = "1:12247a2e99a060cc692f6680e5272c8adf0b8f572e6bce0d7095e624c958a240" + digest = "1:c0d19ab64b32ce9fe5cf4ddceba78d5bc9807f0016db6b1183599da3dcc24d10" name = "github.com/hashicorp/hcl" packages = [ ".", "hcl/ast", "hcl/parser", + "hcl/printer", "hcl/scanner", "hcl/strconv", "hcl/token", @@ -179,7 +179,8 @@ "json/token", ] pruneopts = "UT" - revision = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168" + revision = "8cb6e5b959231cc1119e43259c4a608f9c51a241" + version = "v1.0.0" [[projects]] digest = "1:870d441fe217b8e689d7949fef6e43efbc787e50f200cb1e70dbca9204a1d6be" @@ -214,12 +215,12 @@ version = "v1.8.0" [[projects]] - digest = "1:d4d17353dbd05cb52a2a52b7fe1771883b682806f68db442b436294926bbfafb" + digest = "1:0981502f9816113c9c8c4ac301583841855c8cf4da8c72f696b3ebedf6d0e4e5" name = "github.com/mattn/go-isatty" packages = ["."] pruneopts = "UT" - revision = "0360b2af4f38e8d38c7fce2a9f4e702702d73a39" - version = "v0.0.3" + revision = "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c" + version = "v0.0.4" [[projects]] digest = "1:ff5ebae34cfbf047d505ee150de27e60570e8c394b3b8fdbb720ff6ac71985fc" @@ -238,12 +239,12 @@ version = "v1.0.0" [[projects]] - digest = "1:645110e089152bd0f4a011a2648fbb0e4df5977be73ca605781157ac297f50c4" + digest = "1:e32dfc6abff6a3633ef4d9a1022fd707c8ef26f1e1e8f855dc58dc415ce7c8f3" name = "github.com/mitchellh/mapstructure" packages = ["."] pruneopts = "UT" - revision = "fa473d140ef3c6adf42d6b391fe76707f1f243c8" - version = "v1.0.0" + revision = "fe40af7a9c397fa3ddba203c38a5042c5d0475ad" + version = "v1.1.1" [[projects]] digest = "1:95741de3af260a92cc5c7f3f3061e85273f5a81b5db20d4bd68da74bd521675e" @@ -301,7 +302,7 @@ [[projects]] branch = "master" - digest = "1:8c49953a1414305f2ff5465147ee576dd705487c35b15918fcd4efdc0cb7a290" + digest = "1:ef1dd9945e58ee9b635273d28c0ef3fa3742a7dedc038ebe207fd63e6ce000ef" name = "github.com/prometheus/procfs" packages = [ ".", @@ -310,7 +311,15 @@ "xfs", ] pruneopts = "UT" - revision = "05ee40e3a273f7245e8777337fc7b46e533a9a92" + revision = "418d78d0b9a7b7de3a6bbc8a23def624cc977bb2" + +[[projects]] + digest = "1:ea0700160aca4ef099f4e06686a665a87691f4248dddd40796925eda2e46bd64" + name = "github.com/rakyll/statik" + packages = ["fs"] + pruneopts = "UT" + revision = "aa8a7b1baecd0f31a436bf7956fcdcc609a83035" + version = "v0.1.4" [[projects]] digest = "1:c4556a44e350b50a490544d9b06e9fba9c286c21d6c0e47f54f3a9214597298c" @@ -320,15 +329,15 @@ revision = "e2704e165165ec55d062f5919b4b29494e9fa790" [[projects]] - digest = "1:bd1ae00087d17c5a748660b8e89e1043e1e5479d0fea743352cda2f8dd8c4f84" + digest = "1:6a4a11ba764a56d2758899ec6f3848d24698d48442ebce85ee7a3f63284526cd" name = "github.com/spf13/afero" packages = [ ".", "mem", ] pruneopts = "UT" - revision = "787d034dfe70e44075ccc060d346146ef53270ad" - version = "v1.1.1" + revision = "d40851caa0d747393da1ffb28f7f9d8b4eeffebd" + version = "v1.1.2" [[projects]] digest = "1:516e71bed754268937f57d4ecb190e01958452336fa73dbac880894164e91c1f" @@ -347,12 +356,12 @@ version = "v0.0.1" [[projects]] - branch = "master" - digest = "1:8a020f916b23ff574845789daee6818daf8d25a4852419aae3f0b12378ba432a" + digest = "1:68ea4e23713989dc20b1bded5d9da2c5f9be14ff9885beef481848edd18c26cb" name = "github.com/spf13/jwalterweatherman" packages = ["."] pruneopts = "UT" - revision = "14d3d4c518341bea657dd8a226f5121c0ff8c9f2" + revision = "4a4406e478ca629068e7768fc33f3f044173c0a6" + version = "v1.0.0" [[projects]] digest = "1:dab83a1bbc7ad3d7a6ba1a1cc1760f25ac38cdf7d96a5cdd55cd915a4f5ceaf9" @@ -402,6 +411,13 @@ pruneopts = "UT" revision = "ae2bd5eed72d46b28834ec3f60db3a3ebedd8dbd" +[[projects]] + digest = "1:605b6546f3f43745695298ec2d342d3e952b6d91cdf9f349bea9315f677d759f" + name = "github.com/tendermint/btcd" + packages = ["btcec"] + pruneopts = "UT" + revision = "e5840949ff4fff0c56f9b6a541e22b63581ea9df" + [[projects]] branch = "master" digest = "1:087aaa7920e5d0bf79586feb57ce01c35c830396ab4392798112e8aae8c47722" @@ -415,12 +431,12 @@ revision = "d8387025d2b9d158cf4efb07e7ebf814bcce2057" [[projects]] - digest = "1:e0a2a4be1e20c305badc2b0a7a9ab7fef6da500763bec23ab81df3b5f9eec9ee" + digest = "1:2c971a45c89ca2ccc735af50919cdee05fbdc54d4bf50625073693300e31ead8" name = "github.com/tendermint/go-amino" packages = ["."] pruneopts = "UT" - revision = "a8328986c1608950fa5d3d1c0472cccc4f8fc02c" - version = "v0.12.0-rc0" + revision = "faa6e731944e2b7b6a46ad202902851e8ce85bee" + version = "v0.12.0" [[projects]] digest = "1:53397098d6acb7613358683cc84ae59281a60c6033f0bff62fa8d3f279c6c430" @@ -431,7 +447,7 @@ version = "v0.11.0" [[projects]] - digest = "1:4f15e95fe3888cc75dd34f407d6394cbc7fd3ff24920851b92b295f6a8b556e6" + digest = "1:f4fcc1a4dbe079b200556ca26c1ff1dacf23712125b9c265d8f02c0dbc318f39" name = "github.com/tendermint/tendermint" packages = [ "abci/client", @@ -449,6 +465,8 @@ "crypto/ed25519", "crypto/encoding/amino", "crypto/merkle", + "crypto/multisig", + "crypto/multisig/bitarray", "crypto/secp256k1", "crypto/tmhash", "crypto/xsalsa20symmetric", @@ -468,7 +486,6 @@ "lite", "lite/client", "lite/errors", - "lite/files", "lite/proxy", "mempool", "node", @@ -491,11 +508,12 @@ "state/txindex/kv", "state/txindex/null", "types", + "types/time", "version", ] pruneopts = "UT" - revision = "81df19e68ab1519399fccf0cab81cb75bf9d782e" - version = "v0.23.1-rc0" + revision = "d419fffe18531317c28c29a292ad7d253f6cafdf" + version = "v0.24.0" [[projects]] digest = "1:7886f86064faff6f8d08a3eb0e8c773648ff5a2e27730831e2bfbf07467f6666" @@ -526,7 +544,7 @@ "salsa20/salsa", ] pruneopts = "UT" - revision = "614d502a4dac94afa3a6ce146bd1736da82514c6" + revision = "e3636079e1a4c1f337f212cc5cd2aca108f6c900" [[projects]] digest = "1:d36f55a999540d29b6ea3c2ea29d71c76b1d9853fdcd3e5c5cb4836f2ba118f1" @@ -546,14 +564,14 @@ [[projects]] branch = "master" - digest = "1:ead82e3e398388679f3ad77633a087ac31a47a6be59ae20841e1d1b3a3fbbd22" + digest = "1:8bc8ecef1d63576cfab4d08b44a1f255dd67e5b019b7a44837d62380f266a91c" name = "golang.org/x/sys" packages = [ "cpu", "unix", ] pruneopts = "UT" - revision = "4ea2f632f6e912459fe60b26b1749377f0d889d5" + revision = "e4b3c5e9061176387e7cea65e4dc5853801f3fb7" [[projects]] digest = "1:a2ab62866c75542dd18d2b069fec854577a20211d7c0ea6ae746072a1dccdd18" @@ -580,11 +598,11 @@ [[projects]] branch = "master" - digest = "1:077c1c599507b3b3e9156d17d36e1e61928ee9b53a5b420f10f28ebd4a0b275c" + digest = "1:1e6b0176e8c5dd8ff551af65c76f8b73a99bcf4d812cedff1b91711b7df4804c" name = "google.golang.org/genproto" packages = ["googleapis/rpc/status"] pruneopts = "UT" - revision = "c66870c02cf823ceb633bcd05be3c7cda29976f4" + revision = "c7e5094acea1ca1b899e2259d80a6b0f882f81f8" [[projects]] digest = "1:2dab32a43451e320e49608ff4542fdfc653c95dcc35d0065ec9c6c3dd540ed74" @@ -641,6 +659,7 @@ "github.com/mitchellh/go-homedir", "github.com/pelletier/go-toml", "github.com/pkg/errors", + "github.com/rakyll/statik/fs", "github.com/spf13/cobra", "github.com/spf13/pflag", "github.com/spf13/viper", diff --git a/Gopkg.toml b/Gopkg.toml index 3080e3cd3..45ffc8317 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -49,7 +49,7 @@ [[override]] name = "github.com/tendermint/go-amino" - version = "=v0.12.0-rc0" + version = "=v0.12.0" [[override]] name = "github.com/tendermint/iavl" @@ -57,7 +57,7 @@ [[override]] name = "github.com/tendermint/tendermint" - version = "=v0.23.1-rc0" + version = "=0.24.0" [[constraint]] name = "github.com/bartekn/go-bip39" @@ -67,6 +67,10 @@ name = "github.com/zondax/ledger-goclient" version = "=v0.1.0" +[[constraint]] + name = "github.com/rakyll/statik" + version = "=v0.1.4" + [prune] go-tests = true unused-packages = true diff --git a/Makefile b/Makefile index 49f15b375..acf81fc97 100644 --- a/Makefile +++ b/Makefile @@ -32,7 +32,7 @@ TMP_BUILD_TAGS := $(BUILD_TAGS) BUILD_TAGS = $(filter-out ledger, $(TMP_BUILD_TAGS)) endif -build: check-ledger +build: check-ledger update_gaia_lite_docs ifeq ($(OS),Windows_NT) go build $(BUILD_FLAGS) -o build/gaiad.exe ./cmd/gaia/cmd/gaiad go build $(BUILD_FLAGS) -o build/gaiacli.exe ./cmd/gaia/cmd/gaiacli @@ -44,6 +44,9 @@ endif build-linux: LEDGER_ENABLED=false GOOS=linux GOARCH=amd64 $(MAKE) build +update_gaia_lite_docs: + @statik -src=client/lcd/swagger-ui -dest=client/lcd -f + build_cosmos-sdk-cli: ifeq ($(OS),Windows_NT) go build $(BUILD_FLAGS) -o build/cosmos-sdk-cli.exe ./cmd/cosmos-sdk-cli @@ -64,7 +67,7 @@ else go build $(BUILD_FLAGS) -o build/democli ./examples/democoin/cmd/democli endif -install: check-ledger +install: check-ledger update_gaia_lite_docs go install $(BUILD_FLAGS) ./cmd/gaia/cmd/gaiad go install $(BUILD_FLAGS) ./cmd/gaia/cmd/gaiacli @@ -179,14 +182,14 @@ test_cover: test_lint: gometalinter.v2 --config=tools/gometalinter.json ./... - !(gometalinter.v2 --disable-all --enable='errcheck' --vendor ./... | grep -v "client/") + !(gometalinter.v2 --exclude /usr/lib/go/src/ --exclude client/lcd/statik/statik.go --disable-all --enable='errcheck' --vendor ./... | grep -v "client/") find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" | xargs gofmt -d -s dep status >> /dev/null !(grep -n branch Gopkg.toml) format: - find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" | xargs gofmt -w -s - find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" | xargs misspell -w + find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" -not -path "./client/lcd/statik/statik.go" | xargs gofmt -w -s + find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" -not -path "./client/lcd/statik/statik.go" | xargs misspell -w benchmark: @go test -bench=. $(PACKAGES_NOSIMULATION) diff --git a/PENDING.md b/PENDING.md index 7458a110a..84d38ecf3 100644 --- a/PENDING.md +++ b/PENDING.md @@ -37,11 +37,16 @@ BREAKING CHANGES * `cosmosaccaddr` / `cosmosaccpub` => `cosmos` / `cosmospub` * `cosmosvaladdr` / `cosmosvalpub` => `cosmosvaloper` / `cosmosvaloperpub` * [x/stake] [#1013] TendermintUpdates now uses transient store + * [x/stake] \#2435 Remove empty bytes from the ValidatorPowerRank store key * [x/gov] [#2195] Governance uses BFT Time * [x/gov] \#2256 Removed slashing for governance non-voting validators * [simulation] \#2162 Added back correct supply invariants * SDK + * [core] \#2219 Update to Tendermint 0.24.0 + * Validator set updates delayed by one block + * BFT timestamp that can safely be used by applications + * Fixed maximum block size enforcement * [core] [\#1807](https://github.com/cosmos/cosmos-sdk/issues/1807) Switch from use of rational to decimal * [types] [\#1901](https://github.com/cosmos/cosmos-sdk/issues/1901) Validator interface's GetOwner() renamed to GetOperator() * [x/slashing] [#2122](https://github.com/cosmos/cosmos-sdk/pull/2122) - Implement slashing period @@ -60,6 +65,7 @@ BREAKING CHANGES * [x/auth] \#2377 auth.StdSignMsg -> txbuilder.StdSignMsg * [x/staking] \#2244 staking now holds a consensus-address-index instead of a consensus-pubkey-index * [x/staking] \#2236 more distribution hooks for distribution + * [x/stake] \#2394 Split up UpdateValidator into distinct state transitions applied only in EndBlock * Tendermint @@ -71,6 +77,7 @@ FEATURES * [gaia-lite] [\#966](https://github.com/cosmos/cosmos-sdk/issues/966) Add support for `generate_only=true` query argument to generate offline unsigned transactions * [gaia-lite] [\#1953](https://github.com/cosmos/cosmos-sdk/issues/1953) Add /sign endpoint to sign transactions generated with `generate_only=true`. * [gaia-lite] [\#1954](https://github.com/cosmos/cosmos-sdk/issues/1954) Add /broadcast endpoint to broadcast transactions signed by the /sign endpoint. + * [gaia-lite] [\#2113](https://github.com/cosmos/cosmos-sdk/issues/2113) Rename `/accounts/{address}/send` to `/bank/accounts/{address}/transfers` * Gaia CLI (`gaiacli`) * [cli] Cmds to query staking pool and params @@ -104,6 +111,7 @@ FEATURES * [x/auth] \#2376 Remove FeePayer() from StdTx * [x/stake] [\#1672](https://github.com/cosmos/cosmos-sdk/issues/1672) Implement basis for the validator commission model. + * [x/auth] Support account removal in the account mapper. * Tendermint @@ -124,6 +132,7 @@ IMPROVEMENTS * [x/auth] Signature verification's gas cost now accounts for pubkey type. [#2046](https://github.com/tendermint/tendermint/pull/2046) * [x/stake] [x/slashing] Ensure delegation invariants to jailed validators [#1883](https://github.com/cosmos/cosmos-sdk/issues/1883). * [x/stake] Improve speed of GetValidator, which was shown to be a performance bottleneck. [#2046](https://github.com/tendermint/tendermint/pull/2200) + * [x/stake] \#2435 Improve memory efficiency of getting the various store keys * [genesis] \#2229 Ensure that there are no duplicate accounts or validators in the genesis state. * Add SDK validation to `config.toml` (namely disabling `create_empty_blocks`) \#1571 * \#1941(https://github.com/cosmos/cosmos-sdk/issues/1941) Version is now inferred via `git describe --tags`. @@ -138,6 +147,7 @@ IMPROVEMENTS * [simulation] Make logs not just pure strings, speeding it up by a large factor at greater block heights \#2282 * [simulation] Add a concept of weighting the operations \#2303 * [simulation] Logs get written to file if large, and also get printed on panics \#2285 + * [simulation] Bank simulations now makes testing auth configurable \#2425 * [gaiad] \#1992 Add optional flag to `gaiad testnet` to make config directory of daemon (default `gaiad`) and cli (default `gaiacli`) configurable * [x/stake] Add stake `Queriers` for Gaia-lite endpoints. This increases the staking endpoints performance by reusing the staking `keeper` logic for queries. [#2249](https://github.com/cosmos/cosmos-sdk/pull/2149) * [store] [\#2017](https://github.com/cosmos/cosmos-sdk/issues/2017) Refactor @@ -168,5 +178,7 @@ BUG FIXES * [\#2158](https://github.com/cosmos/cosmos-sdk/issues/2158) Fix non-deterministic ordering of validator iteration when slashing in `gov EndBlocker` * [simulation] \#1924 Make simulation stop on SIGTERM * [\#2388](https://github.com/cosmos/cosmos-sdk/issues/2388) Remove dependency on deprecated tendermint/tmlibs repository. + * [\#2416](https://github.com/cosmos/cosmos-sdk/issues/2416) Refactored + `InitializeTestLCD` to properly include proposing validator in genesis state. * Tendermint diff --git a/README.md b/README.md index 75761f5f4..94b2b19da 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ breaking changes. ## Gaia Testnet To join the latest testnet, follow -[the guide](https://cosmos.network/docs/getting-started/full-node.html#setting-up-a-new-node). +[the guide](./docs/getting-started/join-testnet.md). For status updates and genesis files, see the [testnets repo](https://github.com/cosmos/testnets). @@ -30,15 +30,14 @@ For status updates and genesis files, see the ## Install See the -[install instructions](https://cosmos.network/docs/getting-started/installation.html). +[install instructions](./docs/getting-started/installation.md). ## Quick Start See the [Cosmos Docs](https://cosmos.network/docs/) -- [Getting started with the SDK](https://cosmos.network/docs/sdk/core/intro.html) +- [Getting started with the SDK](./docs/sdk/core/intro.md) - [SDK Examples](/examples) -- [Join the testnet](https://cosmos.network/docs/getting-started/full-node.html#run-a-full-node) ## Disambiguation diff --git a/baseapp/baseapp.go b/baseapp/baseapp.go index cbf81d87d..34c27c1c6 100644 --- a/baseapp/baseapp.go +++ b/baseapp/baseapp.go @@ -64,9 +64,9 @@ type BaseApp struct { // checkState is set on initialization and reset on Commit. // deliverState is set in InitChain and BeginBlock and cleared on Commit. // See methods setCheckState and setDeliverState. - checkState *state // for CheckTx - deliverState *state // for DeliverTx - signedValidators []abci.SigningValidator // absent validators from begin block + checkState *state // for CheckTx + deliverState *state // for DeliverTx + voteInfos []abci.VoteInfo // absent validators from begin block // minimum fees for spam prevention minimumFees sdk.Coins @@ -435,7 +435,7 @@ func (app *BaseApp) BeginBlock(req abci.RequestBeginBlock) (res abci.ResponseBeg // set the signed validators for addition to context in deliverTx // TODO: communicate this result to the address to pubkey map in slashing - app.signedValidators = req.LastCommitInfo.GetValidators() + app.voteInfos = req.LastCommitInfo.GetVotes() return } @@ -509,12 +509,12 @@ func validateBasicTxMsgs(msgs []sdk.Msg) sdk.Error { } // retrieve the context for the ante handler and store the tx bytes; store -// the signing validators if the tx runs within the deliverTx() state. +// the vote infos if the tx runs within the deliverTx() state. func (app *BaseApp) getContextForAnte(mode runTxMode, txBytes []byte) (ctx sdk.Context) { // Get the context ctx = getState(app, mode).ctx.WithTxBytes(txBytes) if mode == runTxModeDeliver { - ctx = ctx.WithSigningValidators(app.signedValidators) + ctx = ctx.WithVoteInfos(app.voteInfos) } return } diff --git a/client/config.go b/client/config.go index fcb252375..a1d38a016 100644 --- a/client/config.go +++ b/client/config.go @@ -1,15 +1,15 @@ package client import ( - "github.com/spf13/cobra" - "github.com/mitchellh/go-homedir" "bufio" - "path" - "os" - "io/ioutil" - "github.com/pelletier/go-toml" "fmt" "github.com/cosmos/cosmos-sdk/types" + "github.com/mitchellh/go-homedir" + "github.com/pelletier/go-toml" + "github.com/spf13/cobra" + "io/ioutil" + "os" + "path" ) type cliConfig struct { @@ -34,7 +34,7 @@ func ConfigCmd() *cobra.Command { return cfg } -func runConfigCmd(cmd *cobra.Command, args [] string) error { +func runConfigCmd(cmd *cobra.Command, args []string) error { home, err := homedir.Dir() if err != nil { return err diff --git a/client/context/broadcast.go b/client/context/broadcast.go index 4e295777c..b15b2a8e3 100644 --- a/client/context/broadcast.go +++ b/client/context/broadcast.go @@ -69,6 +69,22 @@ func (ctx CLIContext) BroadcastTxAndAwaitCommit(tx []byte) (*ctypes.ResultBroadc return res, err } +// BroadcastTxSync broadcasts transaction bytes to a Tendermint node +// synchronously. +func (ctx CLIContext) BroadcastTxSync(tx []byte) (*ctypes.ResultBroadcastTx, error) { + node, err := ctx.GetNode() + if err != nil { + return nil, err + } + + res, err := node.BroadcastTxSync(tx) + if err != nil { + return res, err + } + + return res, err +} + // BroadcastTxAsync broadcasts transaction bytes to a Tendermint node // asynchronously. func (ctx CLIContext) BroadcastTxAsync(tx []byte) (*ctypes.ResultBroadcastTx, error) { @@ -91,7 +107,7 @@ func (ctx CLIContext) broadcastTxAsync(txBytes []byte) (*ctypes.ResultBroadcastT return res, err } - if ctx.Logger != nil { + if ctx.Output != nil { if ctx.JSON { type toJSON struct { TxHash string @@ -103,10 +119,10 @@ func (ctx CLIContext) broadcastTxAsync(txBytes []byte) (*ctypes.ResultBroadcastT return res, err } - ctx.Logger.Write(bz) - io.WriteString(ctx.Logger, "\n") + ctx.Output.Write(bz) + io.WriteString(ctx.Output, "\n") } else { - io.WriteString(ctx.Logger, fmt.Sprintf("async tx sent (tx hash: %s)\n", res.Hash)) + io.WriteString(ctx.Output, fmt.Sprintf("async tx sent (tx hash: %s)\n", res.Hash)) } } @@ -128,21 +144,21 @@ func (ctx CLIContext) broadcastTxCommit(txBytes []byte) (*ctypes.ResultBroadcast Response abci.ResponseDeliverTx } - if ctx.Logger != nil { + if ctx.Output != nil { resJSON := toJSON{res.Height, res.Hash.String(), res.DeliverTx} bz, err := ctx.Codec.MarshalJSON(resJSON) if err != nil { return res, err } - ctx.Logger.Write(bz) - io.WriteString(ctx.Logger, "\n") + ctx.Output.Write(bz) + io.WriteString(ctx.Output, "\n") } return res, nil } - if ctx.Logger != nil { + if ctx.Output != nil { resStr := fmt.Sprintf("Committed at block %d (tx hash: %s)\n", res.Height, res.Hash.String()) if ctx.PrintResponse { @@ -151,7 +167,7 @@ func (ctx CLIContext) broadcastTxCommit(txBytes []byte) (*ctypes.ResultBroadcast ) } - io.WriteString(ctx.Logger, resStr) + io.WriteString(ctx.Output, resStr) } return res, nil diff --git a/client/context/context.go b/client/context/context.go index 31cfab705..ce36c37a8 100644 --- a/client/context/context.go +++ b/client/context/context.go @@ -4,6 +4,8 @@ import ( "bytes" "fmt" "io" + "os" + "path/filepath" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" @@ -11,25 +13,29 @@ import ( "github.com/spf13/viper" + "github.com/cosmos/cosmos-sdk/client/keys" + cskeys "github.com/cosmos/cosmos-sdk/crypto/keys" + "github.com/cosmos/cosmos-sdk/types" "github.com/tendermint/tendermint/libs/cli" + "github.com/tendermint/tendermint/libs/log" tmlite "github.com/tendermint/tendermint/lite" tmliteProxy "github.com/tendermint/tendermint/lite/proxy" rpcclient "github.com/tendermint/tendermint/rpc/client" - "os" - "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/client/keys" - cskeys "github.com/cosmos/cosmos-sdk/crypto/keys" ) const ctxAccStoreName = "acc" +var ( + verifier tmlite.Verifier +) + // CLIContext implements a typical CLI context created in SDK modules for // transaction handling and queries. type CLIContext struct { Codec *codec.Codec AccDecoder auth.AccountDecoder Client rpcclient.Client - Logger io.Writer + Output io.Writer Height int64 NodeURI string From string @@ -39,11 +45,12 @@ type CLIContext struct { Async bool JSON bool PrintResponse bool - Certifier tmlite.Certifier + Verifier tmlite.Verifier DryRun bool GenerateOnly bool fromAddress types.AccAddress fromName string + Indent bool } // NewCLIContext returns a new initialized CLIContext with parameters from the @@ -59,8 +66,14 @@ func NewCLIContext() CLIContext { from := viper.GetString(client.FlagFrom) fromAddress, fromName := fromFields(from) + // We need to use a single verifier for all contexts + if verifier == nil { + verifier = createVerifier() + } + return CLIContext{ Client: rpc, + Output: os.Stdout, NodeURI: nodeURI, AccountStore: ctxAccStoreName, From: viper.GetString(client.FlagFrom), @@ -70,15 +83,16 @@ func NewCLIContext() CLIContext { Async: viper.GetBool(client.FlagAsync), JSON: viper.GetBool(client.FlagJson), PrintResponse: viper.GetBool(client.FlagPrintResponse), - Certifier: createCertifier(), + Verifier: verifier, DryRun: viper.GetBool(client.FlagDryRun), GenerateOnly: viper.GetBool(client.FlagGenerateOnly), fromAddress: fromAddress, fromName: fromName, + Indent: viper.GetBool(client.FlagIndentResponse), } } -func createCertifier() tmlite.Certifier { +func createVerifier() tmlite.Verifier { trustNodeDefined := viper.IsSet(client.FlagTrustNode) if !trustNodeDefined { return nil @@ -107,15 +121,16 @@ func createCertifier() tmlite.Certifier { fmt.Printf("Must specify these options: %s when --trust-node is false\n", errMsg.String()) os.Exit(1) } + node := rpcclient.NewHTTP(nodeURI, "/websocket") + verifier, err := tmliteProxy.NewVerifier(chainID, filepath.Join(home, ".gaialite"), node, log.NewNopLogger()) - certifier, err := tmliteProxy.GetCertifier(chainID, home, nodeURI) if err != nil { - fmt.Printf("Create certifier failed: %s\n", err.Error()) + fmt.Printf("Create verifier failed: %s\n", err.Error()) fmt.Printf("Please check network connection and verify the address of the node to connect to\n") os.Exit(1) } - return certifier + return verifier } func fromFields(from string) (fromAddr types.AccAddress, fromName string) { @@ -162,9 +177,9 @@ func (ctx CLIContext) WithAccountDecoder(decoder auth.AccountDecoder) CLIContext return ctx } -// WithLogger returns a copy of the context with an updated logger. -func (ctx CLIContext) WithLogger(w io.Writer) CLIContext { - ctx.Logger = w +// WithOutput returns a copy of the context with an updated output writer (e.g. stdout). +func (ctx CLIContext) WithOutput(w io.Writer) CLIContext { + ctx.Output = w return ctx } @@ -206,8 +221,8 @@ func (ctx CLIContext) WithUseLedger(useLedger bool) CLIContext { return ctx } -// WithCertifier - return a copy of the context with an updated Certifier -func (ctx CLIContext) WithCertifier(certifier tmlite.Certifier) CLIContext { - ctx.Certifier = certifier +// WithVerifier - return a copy of the context with an updated Verifier +func (ctx CLIContext) WithVerifier(verifier tmlite.Verifier) CLIContext { + ctx.Verifier = verifier return ctx } diff --git a/client/context/query.go b/client/context/query.go index d9bef3f5d..e4e488190 100644 --- a/client/context/query.go +++ b/client/context/query.go @@ -14,10 +14,10 @@ import ( "github.com/cosmos/cosmos-sdk/store" abci "github.com/tendermint/tendermint/abci/types" cmn "github.com/tendermint/tendermint/libs/common" - "github.com/tendermint/tendermint/lite" tmliteErr "github.com/tendermint/tendermint/lite/errors" tmliteProxy "github.com/tendermint/tendermint/lite/proxy" rpcclient "github.com/tendermint/tendermint/rpc/client" + tmtypes "github.com/tendermint/tendermint/types" ) // GetNode returns an RPC client. If the context's client is not defined, an @@ -184,14 +184,14 @@ func (ctx CLIContext) query(path string, key cmn.HexBytes) (res []byte, err erro return resp.Value, nil } -// Certify verifies the consensus proof at given height. -func (ctx CLIContext) Certify(height int64) (lite.Commit, error) { - check, err := tmliteProxy.GetCertifiedCommit(height, ctx.Client, ctx.Certifier) +// Verify verifies the consensus proof at given height. +func (ctx CLIContext) Verify(height int64) (tmtypes.SignedHeader, error) { + check, err := tmliteProxy.GetCertifiedCommit(height, ctx.Client, ctx.Verifier) switch { - case tmliteErr.IsCommitNotFoundErr(err): - return lite.Commit{}, ErrVerifyCommit(height) + case tmliteErr.IsErrCommitNotFound(err): + return tmtypes.SignedHeader{}, ErrVerifyCommit(height) case err != nil: - return lite.Commit{}, err + return tmtypes.SignedHeader{}, err } return check, nil @@ -199,12 +199,12 @@ func (ctx CLIContext) Certify(height int64) (lite.Commit, error) { // verifyProof perform response proof verification. func (ctx CLIContext) verifyProof(_ string, resp abci.ResponseQuery) error { - if ctx.Certifier == nil { + if ctx.Verifier == nil { return fmt.Errorf("missing valid certifier to verify data from distrusted node") } // the AppHash for height H is in header H+1 - commit, err := ctx.Certify(resp.Height + 1) + commit, err := ctx.Verify(resp.Height + 1) if err != nil { return err } diff --git a/client/flags.go b/client/flags.go index ff9354937..9d03939e0 100644 --- a/client/flags.go +++ b/client/flags.go @@ -17,24 +17,25 @@ const ( DefaultGasLimit = 200000 GasFlagSimulate = "simulate" - FlagUseLedger = "ledger" - FlagChainID = "chain-id" - FlagNode = "node" - FlagHeight = "height" - FlagGas = "gas" - FlagGasAdjustment = "gas-adjustment" - FlagTrustNode = "trust-node" - FlagFrom = "from" - FlagName = "name" - FlagAccountNumber = "account-number" - FlagSequence = "sequence" - FlagMemo = "memo" - FlagFee = "fee" - FlagAsync = "async" - FlagJson = "json" - FlagPrintResponse = "print-response" - FlagDryRun = "dry-run" - FlagGenerateOnly = "generate-only" + FlagUseLedger = "ledger" + FlagChainID = "chain-id" + FlagNode = "node" + FlagHeight = "height" + FlagGas = "gas" + FlagGasAdjustment = "gas-adjustment" + FlagTrustNode = "trust-node" + FlagFrom = "from" + FlagName = "name" + FlagAccountNumber = "account-number" + FlagSequence = "sequence" + FlagMemo = "memo" + FlagFee = "fee" + FlagAsync = "async" + FlagJson = "json" + FlagPrintResponse = "print-response" + FlagDryRun = "dry-run" + FlagGenerateOnly = "generate-only" + FlagIndentResponse = "indent" ) // LineBreak can be included in a command list to provide a blank line @@ -47,6 +48,7 @@ var ( // GetCommands adds common flags to query commands func GetCommands(cmds ...*cobra.Command) []*cobra.Command { for _, c := range cmds { + c.Flags().Bool(FlagIndentResponse, false, "Add indent to JSON response") c.Flags().Bool(FlagTrustNode, false, "Trust connected full node (don't verify proofs for responses)") c.Flags().Bool(FlagUseLedger, false, "Use a connected Ledger device") c.Flags().String(FlagChainID, "", "Chain ID of tendermint node") @@ -63,6 +65,7 @@ func GetCommands(cmds ...*cobra.Command) []*cobra.Command { // PostCommands adds common flags for commands to post tx func PostCommands(cmds ...*cobra.Command) []*cobra.Command { for _, c := range cmds { + c.Flags().Bool(FlagIndentResponse, false, "Add indent to JSON response") c.Flags().String(FlagFrom, "", "Name or address of private key with which to sign") c.Flags().Int64(FlagAccountNumber, 0, "AccountNumber number to sign the tx") c.Flags().Int64(FlagSequence, 0, "Sequence number to sign the tx") diff --git a/client/lcd/certificates.go b/client/lcd/certificates.go index f47f2397c..1516ed35a 100644 --- a/client/lcd/certificates.go +++ b/client/lcd/certificates.go @@ -43,7 +43,7 @@ func generateSelfSignedCert(host string) (certBytes []byte, priv *ecdsa.PrivateK KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature | x509.KeyUsageCertSign, ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, BasicConstraintsValid: true, - IsCA: true, + IsCA: true, } hosts := strings.Split(host, ",") for _, h := range hosts { diff --git a/client/lcd/lcd_test.go b/client/lcd/lcd_test.go index 1da8edcc8..485c5a2f6 100644 --- a/client/lcd/lcd_test.go +++ b/client/lcd/lcd_test.go @@ -42,7 +42,7 @@ func init() { func TestKeys(t *testing.T) { name, password := "test", "1234567890" addr, seed := CreateAddr(t, "test", password, GetKeyBase(t)) - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) defer cleanup() // get seed @@ -125,7 +125,7 @@ func TestVersion(t *testing.T) { t.SkipNow() } - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{}) defer cleanup() // node info @@ -148,7 +148,7 @@ func TestVersion(t *testing.T) { } func TestNodeStatus(t *testing.T) { - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{}) defer cleanup() // node info @@ -170,7 +170,7 @@ func TestNodeStatus(t *testing.T) { } func TestBlock(t *testing.T) { - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{}) defer cleanup() var resultBlock ctypes.ResultBlock @@ -200,7 +200,7 @@ func TestBlock(t *testing.T) { } func TestValidators(t *testing.T) { - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{}) defer cleanup() var resultVals rpc.ResultValidatorsOutput @@ -235,7 +235,7 @@ func TestValidators(t *testing.T) { func TestCoinSend(t *testing.T) { name, password := "test", "1234567890" addr, seed := CreateAddr(t, "test", password, GetKeyBase(t)) - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) defer cleanup() bz, err := hex.DecodeString("8FA6AB57AD6870F6B5B2E57735F38F2F30E73CB6") @@ -303,7 +303,7 @@ func TestCoinSend(t *testing.T) { func DisabledTestIBCTransfer(t *testing.T) { name, password := "test", "1234567890" addr, seed := CreateAddr(t, "test", password, GetKeyBase(t)) - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) defer cleanup() acc := getAccount(t, port, addr) @@ -332,7 +332,7 @@ func DisabledTestIBCTransfer(t *testing.T) { func TestCoinSendGenerateSignAndBroadcast(t *testing.T) { name, password := "test", "1234567890" addr, seed := CreateAddr(t, "test", password, GetKeyBase(t)) - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) defer cleanup() acc := getAccount(t, port, addr) @@ -372,8 +372,9 @@ func TestCoinSendGenerateSignAndBroadcast(t *testing.T) { // broadcast tx broadcastPayload := struct { - Tx auth.StdTx `json:"tx"` - }{Tx: signedMsg} + Tx auth.StdTx `json:"tx"` + Return string `json:"return"` + }{Tx: signedMsg, Return: "block"} json, err = cdc.MarshalJSON(broadcastPayload) require.Nil(t, err) res, body = Request(t, port, "POST", "/tx/broadcast", json) @@ -391,7 +392,7 @@ func TestCoinSendGenerateSignAndBroadcast(t *testing.T) { func TestTxs(t *testing.T) { name, password := "test", "1234567890" addr, seed := CreateAddr(t, "test", password, GetKeyBase(t)) - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) defer cleanup() // query wrong @@ -450,7 +451,7 @@ func TestTxs(t *testing.T) { func TestPoolParamsQuery(t *testing.T) { _, password := "test", "1234567890" addr, _ := CreateAddr(t, "test", password, GetKeyBase(t)) - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) defer cleanup() defaultParams := stake.DefaultParams() @@ -484,9 +485,11 @@ func TestPoolParamsQuery(t *testing.T) { } func TestValidatorsQuery(t *testing.T) { - cleanup, pks, port := InitializeTestLCD(t, 1, []sdk.AccAddress{}) + cleanup, valPubKeys, operAddrs, port := InitializeTestLCD(t, 1, []sdk.AccAddress{}) defer cleanup() - require.Equal(t, 1, len(pks)) + + require.Equal(t, 1, len(valPubKeys)) + require.Equal(t, 1, len(operAddrs)) validators := getValidators(t, port) require.Equal(t, len(validators), 1) @@ -494,35 +497,35 @@ func TestValidatorsQuery(t *testing.T) { // make sure all the validators were found (order unknown because sorted by operator addr) foundVal := false - if validators[0].ConsPubKey == pks[0] { + if validators[0].ConsPubKey == valPubKeys[0] { foundVal = true } - require.True(t, foundVal, "pk %v, operator %v", pks[0], validators[0].OperatorAddr) + require.True(t, foundVal, "pk %v, operator %v", operAddrs[0], validators[0].OperatorAddr) } func TestValidatorQuery(t *testing.T) { - cleanup, pks, port := InitializeTestLCD(t, 1, []sdk.AccAddress{}) + cleanup, valPubKeys, operAddrs, port := InitializeTestLCD(t, 1, []sdk.AccAddress{}) defer cleanup() - require.Equal(t, 1, len(pks)) + require.Equal(t, 1, len(valPubKeys)) + require.Equal(t, 1, len(operAddrs)) - validator1Operator := sdk.ValAddress(pks[0].Address()) - validator := getValidator(t, port, validator1Operator) - assert.Equal(t, validator.OperatorAddr, validator1Operator, "The returned validator does not hold the correct data") + validator := getValidator(t, port, operAddrs[0]) + assert.Equal(t, validator.OperatorAddr, operAddrs[0], "The returned validator does not hold the correct data") } func TestBonding(t *testing.T) { name, password, denom := "test", "1234567890", "steak" addr, seed := CreateAddr(t, name, password, GetKeyBase(t)) - cleanup, pks, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) + + cleanup, _, operAddrs, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) defer cleanup() amt := sdk.NewDec(60) - validator1Operator := sdk.ValAddress(pks[0].Address()) - validator := getValidator(t, port, validator1Operator) + validator := getValidator(t, port, operAddrs[0]) // create bond TX - resultTx := doDelegate(t, port, seed, name, password, addr, validator1Operator, 60) + resultTx := doDelegate(t, port, seed, name, password, addr, operAddrs[0], 60) tests.WaitForHeight(resultTx.Height+1, port) require.Equal(t, uint32(0), resultTx.CheckTx.Code) @@ -534,7 +537,7 @@ func TestBonding(t *testing.T) { require.Equal(t, int64(40), coins.AmountOf(denom).Int64()) // query validator - bond := getDelegation(t, port, addr, validator1Operator) + bond := getDelegation(t, port, addr, operAddrs[0]) require.Equal(t, amt, bond.Shares) summary := getDelegationSummary(t, port, addr) @@ -545,17 +548,17 @@ func TestBonding(t *testing.T) { bondedValidators := getDelegatorValidators(t, port, addr) require.Len(t, bondedValidators, 1) - require.Equal(t, validator1Operator, bondedValidators[0].OperatorAddr) + require.Equal(t, operAddrs[0], bondedValidators[0].OperatorAddr) require.Equal(t, validator.DelegatorShares.Add(amt).String(), bondedValidators[0].DelegatorShares.String()) - bondedValidator := getDelegatorValidator(t, port, addr, validator1Operator) - require.Equal(t, validator1Operator, bondedValidator.OperatorAddr) + bondedValidator := getDelegatorValidator(t, port, addr, operAddrs[0]) + require.Equal(t, operAddrs[0], bondedValidator.OperatorAddr) ////////////////////// // testing unbonding // create unbond TX - resultTx = doBeginUnbonding(t, port, seed, name, password, addr, validator1Operator, 60) + resultTx = doBeginUnbonding(t, port, seed, name, password, addr, operAddrs[0], 60) tests.WaitForHeight(resultTx.Height+1, port) require.Equal(t, uint32(0), resultTx.CheckTx.Code) @@ -566,7 +569,7 @@ func TestBonding(t *testing.T) { coins = acc.GetCoins() require.Equal(t, int64(40), coins.AmountOf("steak").Int64()) - unbonding := getUndelegation(t, port, addr, validator1Operator) + unbonding := getUndelegation(t, port, addr, operAddrs[0]) require.Equal(t, "60", unbonding.Balance.Amount.String()) summary = getDelegationSummary(t, port, addr) @@ -599,7 +602,7 @@ func TestBonding(t *testing.T) { func TestSubmitProposal(t *testing.T) { name, password := "test", "1234567890" addr, seed := CreateAddr(t, "test", password, GetKeyBase(t)) - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) defer cleanup() // create SubmitProposal TX @@ -621,7 +624,7 @@ func TestSubmitProposal(t *testing.T) { func TestDeposit(t *testing.T) { name, password := "test", "1234567890" addr, seed := CreateAddr(t, "test", password, GetKeyBase(t)) - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) defer cleanup() // create SubmitProposal TX @@ -655,7 +658,7 @@ func TestDeposit(t *testing.T) { func TestVote(t *testing.T) { name, password := "test", "1234567890" addr, seed := CreateAddr(t, "test", password, GetKeyBase(t)) - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) defer cleanup() // create SubmitProposal TX @@ -693,12 +696,12 @@ func TestVote(t *testing.T) { func TestUnjail(t *testing.T) { _, password := "test", "1234567890" addr, _ := CreateAddr(t, "test", password, GetKeyBase(t)) - cleanup, pks, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) + cleanup, valPubKeys, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr}) defer cleanup() // XXX: any less than this and it fails tests.WaitForHeight(3, port) - pkString, _ := sdk.Bech32ifyConsPub(pks[0]) + pkString, _ := sdk.Bech32ifyConsPub(valPubKeys[0]) signingInfo := getSigningInfo(t, port, pkString) tests.WaitForHeight(4, port) require.Equal(t, true, signingInfo.IndexOffset > 0) @@ -711,7 +714,7 @@ func TestProposalsQuery(t *testing.T) { name2, password2 := "test2", "1234567890" addr, seed := CreateAddr(t, "test", password1, GetKeyBase(t)) addr2, seed2 := CreateAddr(t, "test2", password2, GetKeyBase(t)) - cleanup, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr, addr2}) + cleanup, _, _, port := InitializeTestLCD(t, 1, []sdk.AccAddress{addr, addr2}) defer cleanup() // Addr1 proposes (and deposits) proposals #1 and #2 @@ -849,7 +852,7 @@ func doSendWithGas(t *testing.T, port, seed, name, password string, addr sdk.Acc } }`, coinbz, gasStr, gasAdjustmentStr, name, password, chainID, accnum, sequence)) - res, body = Request(t, port, "POST", fmt.Sprintf("/accounts/%s/send%v", receiveAddr, queryStr), jsonStr) + res, body = Request(t, port, "POST", fmt.Sprintf("/bank/accounts/%s/transfers%v", receiveAddr, queryStr), jsonStr) return } diff --git a/client/lcd/root.go b/client/lcd/root.go index 84d3e806c..ef690ed55 100644 --- a/client/lcd/root.go +++ b/client/lcd/root.go @@ -18,6 +18,7 @@ import ( slashing "github.com/cosmos/cosmos-sdk/x/slashing/client/rest" stake "github.com/cosmos/cosmos-sdk/x/stake/client/rest" "github.com/gorilla/mux" + "github.com/rakyll/statik/fs" "github.com/spf13/cobra" "github.com/spf13/viper" cmn "github.com/tendermint/tendermint/libs/common" @@ -46,6 +47,7 @@ func ServeCommand(cdc *codec.Codec) *cobra.Command { RunE: func(cmd *cobra.Command, args []string) (err error) { listenAddr := viper.GetString(flagListenAddr) handler := createHandler(cdc) + registerSwaggerUI(handler) logger := log.NewTMLogger(log.NewSyncWriter(os.Stdout)).With("module", "rest-server") maxOpen := viper.GetInt(flagMaxOpenConnections) sslHosts := viper.GetString(flagSSLHosts) @@ -121,6 +123,7 @@ func ServeCommand(cdc *codec.Codec) *cobra.Command { cmd.Flags().String(client.FlagNode, "tcp://localhost:26657", "Address of the node to connect to") cmd.Flags().Int(flagMaxOpenConnections, 1000, "The number of maximum open connections") cmd.Flags().Bool(client.FlagTrustNode, false, "Trust connected full node (don't verify proofs for responses)") + cmd.Flags().Bool(client.FlagIndentResponse, false, "Add indent to JSON response") viper.BindPFlag(client.FlagTrustNode, cmd.Flags().Lookup(client.FlagTrustNode)) viper.BindPFlag(client.FlagChainID, cmd.Flags().Lookup(client.FlagChainID)) viper.BindPFlag(client.FlagNode, cmd.Flags().Lookup(client.FlagNode)) @@ -128,7 +131,7 @@ func ServeCommand(cdc *codec.Codec) *cobra.Command { return cmd } -func createHandler(cdc *codec.Codec) http.Handler { +func createHandler(cdc *codec.Codec) *mux.Router { r := mux.NewRouter() kb, err := keys.GetKeyBase() //XXX @@ -136,7 +139,7 @@ func createHandler(cdc *codec.Codec) http.Handler { panic(err) } - cliCtx := context.NewCLIContext().WithCodec(cdc).WithLogger(os.Stdout) + cliCtx := context.NewCLIContext().WithCodec(cdc) // TODO: make more functional? aka r = keys.RegisterRoutes(r) r.HandleFunc("/version", CLIVersionRequestHandler).Methods("GET") @@ -154,6 +157,15 @@ func createHandler(cdc *codec.Codec) http.Handler { return r } +func registerSwaggerUI(r *mux.Router) { + statikFS, err := fs.New() + if err != nil { + panic(err) + } + staticServer := http.FileServer(statikFS) + r.PathPrefix("/swagger-ui/").Handler(http.StripPrefix("/swagger-ui/", staticServer)) +} + func validateCertKeyFiles(certFile, keyFile string) error { if keyFile == "" { return errors.New("a key file is required") diff --git a/client/lcd/statik/init.go b/client/lcd/statik/init.go new file mode 100644 index 000000000..9633aeb29 --- /dev/null +++ b/client/lcd/statik/init.go @@ -0,0 +1,3 @@ +package statik + +//This just for fixing the error in importing empty github.com/cosmos/cosmos-sdk/client/lcd/statik diff --git a/client/lcd/swagger-ui/favicon-16x16.png b/client/lcd/swagger-ui/favicon-16x16.png new file mode 100644 index 000000000..0f7e13b0d Binary files /dev/null and b/client/lcd/swagger-ui/favicon-16x16.png differ diff --git a/client/lcd/swagger-ui/favicon-32x32.png b/client/lcd/swagger-ui/favicon-32x32.png new file mode 100644 index 000000000..b0a3352ff Binary files /dev/null and b/client/lcd/swagger-ui/favicon-32x32.png differ diff --git a/client/lcd/swagger-ui/index.html b/client/lcd/swagger-ui/index.html new file mode 100644 index 000000000..0c4855763 --- /dev/null +++ b/client/lcd/swagger-ui/index.html @@ -0,0 +1,60 @@ + + + + + + Swagger UI + + + + + + + +
+ + + + + + diff --git a/client/lcd/swagger-ui/oauth2-redirect.html b/client/lcd/swagger-ui/oauth2-redirect.html new file mode 100644 index 000000000..fb68399d2 --- /dev/null +++ b/client/lcd/swagger-ui/oauth2-redirect.html @@ -0,0 +1,67 @@ + + + + + + diff --git a/client/lcd/swagger-ui/swagger-ui-bundle.js b/client/lcd/swagger-ui/swagger-ui-bundle.js new file mode 100644 index 000000000..4491b4b28 --- /dev/null +++ b/client/lcd/swagger-ui/swagger-ui-bundle.js @@ -0,0 +1,41776 @@ +! function(e, t) { + "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.SwaggerUIBundle = t() : e.SwaggerUIBundle = t() +}(this, function() { + return function(e) { + var t = {}; + + function n(r) { + if (t[r]) return t[r].exports; + var o = t[r] = { + i: r, + l: !1, + exports: {} + }; + return e[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports + } + return n.m = e, n.c = t, n.d = function(e, t, r) { + n.o(e, t) || Object.defineProperty(e, t, { + configurable: !1, + enumerable: !0, + get: r + }) + }, n.n = function(e) { + var t = e && e.__esModule ? function() { + return e.default + } : function() { + return e + }; + return n.d(t, "a", t), t + }, n.o = function(e, t) { + return Object.prototype.hasOwnProperty.call(e, t) + }, n.p = "/dist", n(n.s = 445) + }([function(e, t, n) { + "use strict"; + e.exports = n(75) + }, function(e, t, n) { + e.exports = n(853)() + }, function(e, t, n) { + "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"; + t.__esModule = !0; + var r, o = n(262), + i = (r = o) && r.__esModule ? r : { + default: r + }; + t.default = function() { + function e(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), (0, i.default)(e, r.key, r) + } + } + return function(t, n, r) { + return n && e(t.prototype, n), r && e(t, r), t + } + }() + }, function(e, t, n) { + e.exports = { + default: n(766), + __esModule: !0 + } + }, function(e, t, n) { + "use strict"; + t.__esModule = !0; + var r, o = n(45), + i = (r = o) && r.__esModule ? r : { + default: r + }; + t.default = function(e, t) { + if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return !t || "object" !== (void 0 === t ? "undefined" : (0, i.default)(t)) && "function" != typeof t ? e : t + } + }, function(e, t, n) { + "use strict"; + t.__esModule = !0; + var r = a(n(768)), + o = a(n(349)), + i = a(n(45)); + + function a(e) { + return e && e.__esModule ? e : { + default: e + } + } + t.default = function(e, t) { + if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (void 0 === t ? "undefined" : (0, i.default)(t))); + e.prototype = (0, o.default)(t && t.prototype, { + constructor: { + value: e, + enumerable: !1, + writable: !0, + configurable: !0 + } + }), t && (r.default ? (0, r.default)(e, t) : e.__proto__ = t) + } + }, function(e, t, n) { + var r; + r = function() { + "use strict"; + var e = Array.prototype.slice; + + function t(e, t) { + t && (e.prototype = Object.create(t.prototype)), e.prototype.constructor = e + } + + function n(e) { + return a(e) ? e : J(e) + } + + function r(e) { + return u(e) ? e : Y(e) + } + + function o(e) { + return s(e) ? e : K(e) + } + + function i(e) { + return a(e) && !l(e) ? e : G(e) + } + + function a(e) { + return !(!e || !e[f]) + } + + function u(e) { + return !(!e || !e[p]) + } + + function s(e) { + return !(!e || !e[d]) + } + + function l(e) { + return u(e) || s(e) + } + + function c(e) { + return !(!e || !e[h]) + } + t(r, n), t(o, n), t(i, n), n.isIterable = a, n.isKeyed = u, n.isIndexed = s, n.isAssociative = l, n.isOrdered = c, n.Keyed = r, n.Indexed = o, n.Set = i; + var f = "@@__IMMUTABLE_ITERABLE__@@", + p = "@@__IMMUTABLE_KEYED__@@", + d = "@@__IMMUTABLE_INDEXED__@@", + h = "@@__IMMUTABLE_ORDERED__@@", + v = 5, + m = 1 << v, + g = m - 1, + y = {}, + b = { + value: !1 + }, + _ = { + value: !1 + }; + + function w(e) { + return e.value = !1, e + } + + function E(e) { + e && (e.value = !0) + } + + function x() {} + + function S(e, t) { + t = t || 0; + for (var n = Math.max(0, e.length - t), r = new Array(n), o = 0; o < n; o++) r[o] = e[o + t]; + return r + } + + function C(e) { + return void 0 === e.size && (e.size = e.__iterate(A)), e.size + } + + function k(e, t) { + if ("number" != typeof t) { + var n = t >>> 0; + if ("" + n !== t || 4294967295 === n) return NaN; + t = n + } + return t < 0 ? C(e) + t : t + } + + function A() { + return !0 + } + + function O(e, t, n) { + return (0 === e || void 0 !== n && e <= -n) && (void 0 === t || void 0 !== n && t >= n) + } + + function P(e, t) { + return M(e, t, 0) + } + + function T(e, t) { + return M(e, t, t) + } + + function M(e, t, n) { + return void 0 === e ? n : e < 0 ? Math.max(0, t + e) : void 0 === t ? e : Math.min(t, e) + } + var I = 0, + j = 1, + N = 2, + R = "function" == typeof Symbol && Symbol.iterator, + D = "@@iterator", + L = R || D; + + function U(e) { + this.next = e + } + + function q(e, t, n, r) { + var o = 0 === e ? t : 1 === e ? n : [t, n]; + return r ? r.value = o : r = { + value: o, + done: !1 + }, r + } + + function F() { + return { + value: void 0, + done: !0 + } + } + + function z(e) { + return !!H(e) + } + + function B(e) { + return e && "function" == typeof e.next + } + + function V(e) { + var t = H(e); + return t && t.call(e) + } + + function H(e) { + var t = e && (R && e[R] || e[D]); + if ("function" == typeof t) return t + } + + function W(e) { + return e && "number" == typeof e.length + } + + function J(e) { + return null === e || void 0 === e ? ie() : a(e) ? e.toSeq() : function(e) { + var t = se(e) || "object" == typeof e && new te(e); + if (!t) throw new TypeError("Expected Array or iterable object of values, or keyed object: " + e); + return t + }(e) + } + + function Y(e) { + return null === e || void 0 === e ? ie().toKeyedSeq() : a(e) ? u(e) ? e.toSeq() : e.fromEntrySeq() : ae(e) + } + + function K(e) { + return null === e || void 0 === e ? ie() : a(e) ? u(e) ? e.entrySeq() : e.toIndexedSeq() : ue(e) + } + + function G(e) { + return (null === e || void 0 === e ? ie() : a(e) ? u(e) ? e.entrySeq() : e : ue(e)).toSetSeq() + } + U.prototype.toString = function() { + return "[Iterator]" + }, U.KEYS = I, U.VALUES = j, U.ENTRIES = N, U.prototype.inspect = U.prototype.toSource = function() { + return this.toString() + }, U.prototype[L] = function() { + return this + }, t(J, n), J.of = function() { + return J(arguments) + }, J.prototype.toSeq = function() { + return this + }, J.prototype.toString = function() { + return this.__toString("Seq {", "}") + }, J.prototype.cacheResult = function() { + return !this._cache && this.__iterateUncached && (this._cache = this.entrySeq().toArray(), this.size = this._cache.length), this + }, J.prototype.__iterate = function(e, t) { + return le(this, e, t, !0) + }, J.prototype.__iterator = function(e, t) { + return ce(this, e, t, !0) + }, t(Y, J), Y.prototype.toKeyedSeq = function() { + return this + }, t(K, J), K.of = function() { + return K(arguments) + }, K.prototype.toIndexedSeq = function() { + return this + }, K.prototype.toString = function() { + return this.__toString("Seq [", "]") + }, K.prototype.__iterate = function(e, t) { + return le(this, e, t, !1) + }, K.prototype.__iterator = function(e, t) { + return ce(this, e, t, !1) + }, t(G, J), G.of = function() { + return G(arguments) + }, G.prototype.toSetSeq = function() { + return this + }, J.isSeq = oe, J.Keyed = Y, J.Set = G, J.Indexed = K; + var $, Z, X, Q = "@@__IMMUTABLE_SEQ__@@"; + + function ee(e) { + this._array = e, this.size = e.length + } + + function te(e) { + var t = Object.keys(e); + this._object = e, this._keys = t, this.size = t.length + } + + function ne(e) { + this._iterable = e, this.size = e.length || e.size + } + + function re(e) { + this._iterator = e, this._iteratorCache = [] + } + + function oe(e) { + return !(!e || !e[Q]) + } + + function ie() { + return $ || ($ = new ee([])) + } + + function ae(e) { + var t = Array.isArray(e) ? new ee(e).fromEntrySeq() : B(e) ? new re(e).fromEntrySeq() : z(e) ? new ne(e).fromEntrySeq() : "object" == typeof e ? new te(e) : void 0; + if (!t) throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: " + e); + return t + } + + function ue(e) { + var t = se(e); + if (!t) throw new TypeError("Expected Array or iterable object of values: " + e); + return t + } + + function se(e) { + return W(e) ? new ee(e) : B(e) ? new re(e) : z(e) ? new ne(e) : void 0 + } + + function le(e, t, n, r) { + var o = e._cache; + if (o) { + for (var i = o.length - 1, a = 0; a <= i; a++) { + var u = o[n ? i - a : a]; + if (!1 === t(u[1], r ? u[0] : a, e)) return a + 1 + } + return a + } + return e.__iterateUncached(t, n) + } + + function ce(e, t, n, r) { + var o = e._cache; + if (o) { + var i = o.length - 1, + a = 0; + return new U(function() { + var e = o[n ? i - a : a]; + return a++ > i ? { + value: void 0, + done: !0 + } : q(t, r ? e[0] : a - 1, e[1]) + }) + } + return e.__iteratorUncached(t, n) + } + + function fe(e, t) { + return t ? function e(t, n, r, o) { + if (Array.isArray(n)) return t.call(o, r, K(n).map(function(r, o) { + return e(t, r, o, n) + })); + if (de(n)) return t.call(o, r, Y(n).map(function(r, o) { + return e(t, r, o, n) + })); + return n + }(t, e, "", { + "": e + }) : pe(e) + } + + function pe(e) { + return Array.isArray(e) ? K(e).map(pe).toList() : de(e) ? Y(e).map(pe).toMap() : e + } + + function de(e) { + return e && (e.constructor === Object || void 0 === e.constructor) + } + + function he(e, t) { + if (e === t || e != e && t != t) return !0; + if (!e || !t) return !1; + if ("function" == typeof e.valueOf && "function" == typeof t.valueOf) { + if ((e = e.valueOf()) === (t = t.valueOf()) || e != e && t != t) return !0; + if (!e || !t) return !1 + } + return !("function" != typeof e.equals || "function" != typeof t.equals || !e.equals(t)) + } + + function ve(e, t) { + if (e === t) return !0; + if (!a(t) || void 0 !== e.size && void 0 !== t.size && e.size !== t.size || void 0 !== e.__hash && void 0 !== t.__hash && e.__hash !== t.__hash || u(e) !== u(t) || s(e) !== s(t) || c(e) !== c(t)) return !1; + if (0 === e.size && 0 === t.size) return !0; + var n = !l(e); + if (c(e)) { + var r = e.entries(); + return t.every(function(e, t) { + var o = r.next().value; + return o && he(o[1], e) && (n || he(o[0], t)) + }) && r.next().done + } + var o = !1; + if (void 0 === e.size) + if (void 0 === t.size) "function" == typeof e.cacheResult && e.cacheResult(); + else { + o = !0; + var i = e; + e = t, t = i + } + var f = !0, + p = t.__iterate(function(t, r) { + if (n ? !e.has(t) : o ? !he(t, e.get(r, y)) : !he(e.get(r, y), t)) return f = !1, !1 + }); + return f && e.size === p + } + + function me(e, t) { + if (!(this instanceof me)) return new me(e, t); + if (this._value = e, this.size = void 0 === t ? 1 / 0 : Math.max(0, t), 0 === this.size) { + if (Z) return Z; + Z = this + } + } + + function ge(e, t) { + if (!e) throw new Error(t) + } + + function ye(e, t, n) { + if (!(this instanceof ye)) return new ye(e, t, n); + if (ge(0 !== n, "Cannot step a Range by 0"), e = e || 0, void 0 === t && (t = 1 / 0), n = void 0 === n ? 1 : Math.abs(n), t < e && (n = -n), this._start = e, this._end = t, this._step = n, this.size = Math.max(0, Math.ceil((t - e) / n - 1) + 1), 0 === this.size) { + if (X) return X; + X = this + } + } + + function be() { + throw TypeError("Abstract") + } + + function _e() {} + + function we() {} + + function Ee() {} + J.prototype[Q] = !0, t(ee, K), ee.prototype.get = function(e, t) { + return this.has(e) ? this._array[k(this, e)] : t + }, ee.prototype.__iterate = function(e, t) { + for (var n = this._array, r = n.length - 1, o = 0; o <= r; o++) + if (!1 === e(n[t ? r - o : o], o, this)) return o + 1; + return o + }, ee.prototype.__iterator = function(e, t) { + var n = this._array, + r = n.length - 1, + o = 0; + return new U(function() { + return o > r ? { + value: void 0, + done: !0 + } : q(e, o, n[t ? r - o++ : o++]) + }) + }, t(te, Y), te.prototype.get = function(e, t) { + return void 0 === t || this.has(e) ? this._object[e] : t + }, te.prototype.has = function(e) { + return this._object.hasOwnProperty(e) + }, te.prototype.__iterate = function(e, t) { + for (var n = this._object, r = this._keys, o = r.length - 1, i = 0; i <= o; i++) { + var a = r[t ? o - i : i]; + if (!1 === e(n[a], a, this)) return i + 1 + } + return i + }, te.prototype.__iterator = function(e, t) { + var n = this._object, + r = this._keys, + o = r.length - 1, + i = 0; + return new U(function() { + var a = r[t ? o - i : i]; + return i++ > o ? { + value: void 0, + done: !0 + } : q(e, a, n[a]) + }) + }, te.prototype[h] = !0, t(ne, K), ne.prototype.__iterateUncached = function(e, t) { + if (t) return this.cacheResult().__iterate(e, t); + var n = V(this._iterable), + r = 0; + if (B(n)) + for (var o; !(o = n.next()).done && !1 !== e(o.value, r++, this);); + return r + }, ne.prototype.__iteratorUncached = function(e, t) { + if (t) return this.cacheResult().__iterator(e, t); + var n = V(this._iterable); + if (!B(n)) return new U(F); + var r = 0; + return new U(function() { + var t = n.next(); + return t.done ? t : q(e, r++, t.value) + }) + }, t(re, K), re.prototype.__iterateUncached = function(e, t) { + if (t) return this.cacheResult().__iterate(e, t); + for (var n, r = this._iterator, o = this._iteratorCache, i = 0; i < o.length;) + if (!1 === e(o[i], i++, this)) return i; + for (; !(n = r.next()).done;) { + var a = n.value; + if (o[i] = a, !1 === e(a, i++, this)) break + } + return i + }, re.prototype.__iteratorUncached = function(e, t) { + if (t) return this.cacheResult().__iterator(e, t); + var n = this._iterator, + r = this._iteratorCache, + o = 0; + return new U(function() { + if (o >= r.length) { + var t = n.next(); + if (t.done) return t; + r[o] = t.value + } + return q(e, o, r[o++]) + }) + }, t(me, K), me.prototype.toString = function() { + return 0 === this.size ? "Repeat []" : "Repeat [ " + this._value + " " + this.size + " times ]" + }, me.prototype.get = function(e, t) { + return this.has(e) ? this._value : t + }, me.prototype.includes = function(e) { + return he(this._value, e) + }, me.prototype.slice = function(e, t) { + var n = this.size; + return O(e, t, n) ? this : new me(this._value, T(t, n) - P(e, n)) + }, me.prototype.reverse = function() { + return this + }, me.prototype.indexOf = function(e) { + return he(this._value, e) ? 0 : -1 + }, me.prototype.lastIndexOf = function(e) { + return he(this._value, e) ? this.size : -1 + }, me.prototype.__iterate = function(e, t) { + for (var n = 0; n < this.size; n++) + if (!1 === e(this._value, n, this)) return n + 1; + return n + }, me.prototype.__iterator = function(e, t) { + var n = this, + r = 0; + return new U(function() { + return r < n.size ? q(e, r++, n._value) : { + value: void 0, + done: !0 + } + }) + }, me.prototype.equals = function(e) { + return e instanceof me ? he(this._value, e._value) : ve(e) + }, t(ye, K), ye.prototype.toString = function() { + return 0 === this.size ? "Range []" : "Range [ " + this._start + "..." + this._end + (1 !== this._step ? " by " + this._step : "") + " ]" + }, ye.prototype.get = function(e, t) { + return this.has(e) ? this._start + k(this, e) * this._step : t + }, ye.prototype.includes = function(e) { + var t = (e - this._start) / this._step; + return t >= 0 && t < this.size && t === Math.floor(t) + }, ye.prototype.slice = function(e, t) { + return O(e, t, this.size) ? this : (e = P(e, this.size), (t = T(t, this.size)) <= e ? new ye(0, 0) : new ye(this.get(e, this._end), this.get(t, this._end), this._step)) + }, ye.prototype.indexOf = function(e) { + var t = e - this._start; + if (t % this._step == 0) { + var n = t / this._step; + if (n >= 0 && n < this.size) return n + } + return -1 + }, ye.prototype.lastIndexOf = function(e) { + return this.indexOf(e) + }, ye.prototype.__iterate = function(e, t) { + for (var n = this.size - 1, r = this._step, o = t ? this._start + n * r : this._start, i = 0; i <= n; i++) { + if (!1 === e(o, i, this)) return i + 1; + o += t ? -r : r + } + return i + }, ye.prototype.__iterator = function(e, t) { + var n = this.size - 1, + r = this._step, + o = t ? this._start + n * r : this._start, + i = 0; + return new U(function() { + var a = o; + return o += t ? -r : r, i > n ? { + value: void 0, + done: !0 + } : q(e, i++, a) + }) + }, ye.prototype.equals = function(e) { + return e instanceof ye ? this._start === e._start && this._end === e._end && this._step === e._step : ve(this, e) + }, t(be, n), t(_e, be), t(we, be), t(Ee, be), be.Keyed = _e, be.Indexed = we, be.Set = Ee; + var xe = "function" == typeof Math.imul && -2 === Math.imul(4294967295, 2) ? Math.imul : function(e, t) { + var n = 65535 & (e |= 0), + r = 65535 & (t |= 0); + return n * r + ((e >>> 16) * r + n * (t >>> 16) << 16 >>> 0) | 0 + }; + + function Se(e) { + return e >>> 1 & 1073741824 | 3221225471 & e + } + + function Ce(e) { + if (!1 === e || null === e || void 0 === e) return 0; + if ("function" == typeof e.valueOf && (!1 === (e = e.valueOf()) || null === e || void 0 === e)) return 0; + if (!0 === e) return 1; + var t = typeof e; + if ("number" === t) { + if (e != e || e === 1 / 0) return 0; + var n = 0 | e; + for (n !== e && (n ^= 4294967295 * e); e > 4294967295;) n ^= e /= 4294967295; + return Se(n) + } + if ("string" === t) return e.length > je ? function(e) { + var t = De[e]; + void 0 === t && (t = ke(e), Re === Ne && (Re = 0, De = {}), Re++, De[e] = t); + return t + }(e) : ke(e); + if ("function" == typeof e.hashCode) return e.hashCode(); + if ("object" === t) return function(e) { + var t; + if (Te && void 0 !== (t = Pe.get(e))) return t; + if (void 0 !== (t = e[Ie])) return t; + if (!Oe) { + if (void 0 !== (t = e.propertyIsEnumerable && e.propertyIsEnumerable[Ie])) return t; + if (void 0 !== (t = function(e) { + if (e && e.nodeType > 0) switch (e.nodeType) { + case 1: + return e.uniqueID; + case 9: + return e.documentElement && e.documentElement.uniqueID + } + }(e))) return t + } + t = ++Me, 1073741824 & Me && (Me = 0); + if (Te) Pe.set(e, t); + else { + if (void 0 !== Ae && !1 === Ae(e)) throw new Error("Non-extensible objects are not allowed as keys."); + if (Oe) Object.defineProperty(e, Ie, { + enumerable: !1, + configurable: !1, + writable: !1, + value: t + }); + else if (void 0 !== e.propertyIsEnumerable && e.propertyIsEnumerable === e.constructor.prototype.propertyIsEnumerable) e.propertyIsEnumerable = function() { + return this.constructor.prototype.propertyIsEnumerable.apply(this, arguments) + }, e.propertyIsEnumerable[Ie] = t; + else { + if (void 0 === e.nodeType) throw new Error("Unable to set a non-enumerable property on object."); + e[Ie] = t + } + } + return t + }(e); + if ("function" == typeof e.toString) return ke(e.toString()); + throw new Error("Value type " + t + " cannot be hashed.") + } + + function ke(e) { + for (var t = 0, n = 0; n < e.length; n++) t = 31 * t + e.charCodeAt(n) | 0; + return Se(t) + } + var Ae = Object.isExtensible, + Oe = function() { + try { + return Object.defineProperty({}, "@", {}), !0 + } catch (e) { + return !1 + } + }(); + var Pe, Te = "function" == typeof WeakMap; + Te && (Pe = new WeakMap); + var Me = 0, + Ie = "__immutablehash__"; + "function" == typeof Symbol && (Ie = Symbol(Ie)); + var je = 16, + Ne = 255, + Re = 0, + De = {}; + + function Le(e) { + ge(e !== 1 / 0, "Cannot perform this action with an infinite size.") + } + + function Ue(e) { + return null === e || void 0 === e ? Xe() : qe(e) && !c(e) ? e : Xe().withMutations(function(t) { + var n = r(e); + Le(n.size), n.forEach(function(e, n) { + return t.set(n, e) + }) + }) + } + + function qe(e) { + return !(!e || !e[ze]) + } + t(Ue, _e), Ue.of = function() { + var t = e.call(arguments, 0); + return Xe().withMutations(function(e) { + for (var n = 0; n < t.length; n += 2) { + if (n + 1 >= t.length) throw new Error("Missing value for key: " + t[n]); + e.set(t[n], t[n + 1]) + } + }) + }, Ue.prototype.toString = function() { + return this.__toString("Map {", "}") + }, Ue.prototype.get = function(e, t) { + return this._root ? this._root.get(0, void 0, e, t) : t + }, Ue.prototype.set = function(e, t) { + return Qe(this, e, t) + }, Ue.prototype.setIn = function(e, t) { + return this.updateIn(e, y, function() { + return t + }) + }, Ue.prototype.remove = function(e) { + return Qe(this, e, y) + }, Ue.prototype.deleteIn = function(e) { + return this.updateIn(e, function() { + return y + }) + }, Ue.prototype.update = function(e, t, n) { + return 1 === arguments.length ? e(this) : this.updateIn([e], t, n) + }, Ue.prototype.updateIn = function(e, t, n) { + n || (n = t, t = void 0); + var r = function e(t, n, r, o) { + var i = t === y; + var a = n.next(); + if (a.done) { + var u = i ? r : t, + s = o(u); + return s === u ? t : s + } + ge(i || t && t.set, "invalid keyPath"); + var l = a.value; + var c = i ? y : t.get(l, y); + var f = e(c, n, r, o); + return f === c ? t : f === y ? t.remove(l) : (i ? Xe() : t).set(l, f) + }(this, nn(e), t, n); + return r === y ? void 0 : r + }, Ue.prototype.clear = function() { + return 0 === this.size ? this : this.__ownerID ? (this.size = 0, this._root = null, this.__hash = void 0, this.__altered = !0, this) : Xe() + }, Ue.prototype.merge = function() { + return rt(this, void 0, arguments) + }, Ue.prototype.mergeWith = function(t) { + return rt(this, t, e.call(arguments, 1)) + }, Ue.prototype.mergeIn = function(t) { + var n = e.call(arguments, 1); + return this.updateIn(t, Xe(), function(e) { + return "function" == typeof e.merge ? e.merge.apply(e, n) : n[n.length - 1] + }) + }, Ue.prototype.mergeDeep = function() { + return rt(this, ot, arguments) + }, Ue.prototype.mergeDeepWith = function(t) { + var n = e.call(arguments, 1); + return rt(this, it(t), n) + }, Ue.prototype.mergeDeepIn = function(t) { + var n = e.call(arguments, 1); + return this.updateIn(t, Xe(), function(e) { + return "function" == typeof e.mergeDeep ? e.mergeDeep.apply(e, n) : n[n.length - 1] + }) + }, Ue.prototype.sort = function(e) { + return Pt(Wt(this, e)) + }, Ue.prototype.sortBy = function(e, t) { + return Pt(Wt(this, t, e)) + }, Ue.prototype.withMutations = function(e) { + var t = this.asMutable(); + return e(t), t.wasAltered() ? t.__ensureOwner(this.__ownerID) : this + }, Ue.prototype.asMutable = function() { + return this.__ownerID ? this : this.__ensureOwner(new x) + }, Ue.prototype.asImmutable = function() { + return this.__ensureOwner() + }, Ue.prototype.wasAltered = function() { + return this.__altered + }, Ue.prototype.__iterator = function(e, t) { + return new Ke(this, e, t) + }, Ue.prototype.__iterate = function(e, t) { + var n = this, + r = 0; + return this._root && this._root.iterate(function(t) { + return r++, e(t[1], t[0], n) + }, t), r + }, Ue.prototype.__ensureOwner = function(e) { + return e === this.__ownerID ? this : e ? Ze(this.size, this._root, e, this.__hash) : (this.__ownerID = e, this.__altered = !1, this) + }, Ue.isMap = qe; + var Fe, ze = "@@__IMMUTABLE_MAP__@@", + Be = Ue.prototype; + + function Ve(e, t) { + this.ownerID = e, this.entries = t + } + + function He(e, t, n) { + this.ownerID = e, this.bitmap = t, this.nodes = n + } + + function We(e, t, n) { + this.ownerID = e, this.count = t, this.nodes = n + } + + function Je(e, t, n) { + this.ownerID = e, this.keyHash = t, this.entries = n + } + + function Ye(e, t, n) { + this.ownerID = e, this.keyHash = t, this.entry = n + } + + function Ke(e, t, n) { + this._type = t, this._reverse = n, this._stack = e._root && $e(e._root) + } + + function Ge(e, t) { + return q(e, t[0], t[1]) + } + + function $e(e, t) { + return { + node: e, + index: 0, + __prev: t + } + } + + function Ze(e, t, n, r) { + var o = Object.create(Be); + return o.size = e, o._root = t, o.__ownerID = n, o.__hash = r, o.__altered = !1, o + } + + function Xe() { + return Fe || (Fe = Ze(0)) + } + + function Qe(e, t, n) { + var r, o; + if (e._root) { + var i = w(b), + a = w(_); + if (r = et(e._root, e.__ownerID, 0, void 0, t, n, i, a), !a.value) return e; + o = e.size + (i.value ? n === y ? -1 : 1 : 0) + } else { + if (n === y) return e; + o = 1, r = new Ve(e.__ownerID, [ + [t, n] + ]) + } + return e.__ownerID ? (e.size = o, e._root = r, e.__hash = void 0, e.__altered = !0, e) : r ? Ze(o, r) : Xe() + } + + function et(e, t, n, r, o, i, a, u) { + return e ? e.update(t, n, r, o, i, a, u) : i === y ? e : (E(u), E(a), new Ye(t, r, [o, i])) + } + + function tt(e) { + return e.constructor === Ye || e.constructor === Je + } + + function nt(e, t, n, r, o) { + if (e.keyHash === r) return new Je(t, r, [e.entry, o]); + var i, a = (0 === n ? e.keyHash : e.keyHash >>> n) & g, + u = (0 === n ? r : r >>> n) & g; + return new He(t, 1 << a | 1 << u, a === u ? [nt(e, t, n + v, r, o)] : (i = new Ye(t, r, o), a < u ? [e, i] : [i, e])) + } + + function rt(e, t, n) { + for (var o = [], i = 0; i < n.length; i++) { + var u = n[i], + s = r(u); + a(u) || (s = s.map(function(e) { + return fe(e) + })), o.push(s) + } + return at(e, t, o) + } + + function ot(e, t, n) { + return e && e.mergeDeep && a(t) ? e.mergeDeep(t) : he(e, t) ? e : t + } + + function it(e) { + return function(t, n, r) { + if (t && t.mergeDeepWith && a(n)) return t.mergeDeepWith(e, n); + var o = e(t, n, r); + return he(t, o) ? t : o + } + } + + function at(e, t, n) { + return 0 === (n = n.filter(function(e) { + return 0 !== e.size + })).length ? e : 0 !== e.size || e.__ownerID || 1 !== n.length ? e.withMutations(function(e) { + for (var r = t ? function(n, r) { + e.update(r, y, function(e) { + return e === y ? n : t(e, n, r) + }) + } : function(t, n) { + e.set(n, t) + }, o = 0; o < n.length; o++) n[o].forEach(r) + }) : e.constructor(n[0]) + } + + function ut(e) { + return e = (e = (858993459 & (e -= e >> 1 & 1431655765)) + (e >> 2 & 858993459)) + (e >> 4) & 252645135, e += e >> 8, 127 & (e += e >> 16) + } + + function st(e, t, n, r) { + var o = r ? e : S(e); + return o[t] = n, o + } + Be[ze] = !0, Be.delete = Be.remove, Be.removeIn = Be.deleteIn, Ve.prototype.get = function(e, t, n, r) { + for (var o = this.entries, i = 0, a = o.length; i < a; i++) + if (he(n, o[i][0])) return o[i][1]; + return r + }, Ve.prototype.update = function(e, t, n, r, o, i, a) { + for (var u = o === y, s = this.entries, l = 0, c = s.length; l < c && !he(r, s[l][0]); l++); + var f = l < c; + if (f ? s[l][1] === o : u) return this; + if (E(a), (u || !f) && E(i), !u || 1 !== s.length) { + if (!f && !u && s.length >= lt) return function(e, t, n, r) { + e || (e = new x); + for (var o = new Ye(e, Ce(n), [n, r]), i = 0; i < t.length; i++) { + var a = t[i]; + o = o.update(e, 0, void 0, a[0], a[1]) + } + return o + }(e, s, r, o); + var p = e && e === this.ownerID, + d = p ? s : S(s); + return f ? u ? l === c - 1 ? d.pop() : d[l] = d.pop() : d[l] = [r, o] : d.push([r, o]), p ? (this.entries = d, this) : new Ve(e, d) + } + }, He.prototype.get = function(e, t, n, r) { + void 0 === t && (t = Ce(n)); + var o = 1 << ((0 === e ? t : t >>> e) & g), + i = this.bitmap; + return 0 == (i & o) ? r : this.nodes[ut(i & o - 1)].get(e + v, t, n, r) + }, He.prototype.update = function(e, t, n, r, o, i, a) { + void 0 === n && (n = Ce(r)); + var u = (0 === t ? n : n >>> t) & g, + s = 1 << u, + l = this.bitmap, + c = 0 != (l & s); + if (!c && o === y) return this; + var f = ut(l & s - 1), + p = this.nodes, + d = c ? p[f] : void 0, + h = et(d, e, t + v, n, r, o, i, a); + if (h === d) return this; + if (!c && h && p.length >= ct) return function(e, t, n, r, o) { + for (var i = 0, a = new Array(m), u = 0; 0 !== n; u++, n >>>= 1) a[u] = 1 & n ? t[i++] : void 0; + return a[r] = o, new We(e, i + 1, a) + }(e, p, l, u, h); + if (c && !h && 2 === p.length && tt(p[1 ^ f])) return p[1 ^ f]; + if (c && h && 1 === p.length && tt(h)) return h; + var b = e && e === this.ownerID, + _ = c ? h ? l : l ^ s : l | s, + w = c ? h ? st(p, f, h, b) : function(e, t, n) { + var r = e.length - 1; + if (n && t === r) return e.pop(), e; + for (var o = new Array(r), i = 0, a = 0; a < r; a++) a === t && (i = 1), o[a] = e[a + i]; + return o + }(p, f, b) : function(e, t, n, r) { + var o = e.length + 1; + if (r && t + 1 === o) return e[t] = n, e; + for (var i = new Array(o), a = 0, u = 0; u < o; u++) u === t ? (i[u] = n, a = -1) : i[u] = e[u + a]; + return i + }(p, f, h, b); + return b ? (this.bitmap = _, this.nodes = w, this) : new He(e, _, w) + }, We.prototype.get = function(e, t, n, r) { + void 0 === t && (t = Ce(n)); + var o = (0 === e ? t : t >>> e) & g, + i = this.nodes[o]; + return i ? i.get(e + v, t, n, r) : r + }, We.prototype.update = function(e, t, n, r, o, i, a) { + void 0 === n && (n = Ce(r)); + var u = (0 === t ? n : n >>> t) & g, + s = o === y, + l = this.nodes, + c = l[u]; + if (s && !c) return this; + var f = et(c, e, t + v, n, r, o, i, a); + if (f === c) return this; + var p = this.count; + if (c) { + if (!f && --p < ft) return function(e, t, n, r) { + for (var o = 0, i = 0, a = new Array(n), u = 0, s = 1, l = t.length; u < l; u++, s <<= 1) { + var c = t[u]; + void 0 !== c && u !== r && (o |= s, a[i++] = c) + } + return new He(e, o, a) + }(e, l, p, u) + } else p++; + var d = e && e === this.ownerID, + h = st(l, u, f, d); + return d ? (this.count = p, this.nodes = h, this) : new We(e, p, h) + }, Je.prototype.get = function(e, t, n, r) { + for (var o = this.entries, i = 0, a = o.length; i < a; i++) + if (he(n, o[i][0])) return o[i][1]; + return r + }, Je.prototype.update = function(e, t, n, r, o, i, a) { + void 0 === n && (n = Ce(r)); + var u = o === y; + if (n !== this.keyHash) return u ? this : (E(a), E(i), nt(this, e, t, n, [r, o])); + for (var s = this.entries, l = 0, c = s.length; l < c && !he(r, s[l][0]); l++); + var f = l < c; + if (f ? s[l][1] === o : u) return this; + if (E(a), (u || !f) && E(i), u && 2 === c) return new Ye(e, this.keyHash, s[1 ^ l]); + var p = e && e === this.ownerID, + d = p ? s : S(s); + return f ? u ? l === c - 1 ? d.pop() : d[l] = d.pop() : d[l] = [r, o] : d.push([r, o]), p ? (this.entries = d, this) : new Je(e, this.keyHash, d) + }, Ye.prototype.get = function(e, t, n, r) { + return he(n, this.entry[0]) ? this.entry[1] : r + }, Ye.prototype.update = function(e, t, n, r, o, i, a) { + var u = o === y, + s = he(r, this.entry[0]); + return (s ? o === this.entry[1] : u) ? this : (E(a), u ? void E(i) : s ? e && e === this.ownerID ? (this.entry[1] = o, this) : new Ye(e, this.keyHash, [r, o]) : (E(i), nt(this, e, t, Ce(r), [r, o]))) + }, Ve.prototype.iterate = Je.prototype.iterate = function(e, t) { + for (var n = this.entries, r = 0, o = n.length - 1; r <= o; r++) + if (!1 === e(n[t ? o - r : r])) return !1 + }, He.prototype.iterate = We.prototype.iterate = function(e, t) { + for (var n = this.nodes, r = 0, o = n.length - 1; r <= o; r++) { + var i = n[t ? o - r : r]; + if (i && !1 === i.iterate(e, t)) return !1 + } + }, Ye.prototype.iterate = function(e, t) { + return e(this.entry) + }, t(Ke, U), Ke.prototype.next = function() { + for (var e = this._type, t = this._stack; t;) { + var n, r = t.node, + o = t.index++; + if (r.entry) { + if (0 === o) return Ge(e, r.entry) + } else if (r.entries) { + if (o <= (n = r.entries.length - 1)) return Ge(e, r.entries[this._reverse ? n - o : o]) + } else if (o <= (n = r.nodes.length - 1)) { + var i = r.nodes[this._reverse ? n - o : o]; + if (i) { + if (i.entry) return Ge(e, i.entry); + t = this._stack = $e(i, t) + } + continue + } + t = this._stack = this._stack.__prev + } + return { + value: void 0, + done: !0 + } + }; + var lt = m / 4, + ct = m / 2, + ft = m / 4; + + function pt(e) { + var t = Et(); + if (null === e || void 0 === e) return t; + if (dt(e)) return e; + var n = o(e), + r = n.size; + return 0 === r ? t : (Le(r), r > 0 && r < m ? wt(0, r, v, null, new mt(n.toArray())) : t.withMutations(function(e) { + e.setSize(r), n.forEach(function(t, n) { + return e.set(n, t) + }) + })) + } + + function dt(e) { + return !(!e || !e[ht]) + } + t(pt, we), pt.of = function() { + return this(arguments) + }, pt.prototype.toString = function() { + return this.__toString("List [", "]") + }, pt.prototype.get = function(e, t) { + if ((e = k(this, e)) >= 0 && e < this.size) { + var n = Ct(this, e += this._origin); + return n && n.array[e & g] + } + return t + }, pt.prototype.set = function(e, t) { + return function(e, t, n) { + if ((t = k(e, t)) != t) return e; + if (t >= e.size || t < 0) return e.withMutations(function(e) { + t < 0 ? kt(e, t).set(0, n) : kt(e, 0, t + 1).set(t, n) + }); + t += e._origin; + var r = e._tail, + o = e._root, + i = w(_); + t >= Ot(e._capacity) ? r = xt(r, e.__ownerID, 0, t, n, i) : o = xt(o, e.__ownerID, e._level, t, n, i); + if (!i.value) return e; + if (e.__ownerID) return e._root = o, e._tail = r, e.__hash = void 0, e.__altered = !0, e; + return wt(e._origin, e._capacity, e._level, o, r) + }(this, e, t) + }, pt.prototype.remove = function(e) { + return this.has(e) ? 0 === e ? this.shift() : e === this.size - 1 ? this.pop() : this.splice(e, 1) : this + }, pt.prototype.insert = function(e, t) { + return this.splice(e, 0, t) + }, pt.prototype.clear = function() { + return 0 === this.size ? this : this.__ownerID ? (this.size = this._origin = this._capacity = 0, this._level = v, this._root = this._tail = null, this.__hash = void 0, this.__altered = !0, this) : Et() + }, pt.prototype.push = function() { + var e = arguments, + t = this.size; + return this.withMutations(function(n) { + kt(n, 0, t + e.length); + for (var r = 0; r < e.length; r++) n.set(t + r, e[r]) + }) + }, pt.prototype.pop = function() { + return kt(this, 0, -1) + }, pt.prototype.unshift = function() { + var e = arguments; + return this.withMutations(function(t) { + kt(t, -e.length); + for (var n = 0; n < e.length; n++) t.set(n, e[n]) + }) + }, pt.prototype.shift = function() { + return kt(this, 1) + }, pt.prototype.merge = function() { + return At(this, void 0, arguments) + }, pt.prototype.mergeWith = function(t) { + return At(this, t, e.call(arguments, 1)) + }, pt.prototype.mergeDeep = function() { + return At(this, ot, arguments) + }, pt.prototype.mergeDeepWith = function(t) { + var n = e.call(arguments, 1); + return At(this, it(t), n) + }, pt.prototype.setSize = function(e) { + return kt(this, 0, e) + }, pt.prototype.slice = function(e, t) { + var n = this.size; + return O(e, t, n) ? this : kt(this, P(e, n), T(t, n)) + }, pt.prototype.__iterator = function(e, t) { + var n = 0, + r = _t(this, t); + return new U(function() { + var t = r(); + return t === bt ? { + value: void 0, + done: !0 + } : q(e, n++, t) + }) + }, pt.prototype.__iterate = function(e, t) { + for (var n, r = 0, o = _t(this, t); + (n = o()) !== bt && !1 !== e(n, r++, this);); + return r + }, pt.prototype.__ensureOwner = function(e) { + return e === this.__ownerID ? this : e ? wt(this._origin, this._capacity, this._level, this._root, this._tail, e, this.__hash) : (this.__ownerID = e, this) + }, pt.isList = dt; + var ht = "@@__IMMUTABLE_LIST__@@", + vt = pt.prototype; + + function mt(e, t) { + this.array = e, this.ownerID = t + } + vt[ht] = !0, vt.delete = vt.remove, vt.setIn = Be.setIn, vt.deleteIn = vt.removeIn = Be.removeIn, vt.update = Be.update, vt.updateIn = Be.updateIn, vt.mergeIn = Be.mergeIn, vt.mergeDeepIn = Be.mergeDeepIn, vt.withMutations = Be.withMutations, vt.asMutable = Be.asMutable, vt.asImmutable = Be.asImmutable, vt.wasAltered = Be.wasAltered, mt.prototype.removeBefore = function(e, t, n) { + if (n === t ? 1 << t : 0 === this.array.length) return this; + var r = n >>> t & g; + if (r >= this.array.length) return new mt([], e); + var o, i = 0 === r; + if (t > 0) { + var a = this.array[r]; + if ((o = a && a.removeBefore(e, t - v, n)) === a && i) return this + } + if (i && !o) return this; + var u = St(this, e); + if (!i) + for (var s = 0; s < r; s++) u.array[s] = void 0; + return o && (u.array[r] = o), u + }, mt.prototype.removeAfter = function(e, t, n) { + if (n === (t ? 1 << t : 0) || 0 === this.array.length) return this; + var r, o = n - 1 >>> t & g; + if (o >= this.array.length) return this; + if (t > 0) { + var i = this.array[o]; + if ((r = i && i.removeAfter(e, t - v, n)) === i && o === this.array.length - 1) return this + } + var a = St(this, e); + return a.array.splice(o + 1), r && (a.array[o] = r), a + }; + var gt, yt, bt = {}; + + function _t(e, t) { + var n = e._origin, + r = e._capacity, + o = Ot(r), + i = e._tail; + return a(e._root, e._level, 0); + + function a(e, u, s) { + return 0 === u ? function(e, a) { + var u = a === o ? i && i.array : e && e.array, + s = a > n ? 0 : n - a, + l = r - a; + l > m && (l = m); + return function() { + if (s === l) return bt; + var e = t ? --l : s++; + return u && u[e] + } + }(e, s) : function(e, o, i) { + var u, s = e && e.array, + l = i > n ? 0 : n - i >> o, + c = 1 + (r - i >> o); + c > m && (c = m); + return function() { + for (;;) { + if (u) { + var e = u(); + if (e !== bt) return e; + u = null + } + if (l === c) return bt; + var n = t ? --c : l++; + u = a(s && s[n], o - v, i + (n << o)) + } + } + }(e, u, s) + } + } + + function wt(e, t, n, r, o, i, a) { + var u = Object.create(vt); + return u.size = t - e, u._origin = e, u._capacity = t, u._level = n, u._root = r, u._tail = o, u.__ownerID = i, u.__hash = a, u.__altered = !1, u + } + + function Et() { + return gt || (gt = wt(0, 0, v)) + } + + function xt(e, t, n, r, o, i) { + var a, u = r >>> n & g, + s = e && u < e.array.length; + if (!s && void 0 === o) return e; + if (n > 0) { + var l = e && e.array[u], + c = xt(l, t, n - v, r, o, i); + return c === l ? e : ((a = St(e, t)).array[u] = c, a) + } + return s && e.array[u] === o ? e : (E(i), a = St(e, t), void 0 === o && u === a.array.length - 1 ? a.array.pop() : a.array[u] = o, a) + } + + function St(e, t) { + return t && e && t === e.ownerID ? e : new mt(e ? e.array.slice() : [], t) + } + + function Ct(e, t) { + if (t >= Ot(e._capacity)) return e._tail; + if (t < 1 << e._level + v) { + for (var n = e._root, r = e._level; n && r > 0;) n = n.array[t >>> r & g], r -= v; + return n + } + } + + function kt(e, t, n) { + void 0 !== t && (t |= 0), void 0 !== n && (n |= 0); + var r = e.__ownerID || new x, + o = e._origin, + i = e._capacity, + a = o + t, + u = void 0 === n ? i : n < 0 ? i + n : o + n; + if (a === o && u === i) return e; + if (a >= u) return e.clear(); + for (var s = e._level, l = e._root, c = 0; a + c < 0;) l = new mt(l && l.array.length ? [void 0, l] : [], r), c += 1 << (s += v); + c && (a += c, o += c, u += c, i += c); + for (var f = Ot(i), p = Ot(u); p >= 1 << s + v;) l = new mt(l && l.array.length ? [l] : [], r), s += v; + var d = e._tail, + h = p < f ? Ct(e, u - 1) : p > f ? new mt([], r) : d; + if (d && p > f && a < i && d.array.length) { + for (var m = l = St(l, r), y = s; y > v; y -= v) { + var b = f >>> y & g; + m = m.array[b] = St(m.array[b], r) + } + m.array[f >>> v & g] = d + } + if (u < i && (h = h && h.removeAfter(r, 0, u)), a >= p) a -= p, u -= p, s = v, l = null, h = h && h.removeBefore(r, 0, a); + else if (a > o || p < f) { + for (c = 0; l;) { + var _ = a >>> s & g; + if (_ !== p >>> s & g) break; + _ && (c += (1 << s) * _), s -= v, l = l.array[_] + } + l && a > o && (l = l.removeBefore(r, s, a - c)), l && p < f && (l = l.removeAfter(r, s, p - c)), c && (a -= c, u -= c) + } + return e.__ownerID ? (e.size = u - a, e._origin = a, e._capacity = u, e._level = s, e._root = l, e._tail = h, e.__hash = void 0, e.__altered = !0, e) : wt(a, u, s, l, h) + } + + function At(e, t, n) { + for (var r = [], i = 0, u = 0; u < n.length; u++) { + var s = n[u], + l = o(s); + l.size > i && (i = l.size), a(s) || (l = l.map(function(e) { + return fe(e) + })), r.push(l) + } + return i > e.size && (e = e.setSize(i)), at(e, t, r) + } + + function Ot(e) { + return e < m ? 0 : e - 1 >>> v << v + } + + function Pt(e) { + return null === e || void 0 === e ? It() : Tt(e) ? e : It().withMutations(function(t) { + var n = r(e); + Le(n.size), n.forEach(function(e, n) { + return t.set(n, e) + }) + }) + } + + function Tt(e) { + return qe(e) && c(e) + } + + function Mt(e, t, n, r) { + var o = Object.create(Pt.prototype); + return o.size = e ? e.size : 0, o._map = e, o._list = t, o.__ownerID = n, o.__hash = r, o + } + + function It() { + return yt || (yt = Mt(Xe(), Et())) + } + + function jt(e, t, n) { + var r, o, i = e._map, + a = e._list, + u = i.get(t), + s = void 0 !== u; + if (n === y) { + if (!s) return e; + a.size >= m && a.size >= 2 * i.size ? (r = (o = a.filter(function(e, t) { + return void 0 !== e && u !== t + })).toKeyedSeq().map(function(e) { + return e[0] + }).flip().toMap(), e.__ownerID && (r.__ownerID = o.__ownerID = e.__ownerID)) : (r = i.remove(t), o = u === a.size - 1 ? a.pop() : a.set(u, void 0)) + } else if (s) { + if (n === a.get(u)[1]) return e; + r = i, o = a.set(u, [t, n]) + } else r = i.set(t, a.size), o = a.set(a.size, [t, n]); + return e.__ownerID ? (e.size = r.size, e._map = r, e._list = o, e.__hash = void 0, e) : Mt(r, o) + } + + function Nt(e, t) { + this._iter = e, this._useKeys = t, this.size = e.size + } + + function Rt(e) { + this._iter = e, this.size = e.size + } + + function Dt(e) { + this._iter = e, this.size = e.size + } + + function Lt(e) { + this._iter = e, this.size = e.size + } + + function Ut(e) { + var t = Qt(e); + return t._iter = e, t.size = e.size, t.flip = function() { + return e + }, t.reverse = function() { + var t = e.reverse.apply(this); + return t.flip = function() { + return e.reverse() + }, t + }, t.has = function(t) { + return e.includes(t) + }, t.includes = function(t) { + return e.has(t) + }, t.cacheResult = en, t.__iterateUncached = function(t, n) { + var r = this; + return e.__iterate(function(e, n) { + return !1 !== t(n, e, r) + }, n) + }, t.__iteratorUncached = function(t, n) { + if (t === N) { + var r = e.__iterator(t, n); + return new U(function() { + var e = r.next(); + if (!e.done) { + var t = e.value[0]; + e.value[0] = e.value[1], e.value[1] = t + } + return e + }) + } + return e.__iterator(t === j ? I : j, n) + }, t + } + + function qt(e, t, n) { + var r = Qt(e); + return r.size = e.size, r.has = function(t) { + return e.has(t) + }, r.get = function(r, o) { + var i = e.get(r, y); + return i === y ? o : t.call(n, i, r, e) + }, r.__iterateUncached = function(r, o) { + var i = this; + return e.__iterate(function(e, o, a) { + return !1 !== r(t.call(n, e, o, a), o, i) + }, o) + }, r.__iteratorUncached = function(r, o) { + var i = e.__iterator(N, o); + return new U(function() { + var o = i.next(); + if (o.done) return o; + var a = o.value, + u = a[0]; + return q(r, u, t.call(n, a[1], u, e), o) + }) + }, r + } + + function Ft(e, t) { + var n = Qt(e); + return n._iter = e, n.size = e.size, n.reverse = function() { + return e + }, e.flip && (n.flip = function() { + var t = Ut(e); + return t.reverse = function() { + return e.flip() + }, t + }), n.get = function(n, r) { + return e.get(t ? n : -1 - n, r) + }, n.has = function(n) { + return e.has(t ? n : -1 - n) + }, n.includes = function(t) { + return e.includes(t) + }, n.cacheResult = en, n.__iterate = function(t, n) { + var r = this; + return e.__iterate(function(e, n) { + return t(e, n, r) + }, !n) + }, n.__iterator = function(t, n) { + return e.__iterator(t, !n) + }, n + } + + function zt(e, t, n, r) { + var o = Qt(e); + return r && (o.has = function(r) { + var o = e.get(r, y); + return o !== y && !!t.call(n, o, r, e) + }, o.get = function(r, o) { + var i = e.get(r, y); + return i !== y && t.call(n, i, r, e) ? i : o + }), o.__iterateUncached = function(o, i) { + var a = this, + u = 0; + return e.__iterate(function(e, i, s) { + if (t.call(n, e, i, s)) return u++, o(e, r ? i : u - 1, a) + }, i), u + }, o.__iteratorUncached = function(o, i) { + var a = e.__iterator(N, i), + u = 0; + return new U(function() { + for (;;) { + var i = a.next(); + if (i.done) return i; + var s = i.value, + l = s[0], + c = s[1]; + if (t.call(n, c, l, e)) return q(o, r ? l : u++, c, i) + } + }) + }, o + } + + function Bt(e, t, n, r) { + var o = e.size; + if (void 0 !== t && (t |= 0), void 0 !== n && (n === 1 / 0 ? n = o : n |= 0), O(t, n, o)) return e; + var i = P(t, o), + a = T(n, o); + if (i != i || a != a) return Bt(e.toSeq().cacheResult(), t, n, r); + var u, s = a - i; + s == s && (u = s < 0 ? 0 : s); + var l = Qt(e); + return l.size = 0 === u ? u : e.size && u || void 0, !r && oe(e) && u >= 0 && (l.get = function(t, n) { + return (t = k(this, t)) >= 0 && t < u ? e.get(t + i, n) : n + }), l.__iterateUncached = function(t, n) { + var o = this; + if (0 === u) return 0; + if (n) return this.cacheResult().__iterate(t, n); + var a = 0, + s = !0, + l = 0; + return e.__iterate(function(e, n) { + if (!s || !(s = a++ < i)) return l++, !1 !== t(e, r ? n : l - 1, o) && l !== u + }), l + }, l.__iteratorUncached = function(t, n) { + if (0 !== u && n) return this.cacheResult().__iterator(t, n); + var o = 0 !== u && e.__iterator(t, n), + a = 0, + s = 0; + return new U(function() { + for (; a++ < i;) o.next(); + if (++s > u) return { + value: void 0, + done: !0 + }; + var e = o.next(); + return r || t === j ? e : q(t, s - 1, t === I ? void 0 : e.value[1], e) + }) + }, l + } + + function Vt(e, t, n, r) { + var o = Qt(e); + return o.__iterateUncached = function(o, i) { + var a = this; + if (i) return this.cacheResult().__iterate(o, i); + var u = !0, + s = 0; + return e.__iterate(function(e, i, l) { + if (!u || !(u = t.call(n, e, i, l))) return s++, o(e, r ? i : s - 1, a) + }), s + }, o.__iteratorUncached = function(o, i) { + var a = this; + if (i) return this.cacheResult().__iterator(o, i); + var u = e.__iterator(N, i), + s = !0, + l = 0; + return new U(function() { + var e, i, c; + do { + if ((e = u.next()).done) return r || o === j ? e : q(o, l++, o === I ? void 0 : e.value[1], e); + var f = e.value; + i = f[0], c = f[1], s && (s = t.call(n, c, i, a)) + } while (s); + return o === N ? e : q(o, i, c, e) + }) + }, o + } + + function Ht(e, t, n) { + var r = Qt(e); + return r.__iterateUncached = function(r, o) { + var i = 0, + u = !1; + return function e(s, l) { + var c = this; + s.__iterate(function(o, s) { + return (!t || l < t) && a(o) ? e(o, l + 1) : !1 === r(o, n ? s : i++, c) && (u = !0), !u + }, o) + }(e, 0), i + }, r.__iteratorUncached = function(r, o) { + var i = e.__iterator(r, o), + u = [], + s = 0; + return new U(function() { + for (; i;) { + var e = i.next(); + if (!1 === e.done) { + var l = e.value; + if (r === N && (l = l[1]), t && !(u.length < t) || !a(l)) return n ? e : q(r, s++, l, e); + u.push(i), i = l.__iterator(r, o) + } else i = u.pop() + } + return { + value: void 0, + done: !0 + } + }) + }, r + } + + function Wt(e, t, n) { + t || (t = tn); + var r = u(e), + o = 0, + i = e.toSeq().map(function(t, r) { + return [r, t, o++, n ? n(t, r, e) : t] + }).toArray(); + return i.sort(function(e, n) { + return t(e[3], n[3]) || e[2] - n[2] + }).forEach(r ? function(e, t) { + i[t].length = 2 + } : function(e, t) { + i[t] = e[1] + }), r ? Y(i) : s(e) ? K(i) : G(i) + } + + function Jt(e, t, n) { + if (t || (t = tn), n) { + var r = e.toSeq().map(function(t, r) { + return [t, n(t, r, e)] + }).reduce(function(e, n) { + return Yt(t, e[1], n[1]) ? n : e + }); + return r && r[0] + } + return e.reduce(function(e, n) { + return Yt(t, e, n) ? n : e + }) + } + + function Yt(e, t, n) { + var r = e(n, t); + return 0 === r && n !== t && (void 0 === n || null === n || n != n) || r > 0 + } + + function Kt(e, t, r) { + var o = Qt(e); + return o.size = new ee(r).map(function(e) { + return e.size + }).min(), o.__iterate = function(e, t) { + for (var n, r = this.__iterator(j, t), o = 0; !(n = r.next()).done && !1 !== e(n.value, o++, this);); + return o + }, o.__iteratorUncached = function(e, o) { + var i = r.map(function(e) { + return e = n(e), V(o ? e.reverse() : e) + }), + a = 0, + u = !1; + return new U(function() { + var n; + return u || (n = i.map(function(e) { + return e.next() + }), u = n.some(function(e) { + return e.done + })), u ? { + value: void 0, + done: !0 + } : q(e, a++, t.apply(null, n.map(function(e) { + return e.value + }))) + }) + }, o + } + + function Gt(e, t) { + return oe(e) ? t : e.constructor(t) + } + + function $t(e) { + if (e !== Object(e)) throw new TypeError("Expected [K, V] tuple: " + e) + } + + function Zt(e) { + return Le(e.size), C(e) + } + + function Xt(e) { + return u(e) ? r : s(e) ? o : i + } + + function Qt(e) { + return Object.create((u(e) ? Y : s(e) ? K : G).prototype) + } + + function en() { + return this._iter.cacheResult ? (this._iter.cacheResult(), this.size = this._iter.size, this) : J.prototype.cacheResult.call(this) + } + + function tn(e, t) { + return e > t ? 1 : e < t ? -1 : 0 + } + + function nn(e) { + var t = V(e); + if (!t) { + if (!W(e)) throw new TypeError("Expected iterable or array-like: " + e); + t = V(n(e)) + } + return t + } + + function rn(e, t) { + var n, r = function(i) { + if (i instanceof r) return i; + if (!(this instanceof r)) return new r(i); + if (!n) { + n = !0; + var a = Object.keys(e); + ! function(e, t) { + try { + t.forEach(function(e, t) { + Object.defineProperty(e, t, { + get: function() { + return this.get(t) + }, + set: function(e) { + ge(this.__ownerID, "Cannot set on an immutable record."), this.set(t, e) + } + }) + }.bind(void 0, e)) + } catch (e) {} + }(o, a), o.size = a.length, o._name = t, o._keys = a, o._defaultValues = e + } + this._map = Ue(i) + }, + o = r.prototype = Object.create(on); + return o.constructor = r, r + } + t(Pt, Ue), Pt.of = function() { + return this(arguments) + }, Pt.prototype.toString = function() { + return this.__toString("OrderedMap {", "}") + }, Pt.prototype.get = function(e, t) { + var n = this._map.get(e); + return void 0 !== n ? this._list.get(n)[1] : t + }, Pt.prototype.clear = function() { + return 0 === this.size ? this : this.__ownerID ? (this.size = 0, this._map.clear(), this._list.clear(), this) : It() + }, Pt.prototype.set = function(e, t) { + return jt(this, e, t) + }, Pt.prototype.remove = function(e) { + return jt(this, e, y) + }, Pt.prototype.wasAltered = function() { + return this._map.wasAltered() || this._list.wasAltered() + }, Pt.prototype.__iterate = function(e, t) { + var n = this; + return this._list.__iterate(function(t) { + return t && e(t[1], t[0], n) + }, t) + }, Pt.prototype.__iterator = function(e, t) { + return this._list.fromEntrySeq().__iterator(e, t) + }, Pt.prototype.__ensureOwner = function(e) { + if (e === this.__ownerID) return this; + var t = this._map.__ensureOwner(e), + n = this._list.__ensureOwner(e); + return e ? Mt(t, n, e, this.__hash) : (this.__ownerID = e, this._map = t, this._list = n, this) + }, Pt.isOrderedMap = Tt, Pt.prototype[h] = !0, Pt.prototype.delete = Pt.prototype.remove, t(Nt, Y), Nt.prototype.get = function(e, t) { + return this._iter.get(e, t) + }, Nt.prototype.has = function(e) { + return this._iter.has(e) + }, Nt.prototype.valueSeq = function() { + return this._iter.valueSeq() + }, Nt.prototype.reverse = function() { + var e = this, + t = Ft(this, !0); + return this._useKeys || (t.valueSeq = function() { + return e._iter.toSeq().reverse() + }), t + }, Nt.prototype.map = function(e, t) { + var n = this, + r = qt(this, e, t); + return this._useKeys || (r.valueSeq = function() { + return n._iter.toSeq().map(e, t) + }), r + }, Nt.prototype.__iterate = function(e, t) { + var n, r = this; + return this._iter.__iterate(this._useKeys ? function(t, n) { + return e(t, n, r) + } : (n = t ? Zt(this) : 0, function(o) { + return e(o, t ? --n : n++, r) + }), t) + }, Nt.prototype.__iterator = function(e, t) { + if (this._useKeys) return this._iter.__iterator(e, t); + var n = this._iter.__iterator(j, t), + r = t ? Zt(this) : 0; + return new U(function() { + var o = n.next(); + return o.done ? o : q(e, t ? --r : r++, o.value, o) + }) + }, Nt.prototype[h] = !0, t(Rt, K), Rt.prototype.includes = function(e) { + return this._iter.includes(e) + }, Rt.prototype.__iterate = function(e, t) { + var n = this, + r = 0; + return this._iter.__iterate(function(t) { + return e(t, r++, n) + }, t) + }, Rt.prototype.__iterator = function(e, t) { + var n = this._iter.__iterator(j, t), + r = 0; + return new U(function() { + var t = n.next(); + return t.done ? t : q(e, r++, t.value, t) + }) + }, t(Dt, G), Dt.prototype.has = function(e) { + return this._iter.includes(e) + }, Dt.prototype.__iterate = function(e, t) { + var n = this; + return this._iter.__iterate(function(t) { + return e(t, t, n) + }, t) + }, Dt.prototype.__iterator = function(e, t) { + var n = this._iter.__iterator(j, t); + return new U(function() { + var t = n.next(); + return t.done ? t : q(e, t.value, t.value, t) + }) + }, t(Lt, Y), Lt.prototype.entrySeq = function() { + return this._iter.toSeq() + }, Lt.prototype.__iterate = function(e, t) { + var n = this; + return this._iter.__iterate(function(t) { + if (t) { + $t(t); + var r = a(t); + return e(r ? t.get(1) : t[1], r ? t.get(0) : t[0], n) + } + }, t) + }, Lt.prototype.__iterator = function(e, t) { + var n = this._iter.__iterator(j, t); + return new U(function() { + for (;;) { + var t = n.next(); + if (t.done) return t; + var r = t.value; + if (r) { + $t(r); + var o = a(r); + return q(e, o ? r.get(0) : r[0], o ? r.get(1) : r[1], t) + } + } + }) + }, Rt.prototype.cacheResult = Nt.prototype.cacheResult = Dt.prototype.cacheResult = Lt.prototype.cacheResult = en, t(rn, _e), rn.prototype.toString = function() { + return this.__toString(un(this) + " {", "}") + }, rn.prototype.has = function(e) { + return this._defaultValues.hasOwnProperty(e) + }, rn.prototype.get = function(e, t) { + if (!this.has(e)) return t; + var n = this._defaultValues[e]; + return this._map ? this._map.get(e, n) : n + }, rn.prototype.clear = function() { + if (this.__ownerID) return this._map && this._map.clear(), this; + var e = this.constructor; + return e._empty || (e._empty = an(this, Xe())) + }, rn.prototype.set = function(e, t) { + if (!this.has(e)) throw new Error('Cannot set unknown key "' + e + '" on ' + un(this)); + if (this._map && !this._map.has(e) && t === this._defaultValues[e]) return this; + var n = this._map && this._map.set(e, t); + return this.__ownerID || n === this._map ? this : an(this, n) + }, rn.prototype.remove = function(e) { + if (!this.has(e)) return this; + var t = this._map && this._map.remove(e); + return this.__ownerID || t === this._map ? this : an(this, t) + }, rn.prototype.wasAltered = function() { + return this._map.wasAltered() + }, rn.prototype.__iterator = function(e, t) { + var n = this; + return r(this._defaultValues).map(function(e, t) { + return n.get(t) + }).__iterator(e, t) + }, rn.prototype.__iterate = function(e, t) { + var n = this; + return r(this._defaultValues).map(function(e, t) { + return n.get(t) + }).__iterate(e, t) + }, rn.prototype.__ensureOwner = function(e) { + if (e === this.__ownerID) return this; + var t = this._map && this._map.__ensureOwner(e); + return e ? an(this, t, e) : (this.__ownerID = e, this._map = t, this) + }; + var on = rn.prototype; + + function an(e, t, n) { + var r = Object.create(Object.getPrototypeOf(e)); + return r._map = t, r.__ownerID = n, r + } + + function un(e) { + return e._name || e.constructor.name || "Record" + } + + function sn(e) { + return null === e || void 0 === e ? vn() : ln(e) && !c(e) ? e : vn().withMutations(function(t) { + var n = i(e); + Le(n.size), n.forEach(function(e) { + return t.add(e) + }) + }) + } + + function ln(e) { + return !(!e || !e[fn]) + } + on.delete = on.remove, on.deleteIn = on.removeIn = Be.removeIn, on.merge = Be.merge, on.mergeWith = Be.mergeWith, on.mergeIn = Be.mergeIn, on.mergeDeep = Be.mergeDeep, on.mergeDeepWith = Be.mergeDeepWith, on.mergeDeepIn = Be.mergeDeepIn, on.setIn = Be.setIn, on.update = Be.update, on.updateIn = Be.updateIn, on.withMutations = Be.withMutations, on.asMutable = Be.asMutable, on.asImmutable = Be.asImmutable, t(sn, Ee), sn.of = function() { + return this(arguments) + }, sn.fromKeys = function(e) { + return this(r(e).keySeq()) + }, sn.prototype.toString = function() { + return this.__toString("Set {", "}") + }, sn.prototype.has = function(e) { + return this._map.has(e) + }, sn.prototype.add = function(e) { + return dn(this, this._map.set(e, !0)) + }, sn.prototype.remove = function(e) { + return dn(this, this._map.remove(e)) + }, sn.prototype.clear = function() { + return dn(this, this._map.clear()) + }, sn.prototype.union = function() { + var t = e.call(arguments, 0); + return 0 === (t = t.filter(function(e) { + return 0 !== e.size + })).length ? this : 0 !== this.size || this.__ownerID || 1 !== t.length ? this.withMutations(function(e) { + for (var n = 0; n < t.length; n++) i(t[n]).forEach(function(t) { + return e.add(t) + }) + }) : this.constructor(t[0]) + }, sn.prototype.intersect = function() { + var t = e.call(arguments, 0); + if (0 === t.length) return this; + t = t.map(function(e) { + return i(e) + }); + var n = this; + return this.withMutations(function(e) { + n.forEach(function(n) { + t.every(function(e) { + return e.includes(n) + }) || e.remove(n) + }) + }) + }, sn.prototype.subtract = function() { + var t = e.call(arguments, 0); + if (0 === t.length) return this; + t = t.map(function(e) { + return i(e) + }); + var n = this; + return this.withMutations(function(e) { + n.forEach(function(n) { + t.some(function(e) { + return e.includes(n) + }) && e.remove(n) + }) + }) + }, sn.prototype.merge = function() { + return this.union.apply(this, arguments) + }, sn.prototype.mergeWith = function(t) { + var n = e.call(arguments, 1); + return this.union.apply(this, n) + }, sn.prototype.sort = function(e) { + return mn(Wt(this, e)) + }, sn.prototype.sortBy = function(e, t) { + return mn(Wt(this, t, e)) + }, sn.prototype.wasAltered = function() { + return this._map.wasAltered() + }, sn.prototype.__iterate = function(e, t) { + var n = this; + return this._map.__iterate(function(t, r) { + return e(r, r, n) + }, t) + }, sn.prototype.__iterator = function(e, t) { + return this._map.map(function(e, t) { + return t + }).__iterator(e, t) + }, sn.prototype.__ensureOwner = function(e) { + if (e === this.__ownerID) return this; + var t = this._map.__ensureOwner(e); + return e ? this.__make(t, e) : (this.__ownerID = e, this._map = t, this) + }, sn.isSet = ln; + var cn, fn = "@@__IMMUTABLE_SET__@@", + pn = sn.prototype; + + function dn(e, t) { + return e.__ownerID ? (e.size = t.size, e._map = t, e) : t === e._map ? e : 0 === t.size ? e.__empty() : e.__make(t) + } + + function hn(e, t) { + var n = Object.create(pn); + return n.size = e ? e.size : 0, n._map = e, n.__ownerID = t, n + } + + function vn() { + return cn || (cn = hn(Xe())) + } + + function mn(e) { + return null === e || void 0 === e ? wn() : gn(e) ? e : wn().withMutations(function(t) { + var n = i(e); + Le(n.size), n.forEach(function(e) { + return t.add(e) + }) + }) + } + + function gn(e) { + return ln(e) && c(e) + } + pn[fn] = !0, pn.delete = pn.remove, pn.mergeDeep = pn.merge, pn.mergeDeepWith = pn.mergeWith, pn.withMutations = Be.withMutations, pn.asMutable = Be.asMutable, pn.asImmutable = Be.asImmutable, pn.__empty = vn, pn.__make = hn, t(mn, sn), mn.of = function() { + return this(arguments) + }, mn.fromKeys = function(e) { + return this(r(e).keySeq()) + }, mn.prototype.toString = function() { + return this.__toString("OrderedSet {", "}") + }, mn.isOrderedSet = gn; + var yn, bn = mn.prototype; + + function _n(e, t) { + var n = Object.create(bn); + return n.size = e ? e.size : 0, n._map = e, n.__ownerID = t, n + } + + function wn() { + return yn || (yn = _n(It())) + } + + function En(e) { + return null === e || void 0 === e ? On() : xn(e) ? e : On().unshiftAll(e) + } + + function xn(e) { + return !(!e || !e[Cn]) + } + bn[h] = !0, bn.__empty = wn, bn.__make = _n, t(En, we), En.of = function() { + return this(arguments) + }, En.prototype.toString = function() { + return this.__toString("Stack [", "]") + }, En.prototype.get = function(e, t) { + var n = this._head; + for (e = k(this, e); n && e--;) n = n.next; + return n ? n.value : t + }, En.prototype.peek = function() { + return this._head && this._head.value + }, En.prototype.push = function() { + if (0 === arguments.length) return this; + for (var e = this.size + arguments.length, t = this._head, n = arguments.length - 1; n >= 0; n--) t = { + value: arguments[n], + next: t + }; + return this.__ownerID ? (this.size = e, this._head = t, this.__hash = void 0, this.__altered = !0, this) : An(e, t) + }, En.prototype.pushAll = function(e) { + if (0 === (e = o(e)).size) return this; + Le(e.size); + var t = this.size, + n = this._head; + return e.reverse().forEach(function(e) { + t++, n = { + value: e, + next: n + } + }), this.__ownerID ? (this.size = t, this._head = n, this.__hash = void 0, this.__altered = !0, this) : An(t, n) + }, En.prototype.pop = function() { + return this.slice(1) + }, En.prototype.unshift = function() { + return this.push.apply(this, arguments) + }, En.prototype.unshiftAll = function(e) { + return this.pushAll(e) + }, En.prototype.shift = function() { + return this.pop.apply(this, arguments) + }, En.prototype.clear = function() { + return 0 === this.size ? this : this.__ownerID ? (this.size = 0, this._head = void 0, this.__hash = void 0, this.__altered = !0, this) : On() + }, En.prototype.slice = function(e, t) { + if (O(e, t, this.size)) return this; + var n = P(e, this.size); + if (T(t, this.size) !== this.size) return we.prototype.slice.call(this, e, t); + for (var r = this.size - n, o = this._head; n--;) o = o.next; + return this.__ownerID ? (this.size = r, this._head = o, this.__hash = void 0, this.__altered = !0, this) : An(r, o) + }, En.prototype.__ensureOwner = function(e) { + return e === this.__ownerID ? this : e ? An(this.size, this._head, e, this.__hash) : (this.__ownerID = e, this.__altered = !1, this) + }, En.prototype.__iterate = function(e, t) { + if (t) return this.reverse().__iterate(e); + for (var n = 0, r = this._head; r && !1 !== e(r.value, n++, this);) r = r.next; + return n + }, En.prototype.__iterator = function(e, t) { + if (t) return this.reverse().__iterator(e); + var n = 0, + r = this._head; + return new U(function() { + if (r) { + var t = r.value; + return r = r.next, q(e, n++, t) + } + return { + value: void 0, + done: !0 + } + }) + }, En.isStack = xn; + var Sn, Cn = "@@__IMMUTABLE_STACK__@@", + kn = En.prototype; + + function An(e, t, n, r) { + var o = Object.create(kn); + return o.size = e, o._head = t, o.__ownerID = n, o.__hash = r, o.__altered = !1, o + } + + function On() { + return Sn || (Sn = An(0)) + } + + function Pn(e, t) { + var n = function(n) { + e.prototype[n] = t[n] + }; + return Object.keys(t).forEach(n), Object.getOwnPropertySymbols && Object.getOwnPropertySymbols(t).forEach(n), e + } + kn[Cn] = !0, kn.withMutations = Be.withMutations, kn.asMutable = Be.asMutable, kn.asImmutable = Be.asImmutable, kn.wasAltered = Be.wasAltered, n.Iterator = U, Pn(n, { + toArray: function() { + Le(this.size); + var e = new Array(this.size || 0); + return this.valueSeq().__iterate(function(t, n) { + e[n] = t + }), e + }, + toIndexedSeq: function() { + return new Rt(this) + }, + toJS: function() { + return this.toSeq().map(function(e) { + return e && "function" == typeof e.toJS ? e.toJS() : e + }).__toJS() + }, + toJSON: function() { + return this.toSeq().map(function(e) { + return e && "function" == typeof e.toJSON ? e.toJSON() : e + }).__toJS() + }, + toKeyedSeq: function() { + return new Nt(this, !0) + }, + toMap: function() { + return Ue(this.toKeyedSeq()) + }, + toObject: function() { + Le(this.size); + var e = {}; + return this.__iterate(function(t, n) { + e[n] = t + }), e + }, + toOrderedMap: function() { + return Pt(this.toKeyedSeq()) + }, + toOrderedSet: function() { + return mn(u(this) ? this.valueSeq() : this) + }, + toSet: function() { + return sn(u(this) ? this.valueSeq() : this) + }, + toSetSeq: function() { + return new Dt(this) + }, + toSeq: function() { + return s(this) ? this.toIndexedSeq() : u(this) ? this.toKeyedSeq() : this.toSetSeq() + }, + toStack: function() { + return En(u(this) ? this.valueSeq() : this) + }, + toList: function() { + return pt(u(this) ? this.valueSeq() : this) + }, + toString: function() { + return "[Iterable]" + }, + __toString: function(e, t) { + return 0 === this.size ? e + t : e + " " + this.toSeq().map(this.__toStringMapper).join(", ") + " " + t + }, + concat: function() { + return Gt(this, function(e, t) { + var n = u(e), + o = [e].concat(t).map(function(e) { + return a(e) ? n && (e = r(e)) : e = n ? ae(e) : ue(Array.isArray(e) ? e : [e]), e + }).filter(function(e) { + return 0 !== e.size + }); + if (0 === o.length) return e; + if (1 === o.length) { + var i = o[0]; + if (i === e || n && u(i) || s(e) && s(i)) return i + } + var l = new ee(o); + return n ? l = l.toKeyedSeq() : s(e) || (l = l.toSetSeq()), (l = l.flatten(!0)).size = o.reduce(function(e, t) { + if (void 0 !== e) { + var n = t.size; + if (void 0 !== n) return e + n + } + }, 0), l + }(this, e.call(arguments, 0))) + }, + includes: function(e) { + return this.some(function(t) { + return he(t, e) + }) + }, + entries: function() { + return this.__iterator(N) + }, + every: function(e, t) { + Le(this.size); + var n = !0; + return this.__iterate(function(r, o, i) { + if (!e.call(t, r, o, i)) return n = !1, !1 + }), n + }, + filter: function(e, t) { + return Gt(this, zt(this, e, t, !0)) + }, + find: function(e, t, n) { + var r = this.findEntry(e, t); + return r ? r[1] : n + }, + forEach: function(e, t) { + return Le(this.size), this.__iterate(t ? e.bind(t) : e) + }, + join: function(e) { + Le(this.size), e = void 0 !== e ? "" + e : ","; + var t = "", + n = !0; + return this.__iterate(function(r) { + n ? n = !1 : t += e, t += null !== r && void 0 !== r ? r.toString() : "" + }), t + }, + keys: function() { + return this.__iterator(I) + }, + map: function(e, t) { + return Gt(this, qt(this, e, t)) + }, + reduce: function(e, t, n) { + var r, o; + return Le(this.size), arguments.length < 2 ? o = !0 : r = t, this.__iterate(function(t, i, a) { + o ? (o = !1, r = t) : r = e.call(n, r, t, i, a) + }), r + }, + reduceRight: function(e, t, n) { + var r = this.toKeyedSeq().reverse(); + return r.reduce.apply(r, arguments) + }, + reverse: function() { + return Gt(this, Ft(this, !0)) + }, + slice: function(e, t) { + return Gt(this, Bt(this, e, t, !0)) + }, + some: function(e, t) { + return !this.every(Nn(e), t) + }, + sort: function(e) { + return Gt(this, Wt(this, e)) + }, + values: function() { + return this.__iterator(j) + }, + butLast: function() { + return this.slice(0, -1) + }, + isEmpty: function() { + return void 0 !== this.size ? 0 === this.size : !this.some(function() { + return !0 + }) + }, + count: function(e, t) { + return C(e ? this.toSeq().filter(e, t) : this) + }, + countBy: function(e, t) { + return function(e, t, n) { + var r = Ue().asMutable(); + return e.__iterate(function(o, i) { + r.update(t.call(n, o, i, e), 0, function(e) { + return e + 1 + }) + }), r.asImmutable() + }(this, e, t) + }, + equals: function(e) { + return ve(this, e) + }, + entrySeq: function() { + var e = this; + if (e._cache) return new ee(e._cache); + var t = e.toSeq().map(jn).toIndexedSeq(); + return t.fromEntrySeq = function() { + return e.toSeq() + }, t + }, + filterNot: function(e, t) { + return this.filter(Nn(e), t) + }, + findEntry: function(e, t, n) { + var r = n; + return this.__iterate(function(n, o, i) { + if (e.call(t, n, o, i)) return r = [o, n], !1 + }), r + }, + findKey: function(e, t) { + var n = this.findEntry(e, t); + return n && n[0] + }, + findLast: function(e, t, n) { + return this.toKeyedSeq().reverse().find(e, t, n) + }, + findLastEntry: function(e, t, n) { + return this.toKeyedSeq().reverse().findEntry(e, t, n) + }, + findLastKey: function(e, t) { + return this.toKeyedSeq().reverse().findKey(e, t) + }, + first: function() { + return this.find(A) + }, + flatMap: function(e, t) { + return Gt(this, function(e, t, n) { + var r = Xt(e); + return e.toSeq().map(function(o, i) { + return r(t.call(n, o, i, e)) + }).flatten(!0) + }(this, e, t)) + }, + flatten: function(e) { + return Gt(this, Ht(this, e, !0)) + }, + fromEntrySeq: function() { + return new Lt(this) + }, + get: function(e, t) { + return this.find(function(t, n) { + return he(n, e) + }, void 0, t) + }, + getIn: function(e, t) { + for (var n, r = this, o = nn(e); !(n = o.next()).done;) { + var i = n.value; + if ((r = r && r.get ? r.get(i, y) : y) === y) return t + } + return r + }, + groupBy: function(e, t) { + return function(e, t, n) { + var r = u(e), + o = (c(e) ? Pt() : Ue()).asMutable(); + e.__iterate(function(i, a) { + o.update(t.call(n, i, a, e), function(e) { + return (e = e || []).push(r ? [a, i] : i), e + }) + }); + var i = Xt(e); + return o.map(function(t) { + return Gt(e, i(t)) + }) + }(this, e, t) + }, + has: function(e) { + return this.get(e, y) !== y + }, + hasIn: function(e) { + return this.getIn(e, y) !== y + }, + isSubset: function(e) { + return e = "function" == typeof e.includes ? e : n(e), this.every(function(t) { + return e.includes(t) + }) + }, + isSuperset: function(e) { + return (e = "function" == typeof e.isSubset ? e : n(e)).isSubset(this) + }, + keyOf: function(e) { + return this.findKey(function(t) { + return he(t, e) + }) + }, + keySeq: function() { + return this.toSeq().map(In).toIndexedSeq() + }, + last: function() { + return this.toSeq().reverse().first() + }, + lastKeyOf: function(e) { + return this.toKeyedSeq().reverse().keyOf(e) + }, + max: function(e) { + return Jt(this, e) + }, + maxBy: function(e, t) { + return Jt(this, t, e) + }, + min: function(e) { + return Jt(this, e ? Rn(e) : Un) + }, + minBy: function(e, t) { + return Jt(this, t ? Rn(t) : Un, e) + }, + rest: function() { + return this.slice(1) + }, + skip: function(e) { + return this.slice(Math.max(0, e)) + }, + skipLast: function(e) { + return Gt(this, this.toSeq().reverse().skip(e).reverse()) + }, + skipWhile: function(e, t) { + return Gt(this, Vt(this, e, t, !0)) + }, + skipUntil: function(e, t) { + return this.skipWhile(Nn(e), t) + }, + sortBy: function(e, t) { + return Gt(this, Wt(this, t, e)) + }, + take: function(e) { + return this.slice(0, Math.max(0, e)) + }, + takeLast: function(e) { + return Gt(this, this.toSeq().reverse().take(e).reverse()) + }, + takeWhile: function(e, t) { + return Gt(this, function(e, t, n) { + var r = Qt(e); + return r.__iterateUncached = function(r, o) { + var i = this; + if (o) return this.cacheResult().__iterate(r, o); + var a = 0; + return e.__iterate(function(e, o, u) { + return t.call(n, e, o, u) && ++a && r(e, o, i) + }), a + }, r.__iteratorUncached = function(r, o) { + var i = this; + if (o) return this.cacheResult().__iterator(r, o); + var a = e.__iterator(N, o), + u = !0; + return new U(function() { + if (!u) return { + value: void 0, + done: !0 + }; + var e = a.next(); + if (e.done) return e; + var o = e.value, + s = o[0], + l = o[1]; + return t.call(n, l, s, i) ? r === N ? e : q(r, s, l, e) : (u = !1, { + value: void 0, + done: !0 + }) + }) + }, r + }(this, e, t)) + }, + takeUntil: function(e, t) { + return this.takeWhile(Nn(e), t) + }, + valueSeq: function() { + return this.toIndexedSeq() + }, + hashCode: function() { + return this.__hash || (this.__hash = function(e) { + if (e.size === 1 / 0) return 0; + var t = c(e), + n = u(e), + r = t ? 1 : 0; + return function(e, t) { + return t = xe(t, 3432918353), t = xe(t << 15 | t >>> -15, 461845907), t = xe(t << 13 | t >>> -13, 5), t = xe((t = (t + 3864292196 | 0) ^ e) ^ t >>> 16, 2246822507), t = Se((t = xe(t ^ t >>> 13, 3266489909)) ^ t >>> 16) + }(e.__iterate(n ? t ? function(e, t) { + r = 31 * r + qn(Ce(e), Ce(t)) | 0 + } : function(e, t) { + r = r + qn(Ce(e), Ce(t)) | 0 + } : t ? function(e) { + r = 31 * r + Ce(e) | 0 + } : function(e) { + r = r + Ce(e) | 0 + }), r) + }(this)) + } + }); + var Tn = n.prototype; + Tn[f] = !0, Tn[L] = Tn.values, Tn.__toJS = Tn.toArray, Tn.__toStringMapper = Dn, Tn.inspect = Tn.toSource = function() { + return this.toString() + }, Tn.chain = Tn.flatMap, Tn.contains = Tn.includes, Pn(r, { + flip: function() { + return Gt(this, Ut(this)) + }, + mapEntries: function(e, t) { + var n = this, + r = 0; + return Gt(this, this.toSeq().map(function(o, i) { + return e.call(t, [i, o], r++, n) + }).fromEntrySeq()) + }, + mapKeys: function(e, t) { + var n = this; + return Gt(this, this.toSeq().flip().map(function(r, o) { + return e.call(t, r, o, n) + }).flip()) + } + }); + var Mn = r.prototype; + + function In(e, t) { + return t + } + + function jn(e, t) { + return [t, e] + } + + function Nn(e) { + return function() { + return !e.apply(this, arguments) + } + } + + function Rn(e) { + return function() { + return -e.apply(this, arguments) + } + } + + function Dn(e) { + return "string" == typeof e ? JSON.stringify(e) : String(e) + } + + function Ln() { + return S(arguments) + } + + function Un(e, t) { + return e < t ? 1 : e > t ? -1 : 0 + } + + function qn(e, t) { + return e ^ t + 2654435769 + (e << 6) + (e >> 2) | 0 + } + return Mn[p] = !0, Mn[L] = Tn.entries, Mn.__toJS = Tn.toObject, Mn.__toStringMapper = function(e, t) { + return JSON.stringify(t) + ": " + Dn(e) + }, Pn(o, { + toKeyedSeq: function() { + return new Nt(this, !1) + }, + filter: function(e, t) { + return Gt(this, zt(this, e, t, !1)) + }, + findIndex: function(e, t) { + var n = this.findEntry(e, t); + return n ? n[0] : -1 + }, + indexOf: function(e) { + var t = this.keyOf(e); + return void 0 === t ? -1 : t + }, + lastIndexOf: function(e) { + var t = this.lastKeyOf(e); + return void 0 === t ? -1 : t + }, + reverse: function() { + return Gt(this, Ft(this, !1)) + }, + slice: function(e, t) { + return Gt(this, Bt(this, e, t, !1)) + }, + splice: function(e, t) { + var n = arguments.length; + if (t = Math.max(0 | t, 0), 0 === n || 2 === n && !t) return this; + e = P(e, e < 0 ? this.count() : this.size); + var r = this.slice(0, e); + return Gt(this, 1 === n ? r : r.concat(S(arguments, 2), this.slice(e + t))) + }, + findLastIndex: function(e, t) { + var n = this.findLastEntry(e, t); + return n ? n[0] : -1 + }, + first: function() { + return this.get(0) + }, + flatten: function(e) { + return Gt(this, Ht(this, e, !1)) + }, + get: function(e, t) { + return (e = k(this, e)) < 0 || this.size === 1 / 0 || void 0 !== this.size && e > this.size ? t : this.find(function(t, n) { + return n === e + }, void 0, t) + }, + has: function(e) { + return (e = k(this, e)) >= 0 && (void 0 !== this.size ? this.size === 1 / 0 || e < this.size : -1 !== this.indexOf(e)) + }, + interpose: function(e) { + return Gt(this, function(e, t) { + var n = Qt(e); + return n.size = e.size && 2 * e.size - 1, n.__iterateUncached = function(n, r) { + var o = this, + i = 0; + return e.__iterate(function(e, r) { + return (!i || !1 !== n(t, i++, o)) && !1 !== n(e, i++, o) + }, r), i + }, n.__iteratorUncached = function(n, r) { + var o, i = e.__iterator(j, r), + a = 0; + return new U(function() { + return (!o || a % 2) && (o = i.next()).done ? o : a % 2 ? q(n, a++, t) : q(n, a++, o.value, o) + }) + }, n + }(this, e)) + }, + interleave: function() { + var e = [this].concat(S(arguments)), + t = Kt(this.toSeq(), K.of, e), + n = t.flatten(!0); + return t.size && (n.size = t.size * e.length), Gt(this, n) + }, + keySeq: function() { + return ye(0, this.size) + }, + last: function() { + return this.get(-1) + }, + skipWhile: function(e, t) { + return Gt(this, Vt(this, e, t, !1)) + }, + zip: function() { + return Gt(this, Kt(this, Ln, [this].concat(S(arguments)))) + }, + zipWith: function(e) { + var t = S(arguments); + return t[0] = this, Gt(this, Kt(this, e, t)) + } + }), o.prototype[d] = !0, o.prototype[h] = !0, Pn(i, { + get: function(e, t) { + return this.has(e) ? e : t + }, + includes: function(e) { + return this.has(e) + }, + keySeq: function() { + return this.valueSeq() + } + }), i.prototype.has = Tn.includes, i.prototype.contains = i.prototype.includes, Pn(Y, r.prototype), Pn(K, o.prototype), Pn(G, i.prototype), Pn(_e, r.prototype), Pn(we, o.prototype), Pn(Ee, i.prototype), { + Iterable: n, + Seq: J, + Collection: be, + Map: Ue, + OrderedMap: Pt, + List: pt, + Stack: En, + Set: sn, + OrderedSet: mn, + Record: rn, + Range: ye, + Repeat: me, + is: he, + fromJS: fe + } + }, e.exports = r() + }, function(e, t, n) { + "use strict"; + var r = function(e) {}; + e.exports = function(e, t, n, o, i, a, u, s) { + if (r(t), !e) { + var 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, o, i, a, u, s], + f = 0; + (l = new Error(t.replace(/%s/g, function() { + return c[f++] + }))).name = "Invariant Violation" + } + throw l.framesToPop = 1, l + } + } + }, function(e, t, n) { + "use strict"; + var r = n(34); + e.exports = r + }, function(e, t, n) { + "use strict"; + (function(e) { + Object.defineProperty(t, "__esModule", { + value: !0 + }), t.getCommonExtensions = t.getExtensions = t.escapeDeepLinkPath = t.createDeepLinkPath = t.shallowEqualKeys = t.buildFormData = t.sorters = t.btoa = t.serializeSearch = t.parseSearch = t.getSampleSchema = t.validateParam = t.validatePattern = t.validateMinLength = t.validateMaxLength = t.validateGuid = t.validateDateTime = t.validateString = t.validateBoolean = t.validateFile = t.validateInteger = t.validateNumber = t.validateMinimum = t.validateMaximum = t.propChecker = t.memoize = t.isImmutable = void 0; + var r = _(n(41)), + o = _(n(18)), + i = _(n(91)), + a = _(n(23)), + u = _(n(42)), + s = _(n(45)); + t.isJSONObject = function(e) { + try { + var t = JSON.parse(e); + if (t && "object" === (void 0 === t ? "undefined" : (0, s.default)(t))) return t + } catch (e) {} + return !1 + }, t.objectify = function(e) { + return S(e) ? E(e) ? e.toJS() : e : {} + }, t.arrayify = function(e) { + return e ? e.toArray ? e.toArray() : x(e) : [] + }, t.fromJSOrdered = function e(t) { + if (E(t)) return t; + if (t instanceof y.default.File) return t; + return S(t) ? Array.isArray(t) ? l.default.Seq(t).map(e).toList() : l.default.OrderedMap(t).map(e) : t + }, t.bindToState = function(e, t) { + var n = {}; + return (0, u.default)(e).filter(function(t) { + return "function" == typeof e[t] + }).forEach(function(r) { + return n[r] = e[r].bind(null, t) + }), n + }, t.normalizeArray = x, t.isFn = function(e) { + return "function" == typeof e + }, t.isObject = S, t.isFunc = function(e) { + return "function" == typeof e + }, t.isArray = function(e) { + return Array.isArray(e) + }, t.objMap = function(e, t) { + return (0, u.default)(e).reduce(function(n, r) { + return n[r] = t(e[r], r), n + }, {}) + }, t.objReduce = function(e, t) { + return (0, u.default)(e).reduce(function(n, r) { + var o = t(e[r], r); + return o && "object" === (void 0 === o ? "undefined" : (0, s.default)(o)) && (0, a.default)(n, o), n + }, {}) + }, t.systemThunkMiddleware = function(e) { + return function(t) { + t.dispatch, t.getState; + return function(t) { + return function(n) { + return "function" == typeof n ? n(e()) : t(n) + } + } + } + }, t.defaultStatusCode = function(e) { + var t = e.keySeq(); + return t.contains(w) ? w : t.filter(function(e) { + return "2" === (e + "")[0] + }).sort().first() + }, t.getList = function(e, t) { + if (!l.default.Iterable.isIterable(e)) return l.default.List(); + var n = e.getIn(Array.isArray(t) ? t : [t]); + return l.default.List.isList(n) ? n : l.default.List() + }, t.highlight = function(e) { + var t = document; + if (!e) return ""; + if (e.textContent.length > 5e3) return e.textContent; + return function(e) { + for (var n, r, o, i, a, u = e.textContent, s = 0, l = u[0], c = 1, f = e.innerHTML = "", p = 0; r = n, n = p < 7 && "\\" == n ? 1 : c;) { + if (c = l, l = u[++s], i = f.length > 1, !c || p > 8 && "\n" == c || [/\S/.test(c), 1, 1, !/[$\w]/.test(c), ("/" == n || "\n" == n) && i, '"' == n && i, "'" == n && i, u[s - 4] + r + n == "--\x3e", r + n == "*/"][p]) + for (f && (e.appendChild(a = t.createElement("span")).setAttribute("style", ["color: #555; font-weight: bold;", "", "", "color: #555;", ""][p ? p < 3 ? 2 : p > 6 ? 4 : p > 3 ? 3 : +/^(a(bstract|lias|nd|rguments|rray|s(m|sert)?|uto)|b(ase|egin|ool(ean)?|reak|yte)|c(ase|atch|har|hecked|lass|lone|ompl|onst|ontinue)|de(bugger|cimal|clare|f(ault|er)?|init|l(egate|ete)?)|do|double|e(cho|ls?if|lse(if)?|nd|nsure|num|vent|x(cept|ec|p(licit|ort)|te(nds|nsion|rn)))|f(allthrough|alse|inal(ly)?|ixed|loat|or(each)?|riend|rom|unc(tion)?)|global|goto|guard|i(f|mp(lements|licit|ort)|n(it|clude(_once)?|line|out|stanceof|t(erface|ernal)?)?|s)|l(ambda|et|ock|ong)|m(icrolight|odule|utable)|NaN|n(amespace|ative|ext|ew|il|ot|ull)|o(bject|perator|r|ut|verride)|p(ackage|arams|rivate|rotected|rotocol|ublic)|r(aise|e(adonly|do|f|gister|peat|quire(_once)?|scue|strict|try|turn))|s(byte|ealed|elf|hort|igned|izeof|tatic|tring|truct|ubscript|uper|ynchronized|witch)|t(emplate|hen|his|hrows?|ransient|rue|ry|ype(alias|def|id|name|of))|u(n(checked|def(ined)?|ion|less|signed|til)|se|sing)|v(ar|irtual|oid|olatile)|w(char_t|hen|here|hile|ith)|xor|yield)$/.test(f) : 0]), a.appendChild(t.createTextNode(f))), o = p && p < 7 ? p : o, f = "", p = 11; ![1, /[\/{}[(\-+*=<>:;|\\.,?!&@~]/.test(c), /[\])]/.test(c), /[$\w]/.test(c), "/" == c && o < 2 && "<" != n, '"' == c, "'" == c, c + l + u[s + 1] + u[s + 2] == "\x3c!--", c + l == "/*", c + l == "//", "#" == c][--p];); + f += c + } + }(e) + }, t.mapToList = function e(t) { + var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "key"; + var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : l.default.Map(); + if (!l.default.Map.isMap(t) || !t.size) return l.default.List(); + Array.isArray(n) || (n = [n]); + if (n.length < 1) return t.merge(r); + var a = l.default.List(); + var u = n[0]; + var s = !0; + var c = !1; + var f = void 0; + try { + for (var p, d = (0, i.default)(t.entries()); !(s = (p = d.next()).done); s = !0) { + var h = p.value, + v = (0, o.default)(h, 2), + m = v[0], + g = v[1], + y = e(g, n.slice(1), r.set(u, m)); + a = l.default.List.isList(y) ? a.concat(y) : a.push(y) + } + } catch (e) { + c = !0, f = e + } finally { + try { + !s && d.return && d.return() + } finally { + if (c) throw f + } + } + return a + }, t.extractFileNameFromContentDispositionHeader = function(e) { + var t = /filename="([^;]*);?"/i.exec(e); + null === t && (t = /filename=([^;]*);?/i.exec(e)); + if (null !== t && t.length > 1) return t[1]; + return null + }, t.pascalCase = C, t.pascalCaseFilename = function(e) { + return C(e.replace(/\.[^./]*$/, "")) + }, t.sanitizeUrl = function(e) { + if ("string" != typeof e || "" === e) return ""; + return (0, c.sanitizeUrl)(e) + }, t.getAcceptControllingResponse = function(e) { + if (!l.default.OrderedMap.isOrderedMap(e)) return null; + if (!e.size) return null; + var t = e.find(function(e, t) { + return t.startsWith("2") && (0, u.default)(e.get("content") || {}).length > 0 + }), + n = e.get("default") || l.default.OrderedMap(), + r = (n.get("content") || l.default.OrderedMap()).keySeq().toJS().length ? n : null; + return t || r + }, t.deeplyStripKey = function e(t, n) { + var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : function() { + return !0 + }; + if ("object" !== (void 0 === t ? "undefined" : (0, s.default)(t)) || Array.isArray(t) || null === t || !n) return t; + var o = (0, a.default)({}, t); + (0, u.default)(o).forEach(function(t) { + t === n && r(o[t], t) ? delete o[t] : o[t] = e(o[t], n, r) + }); + return o + }, t.stringify = function(e) { + if ("string" == typeof e) return e; + e.toJS && (e = e.toJS()); + if ("object" === (void 0 === e ? "undefined" : (0, s.default)(e)) && null !== e) try { + return (0, r.default)(e, null, 2) + } catch (t) { + return String(e) + } + return e.toString() + }, t.numberToString = function(e) { + if ("number" == typeof e) return e.toString(); + return e + }; + var l = _(n(7)), + c = n(571), + f = _(n(572)), + p = _(n(280)), + d = _(n(284)), + h = _(n(287)), + v = _(n(650)), + m = _(n(105)), + g = n(192), + y = _(n(32)), + b = _(n(723)); + + function _(e) { + return e && e.__esModule ? e : { + default: e + } + } + var w = "default", + E = t.isImmutable = function(e) { + return l.default.Iterable.isIterable(e) + }; + + function x(e) { + return Array.isArray(e) ? e : [e] + } + + function S(e) { + return !!e && "object" === (void 0 === e ? "undefined" : (0, s.default)(e)) + } + t.memoize = d.default; + + function C(e) { + return (0, p.default)((0, f.default)(e)) + } + t.propChecker = 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 (0, u.default)(e).length !== (0, u.default)(t).length || ((0, v.default)(e, function(e, n) { + if (r.includes(n)) return !1; + var o = t[n]; + return l.default.Iterable.isIterable(e) ? !l.default.is(e, o) : ("object" !== (void 0 === e ? "undefined" : (0, s.default)(e)) || "object" !== (void 0 === o ? "undefined" : (0, s.default)(o))) && e !== o + }) || n.some(function(n) { + return !(0, m.default)(e[n], t[n]) + })) + }; + var k = t.validateMaximum = function(e, t) { + if (e > t) return "Value must be less than Maximum" + }, + A = t.validateMinimum = function(e, t) { + if (e < t) return "Value must be greater than Minimum" + }, + O = t.validateNumber = function(e) { + if (!/^-?\d+(\.?\d+)?$/.test(e)) return "Value must be a number" + }, + P = t.validateInteger = function(e) { + if (!/^-?\d+$/.test(e)) return "Value must be an integer" + }, + T = t.validateFile = function(e) { + if (e && !(e instanceof y.default.File)) return "Value must be a file" + }, + M = t.validateBoolean = function(e) { + if ("true" !== e && "false" !== e && !0 !== e && !1 !== e) return "Value must be a boolean" + }, + I = t.validateString = function(e) { + if (e && "string" != typeof e) return "Value must be a string" + }, + j = t.validateDateTime = function(e) { + if (isNaN(Date.parse(e))) return "Value must be a DateTime" + }, + N = t.validateGuid = function(e) { + if (e = e.toString().toLowerCase(), !/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(e)) return "Value must be a Guid" + }, + R = t.validateMaxLength = function(e, t) { + if (e.length > t) return "Value must be less than MaxLength" + }, + D = t.validateMinLength = function(e, t) { + if (e.length < t) return "Value must be greater than MinLength" + }, + L = t.validatePattern = function(e, t) { + if (!new RegExp(t).test(e)) return "Value must follow pattern " + t + }; + t.validateParam = function(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], + r = [], + o = t && "body" === e.get("in") ? e.get("value_xml") : e.get("value"), + i = e.get("required"), + a = n ? e.get("schema") : e; + if (!a) return r; + var u = a.get("maximum"), + c = a.get("minimum"), + f = a.get("type"), + p = a.get("format"), + d = a.get("maxLength"), + h = a.get("minLength"), + v = a.get("pattern"); + if (f && (i || o)) { + var m = "string" === f && o, + g = "array" === f && Array.isArray(o) && o.length, + b = "array" === f && l.default.List.isList(o) && o.count(), + _ = "file" === f && o instanceof y.default.File, + w = "boolean" === f && (o || !1 === o), + E = "number" === f && (o || 0 === o), + x = "integer" === f && (o || 0 === o), + S = !1; + if (n && "object" === f) + if ("object" === (void 0 === o ? "undefined" : (0, s.default)(o))) S = !0; + else if ("string" == typeof o) try { + JSON.parse(o), S = !0 + } catch (e) { + return r.push("Parameter string value must be valid JSON"), r + } + var C = [m, g, b, _, w, E, x, S].some(function(e) { + return !!e + }); + if (i && !C) return r.push("Required field is not provided"), r; + if (v) { + var U = L(o, v); + U && r.push(U) + } + if (d || 0 === d) { + var q = R(o, d); + q && r.push(q) + } + if (h) { + var F = D(o, h); + F && r.push(F) + } + if (u || 0 === u) { + var z = k(o, u); + z && r.push(z) + } + if (c || 0 === c) { + var B = A(o, c); + B && r.push(B) + } + if ("string" === f) { + var V = void 0; + if (!(V = "date-time" === p ? j(o) : "uuid" === p ? N(o) : I(o))) return r; + r.push(V) + } else if ("boolean" === f) { + var H = M(o); + if (!H) return r; + r.push(H) + } else if ("number" === f) { + var W = O(o); + if (!W) return r; + r.push(W) + } else if ("integer" === f) { + var J = P(o); + if (!J) return r; + r.push(J) + } else if ("array" === f) { + var Y; + if (!b || !o.count()) return r; + Y = a.getIn(["items", "type"]), o.forEach(function(e, t) { + var n = void 0; + "number" === Y ? n = O(e) : "integer" === Y ? n = P(e) : "string" === Y && (n = I(e)), n && r.push({ + index: t, + error: n + }) + }) + } else if ("file" === f) { + var K = T(o); + if (!K) return r; + r.push(K) + } + } + return r + }, t.getSampleSchema = function(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "", + n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; + if (/xml/.test(t)) { + if (!e.xml || !e.xml.name) { + if (e.xml = e.xml || {}, !e.$$ref) return e.type || e.items || e.properties || e.additionalProperties ? '\n\x3c!-- XML example cannot be generated --\x3e' : null; + var o = e.$$ref.match(/\S*\/(\S+)$/); + e.xml.name = o[1] + } + return (0, g.memoizedCreateXMLExample)(e, n) + } + var i = (0, g.memoizedSampleFromSchema)(e, n); + return "object" === (void 0 === i ? "undefined" : (0, s.default)(i)) ? (0, r.default)(i, null, 2) : i + }, t.parseSearch = function() { + var e = {}, + t = y.default.location.search; + if (!t) return {}; + if ("" != t) { + var n = t.substr(1).split("&"); + for (var r in n) n.hasOwnProperty(r) && (r = n[r].split("="), e[decodeURIComponent(r[0])] = r[1] && decodeURIComponent(r[1]) || "") + } + return e + }, t.serializeSearch = function(e) { + return (0, u.default)(e).map(function(t) { + return encodeURIComponent(t) + "=" + encodeURIComponent(e[t]) + }).join("&") + }, t.btoa = function(t) { + return (t instanceof e ? t : new e(t.toString(), "utf-8")).toString("base64") + }, t.sorters = { + operationsSorter: { + alpha: function(e, t) { + return e.get("path").localeCompare(t.get("path")) + }, + method: function(e, t) { + return e.get("method").localeCompare(t.get("method")) + } + }, + tagsSorter: { + alpha: function(e, t) { + return e.localeCompare(t) + } + } + }, t.buildFormData = function(e) { + var t = []; + for (var n in e) { + var r = e[n]; + void 0 !== r && "" !== r && t.push([n, "=", encodeURIComponent(r).replace(/%20/g, "+")].join("")) + } + return t.join("&") + }, t.shallowEqualKeys = function(e, t, n) { + return !!(0, h.default)(n, function(n) { + return (0, m.default)(e[n], t[n]) + }) + }; + var U = t.createDeepLinkPath = function(e) { + return "string" == typeof e || e instanceof String ? e.trim().replace(/\s/g, "_") : "" + }; + t.escapeDeepLinkPath = function(e) { + return (0, b.default)(U(e)) + }, t.getExtensions = function(e) { + return e.filter(function(e, t) { + return /^x-/.test(t) + }) + }, t.getCommonExtensions = function(e) { + return e.filter(function(e, t) { + return /^pattern|maxLength|minLength|maximum|minimum/.test(t) + }) + } + }).call(t, n(54).Buffer) + }, function(e, t, n) { + "use strict"; + e.exports = function(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 + } + }, function(e, t, n) { + "use strict"; + var r = n(7), + o = "<>", + i = { + listOf: function(e) { + return l(e, "List", r.List.isList) + }, + mapOf: function(e, t) { + return c(e, t, "Map", r.Map.isMap) + }, + orderedMapOf: function(e, t) { + return c(e, t, "OrderedMap", r.OrderedMap.isOrderedMap) + }, + setOf: function(e) { + return l(e, "Set", r.Set.isSet) + }, + orderedSetOf: function(e) { + return l(e, "OrderedSet", r.OrderedSet.isOrderedSet) + }, + stackOf: function(e) { + return l(e, "Stack", r.Stack.isStack) + }, + iterableOf: function(e) { + return l(e, "Iterable", r.Iterable.isIterable) + }, + recordOf: function(e) { + return u(function(t, n, o, i, u) { + for (var s = arguments.length, l = Array(s > 5 ? s - 5 : 0), c = 5; c < s; c++) l[c - 5] = arguments[c]; + var f = t[n]; + if (!(f instanceof r.Record)) { + var p = a(f), + d = i; + return new Error("Invalid " + d + " `" + u + "` of type `" + p + "` supplied to `" + o + "`, expected an Immutable.js Record.") + } + for (var h in e) { + var v = e[h]; + if (v) { + var m = f.toObject(), + g = v.apply(void 0, [m, h, o, i, u + "." + h].concat(l)); + if (g) return g + } + } + }) + }, + shape: p, + contains: p, + mapContains: function(e) { + return f(e, "Map", r.Map.isMap) + }, + list: s("List", r.List.isList), + map: s("Map", r.Map.isMap), + orderedMap: s("OrderedMap", r.OrderedMap.isOrderedMap), + set: s("Set", r.Set.isSet), + orderedSet: s("OrderedSet", r.OrderedSet.isOrderedSet), + stack: s("Stack", r.Stack.isStack), + seq: s("Seq", r.Seq.isSeq), + record: s("Record", function(e) { + return e instanceof r.Record + }), + iterable: s("Iterable", r.Iterable.isIterable) + }; + + function a(e) { + var t = typeof e; + return Array.isArray(e) ? "array" : e instanceof RegExp ? "object" : e instanceof r.Iterable ? "Immutable." + e.toSource().split(" ")[0] : t + } + + function u(e) { + function t(t, n, r, i, a, u) { + for (var s = arguments.length, l = Array(s > 6 ? s - 6 : 0), c = 6; c < s; c++) l[c - 6] = arguments[c]; + return u = u || r, i = i || o, null != n[r] ? e.apply(void 0, [n, r, i, a, u].concat(l)) : t ? new Error("Required " + a + " `" + u + "` was not specified in `" + i + "`.") : void 0 + } + var n = t.bind(null, !1); + return n.isRequired = t.bind(null, !0), n + } + + function s(e, t) { + return u(function(n, r, o, i, u) { + var s = n[r]; + if (!t(s)) { + var l = a(s); + return new Error("Invalid " + i + " `" + u + "` of type `" + l + "` supplied to `" + o + "`, expected `" + e + "`.") + } + return null + }) + } + + function l(e, t, n) { + return u(function(r, o, i, u, s) { + for (var l = arguments.length, c = Array(l > 5 ? l - 5 : 0), f = 5; f < l; f++) c[f - 5] = arguments[f]; + var p = r[o]; + if (!n(p)) { + var d = u, + h = a(p); + return new Error("Invalid " + d + " `" + s + "` of type `" + h + "` supplied to `" + i + "`, expected an Immutable.js " + t + ".") + } + if ("function" != typeof e) return new Error("Invalid typeChecker supplied to `" + i + "` for propType `" + s + "`, expected a function."); + for (var v = p.toArray(), m = 0, g = v.length; m < g; m++) { + var y = e.apply(void 0, [v, m, i, u, s + "[" + m + "]"].concat(c)); + if (y instanceof Error) return y + } + }) + } + + function c(e, t, n, r) { + return u(function() { + for (var o = arguments.length, i = Array(o), a = 0; a < o; a++) i[a] = arguments[a]; + return l(e, n, r).apply(void 0, i) || t && (s = t, u(function(e, t, n, r, o) { + for (var i = arguments.length, a = Array(i > 5 ? i - 5 : 0), u = 5; u < i; u++) a[u - 5] = arguments[u]; + var l = e[t]; + if ("function" != typeof s) return new Error("Invalid keysTypeChecker (optional second argument) supplied to `" + n + "` for propType `" + o + "`, expected a function."); + for (var c = l.keySeq().toArray(), f = 0, p = c.length; f < p; f++) { + var d = s.apply(void 0, [c, f, n, r, o + " -> key(" + c[f] + ")"].concat(a)); + if (d instanceof Error) return d + } + })).apply(void 0, i); + var s + }) + } + + function f(e) { + var t = void 0 === arguments[1] ? "Iterable" : arguments[1], + n = void 0 === arguments[2] ? r.Iterable.isIterable : arguments[2]; + return u(function(r, o, i, u, s) { + for (var l = arguments.length, c = Array(l > 5 ? l - 5 : 0), f = 5; f < l; f++) c[f - 5] = arguments[f]; + var p = r[o]; + if (!n(p)) { + var d = a(p); + return new Error("Invalid " + u + " `" + s + "` of type `" + d + "` supplied to `" + i + "`, expected an Immutable.js " + t + ".") + } + var h = p.toObject(); + for (var v in e) { + var m = e[v]; + if (m) { + var g = m.apply(void 0, [h, v, i, u, s + "." + v].concat(c)); + if (g) return g + } + } + }) + } + + function p(e) { + return f(e) + } + e.exports = i + }, function(e, t, n) { + "use strict"; + /* + object-assign + (c) Sindre Sorhus + @license MIT + */ + var r = Object.getOwnPropertySymbols, + o = Object.prototype.hasOwnProperty, + i = Object.prototype.propertyIsEnumerable; + e.exports = function() { + 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; + if ("0123456789" !== Object.getOwnPropertyNames(t).map(function(e) { + return t[e] + }).join("")) return !1; + var r = {}; + return "abcdefghijklmnopqrst".split("").forEach(function(e) { + r[e] = e + }), "abcdefghijklmnopqrst" === Object.keys(Object.assign({}, r)).join("") + } catch (e) { + return !1 + } + }() ? Object.assign : function(e, t) { + for (var n, a, u = function(e) { + if (null === e || void 0 === e) throw new TypeError("Object.assign cannot be called with null or undefined"); + return Object(e) + }(e), s = 1; s < arguments.length; s++) { + for (var l in n = Object(arguments[s])) o.call(n, l) && (u[l] = n[l]); + if (r) { + a = r(n); + for (var c = 0; c < a.length; c++) i.call(n, a[c]) && (u[a[c]] = n[a[c]]) + } + } + return u + } + }, function(e, t, n) { + "use strict"; + var r = n(11), + o = n(87), + i = n(350), + a = (n(8), o.ID_ATTRIBUTE_NAME), + u = i, + s = "__reactInternalInstance$" + Math.random().toString(36).slice(2); + + function l(e, t) { + return 1 === e.nodeType && e.getAttribute(a) === String(t) || 8 === e.nodeType && e.nodeValue === " react-text: " + t + " " || 8 === e.nodeType && e.nodeValue === " react-empty: " + t + " " + } + + function c(e) { + for (var t; t = e._renderedComponent;) e = t; + return e + } + + function f(e, t) { + var n = c(e); + n._hostNode = t, t[s] = n + } + + function p(e, t) { + if (!(e._flags & u.hasCachedChildNodes)) { + var n = e._renderedChildren, + o = t.firstChild; + e: for (var i in n) + if (n.hasOwnProperty(i)) { + var a = n[i], + s = c(a)._domID; + if (0 !== s) { + for (; null !== o; o = o.nextSibling) + if (l(o, s)) { + f(a, o); + continue e + } + r("32", s) + } + } + e._flags |= u.hasCachedChildNodes + } + } + + function d(e) { + if (e[s]) return e[s]; + for (var t, n, r = []; !e[s];) { + if (r.push(e), !e.parentNode) return null; + e = e.parentNode + } + for (; e && (n = e[s]); e = r.pop()) t = n, r.length && p(n, e); + return t + } + var h = { + getClosestInstanceFromNode: d, + getInstanceFromNode: function(e) { + var t = d(e); + return null != t && t._hostNode === e ? t : null + }, + getNodeFromInstance: function(e) { + if (void 0 === e._hostNode && r("33"), e._hostNode) return e._hostNode; + for (var t = []; !e._hostNode;) t.push(e), e._hostParent || r("34"), e = e._hostParent; + for (; t.length; e = t.pop()) p(e, e._hostNode); + return e._hostNode + }, + precacheChildNodes: p, + precacheNode: f, + uncacheNode: function(e) { + var t = e._hostNode; + t && (delete t[s], e._hostNode = null) + } + }; + e.exports = h + }, function(e, t) { + var n = e.exports = { + version: "2.5.5" + }; + "number" == typeof __e && (__e = n) + }, function(e, t, n) { + "use strict"; + var r = n(107), + o = ["kind", "resolve", "construct", "instanceOf", "predicate", "represent", "defaultStyle", "styleAliases"], + i = ["scalar", "sequence", "mapping"]; + e.exports = function(e, t) { + var n, a; + if (t = t || {}, Object.keys(t).forEach(function(t) { + if (-1 === o.indexOf(t)) throw new r('Unknown option "' + t + '" is met in definition of "' + e + '" YAML type.') + }), this.tag = e, this.kind = t.kind || null, this.resolve = t.resolve || function() { + return !0 + }, this.construct = t.construct || function(e) { + return e + }, this.instanceOf = t.instanceOf || null, this.predicate = t.predicate || null, this.represent = t.represent || null, this.defaultStyle = t.defaultStyle || null, this.styleAliases = (n = t.styleAliases || null, a = {}, null !== n && Object.keys(n).forEach(function(e) { + n[e].forEach(function(t) { + a[String(t)] = e + }) + }), a), -1 === i.indexOf(this.kind)) throw new r('Unknown kind "' + this.kind + '" is specified for "' + e + '" YAML type.') + } + }, function(e, t, n) { + var r = n(242)("wks"), + o = n(167), + i = n(33).Symbol, + a = "function" == typeof i; + (e.exports = function(e) { + return r[e] || (r[e] = a && i[e] || (a ? i : o)("Symbol." + e)) + }).store = r + }, function(e, t, n) { + "use strict"; + t.__esModule = !0; + var r = i(n(568)), + o = i(n(91)); + + function i(e) { + return e && e.__esModule ? e : { + default: e + } + } + t.default = function() { + return function(e, t) { + if (Array.isArray(e)) return e; + if ((0, r.default)(Object(e))) return function(e, t) { + var n = [], + r = !0, + i = !1, + a = void 0; + try { + for (var u, s = (0, o.default)(e); !(r = (u = s.next()).done) && (n.push(u.value), !t || n.length !== t); r = !0); + } catch (e) { + i = !0, a = e + } finally { + try { + !r && s.return && s.return() + } finally { + if (i) throw a + } + } + return n + }(e, t); + throw new TypeError("Invalid attempt to destructure non-iterable instance") + } + }() + }, function(e, t, n) { + var r = n(162)("wks"), + o = n(116), + i = n(21).Symbol, + a = "function" == typeof i; + (e.exports = function(e) { + return r[e] || (r[e] = a && i[e] || (a ? i : o)("Symbol." + e)) + }).store = r + }, function(e, t, n) { + var r = n(21), + o = n(15), + i = n(49), + a = n(50), + u = n(52), + s = function(e, t, n) { + var l, c, f, p = e & s.F, + d = e & s.G, + h = e & s.S, + v = e & s.P, + m = e & s.B, + g = e & s.W, + y = d ? o : o[t] || (o[t] = {}), + b = y.prototype, + _ = d ? r : h ? r[t] : (r[t] || {}).prototype; + for (l in d && (n = t), n)(c = !p && _ && void 0 !== _[l]) && u(y, l) || (f = c ? _[l] : n[l], y[l] = d && "function" != typeof _[l] ? n[l] : m && c ? i(f, r) : g && _[l] == 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.prototype = e.prototype, t + }(f) : v && "function" == typeof f ? i(Function.call, f) : f, v && ((y.virtual || (y.virtual = {}))[l] = f, e & s.R && b && !b[l] && a(b, l, f))) + }; + s.F = 1, s.G = 2, s.S = 4, s.P = 8, s.B = 16, s.W = 32, s.U = 64, s.R = 128, e.exports = s + }, 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"; + t.__esModule = !0; + var r, o = n(262), + i = (r = o) && r.__esModule ? r : { + default: r + }; + t.default = function(e, t, n) { + return t in e ? (0, i.default)(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[t] = n, e + } + }, function(e, t, n) { + e.exports = { + default: n(533), + __esModule: !0 + } + }, function(e, t) { + var n = Array.isArray; + e.exports = n + }, function(e, t, n) { + "use strict"; + t.__esModule = !0; + var r, o = n(23), + i = (r = o) && r.__esModule ? r : { + default: r + }; + 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"; + var r = !("undefined" == typeof window || !window.document || !window.document.createElement), + o = { + canUseDOM: r, + canUseWorkers: "undefined" != typeof Worker, + canUseEventListeners: r && !(!window.addEventListener && !window.attachEvent), + canUseViewport: r && !!window.screen, + isInWorker: !r + }; + e.exports = o + }, function(e, t, n) { + "use strict"; + var r = Object.prototype.hasOwnProperty; + + function o(e, t) { + return !!e && r.call(e, t) + } + var i = /\\([\\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g; + + function a(e) { + return !(e >= 55296 && e <= 57343) && (!(e >= 64976 && e <= 65007) && (65535 != (65535 & e) && 65534 != (65535 & e) && (!(e >= 0 && e <= 8) && (11 !== e && (!(e >= 14 && e <= 31) && (!(e >= 127 && e <= 159) && !(e > 1114111))))))) + } + + function u(e) { + if (e > 65535) { + var t = 55296 + ((e -= 65536) >> 10), + n = 56320 + (1023 & e); + return String.fromCharCode(t, n) + } + return String.fromCharCode(e) + } + var s = /&([a-z#][a-z0-9]{1,31});/gi, + l = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i, + c = n(416); + + function f(e, t) { + var n = 0; + return o(c, t) ? c[t] : 35 === t.charCodeAt(0) && l.test(t) && a(n = "x" === t[1].toLowerCase() ? parseInt(t.slice(2), 16) : parseInt(t.slice(1), 10)) ? u(n) : e + } + var p = /[&<>"]/, + d = /[&<>"]/g, + h = { + "&": "&", + "<": "<", + ">": ">", + '"': """ + }; + + function v(e) { + return h[e] + } + t.assign = function(e) { + return [].slice.call(arguments, 1).forEach(function(t) { + if (t) { + if ("object" != typeof t) throw new TypeError(t + "must be object"); + Object.keys(t).forEach(function(n) { + e[n] = t[n] + }) + } + }), e + }, t.isString = function(e) { + return "[object String]" === function(e) { + return Object.prototype.toString.call(e) + }(e) + }, t.has = o, t.unescapeMd = function(e) { + return e.indexOf("\\") < 0 ? e : e.replace(i, "$1") + }, t.isValidEntityCode = a, t.fromCodePoint = u, t.replaceEntities = function(e) { + return e.indexOf("&") < 0 ? e : e.replace(s, f) + }, t.escapeHtml = function(e) { + return p.test(e) ? e.replace(d, v) : e + } + }, function(e, t) { + e.exports = function(e) { + return "object" == typeof e ? null !== e : "function" == typeof e + } + }, function(e, t, n) { + var r = n(33), + o = n(60), + i = n(58), + a = n(73), + u = n(120), + s = function(e, t, n) { + var l, c, f, p, d = e & s.F, + h = e & s.G, + v = e & s.S, + m = e & s.P, + g = e & s.B, + y = h ? r : v ? r[t] || (r[t] = {}) : (r[t] || {}).prototype, + b = h ? o : o[t] || (o[t] = {}), + _ = b.prototype || (b.prototype = {}); + for (l in h && (n = t), n) f = ((c = !d && y && void 0 !== y[l]) ? y : n)[l], p = g && c ? u(f, r) : m && "function" == typeof f ? u(Function.call, f) : f, y && a(y, l, f, e & s.U), b[l] != f && i(b, l, p), m && _[l] != f && (_[l] = f) + }; + r.core = o, s.F = 1, s.G = 2, s.S = 4, s.P = 8, s.B = 16, s.W = 32, s.U = 64, s.R = 128, e.exports = s + }, function(e, t, n) { + var r = n(29), + o = n(101), + i = n(53), + a = /"/g, + u = function(e, t, n, r) { + var o = String(i(e)), + u = "<" + t; + return "" !== n && (u += " " + n + '="' + String(r).replace(a, """) + '"'), u + ">" + o + "" + }; + e.exports = function(e, t) { + var n = {}; + n[e] = t(u), r(r.P + r.F * o(function() { + var t = "" [e]('"'); + return t !== t.toLowerCase() || t.split('"').length > 3 + }), "String", n) + } + }, function(e, t) { + var n; + n = function() { + return this + }(); + try { + n = n || Function("return this")() || (0, eval)("this") + } catch (e) { + "object" == typeof window && (n = window) + } + e.exports = n + }, function(e, t, n) { + "use strict"; + var r, o = n(91), + i = (r = o) && r.__esModule ? r : { + default: r + }; + e.exports = function() { + var e = { + location: {}, + history: {}, + open: function() {}, + close: function() {}, + File: function() {} + }; + if ("undefined" == typeof window) return e; + try { + e = window; + var t = !0, + n = !1, + r = void 0; + try { + for (var o, a = (0, i.default)(["File", "Blob", "FormData"]); !(t = (o = a.next()).done); t = !0) { + var u = o.value; + u in window && (e[u] = window[u]) + } + } catch (e) { + n = !0, r = e + } finally { + try { + !t && a.return && a.return() + } finally { + if (n) throw r + } + } + } catch (e) { + console.error(e) + } + return e + }() + }, 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"; + + function r(e) { + return function() { + return e + } + } + var o = function() {}; + o.thatReturns = r, o.thatReturnsFalse = r(!1), o.thatReturnsTrue = r(!0), o.thatReturnsNull = r(null), o.thatReturnsThis = function() { + return this + }, o.thatReturnsArgument = function(e) { + return e + }, e.exports = o + }, function(e, t, n) { + "use strict"; + Object.defineProperty(t, "__esModule", { + value: !0 + }); + var r = i(n(25)); + t.isOAS3 = a, t.isSwagger2 = function(e) { + var t = e.get("swagger"); + if ("string" != typeof t) return !1; + return t.startsWith("2.0") + }, t.OAS3ComponentWrapFactory = function(e) { + return function(t, n) { + return function(i) { + if (n && n.specSelectors && n.specSelectors.specJson) { + var u = n.specSelectors.specJson(); + return a(u) ? o.default.createElement(e, (0, r.default)({}, i, n, { + Ori: t + })) : o.default.createElement(t, i) + } + return console.warn("OAS3 wrapper: couldn't get spec"), null + } + } + }; + var o = i(n(0)); + + function i(e) { + return e && e.__esModule ? e : { + default: e + } + } + + function a(e) { + var t = e.get("openapi"); + return "string" == typeof t && (t.startsWith("3.0.") && t.length > 4) + } + }, function(e, t, n) { + var r = n(28); + e.exports = function(e) { + if (!r(e)) throw TypeError(e + " is not an object!"); + return e + } + }, function(e, t, n) { + var r = n(278), + o = "object" == typeof self && self && self.Object === Object && self, + i = r || o || Function("return this")(); + e.exports = i + }, function(e, t) { + e.exports = function(e) { + var t = typeof e; + return null != e && ("object" == t || "function" == t) + } + }, function(e, t, n) { + "use strict"; + var r = null; + e.exports = { + debugTool: r + } + }, function(e, t, n) { + var r = n(36), + o = n(238), + i = n(157), + a = Object.defineProperty; + t.f = n(44) ? Object.defineProperty : function(e, t, n) { + if (r(e), t = i(t, !0), r(n), o) try { + return a(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) { + e.exports = { + default: n(516), + __esModule: !0 + } + }, function(e, t, n) { + e.exports = { + default: n(517), + __esModule: !0 + } + }, function(e, t, n) { + "use strict"; + var r = n(11), + o = n(13), + i = n(354), + a = n(69), + u = n(355), + s = n(88), + l = n(147), + c = n(8), + f = [], + p = 0, + d = i.getPooled(), + h = !1, + v = null; + + function m() { + E.ReactReconcileTransaction && v || r("123") + } + var g = [{ + initialize: function() { + this.dirtyComponentsLength = f.length + }, + close: function() { + this.dirtyComponentsLength !== f.length ? (f.splice(0, this.dirtyComponentsLength), w()) : f.length = 0 + } + }, { + initialize: function() { + this.callbackQueue.reset() + }, + close: function() { + this.callbackQueue.notifyAll() + } + }]; + + function y() { + this.reinitializeTransaction(), this.dirtyComponentsLength = null, this.callbackQueue = i.getPooled(), this.reconcileTransaction = E.ReactReconcileTransaction.getPooled(!0) + } + + function b(e, t) { + return e._mountOrder - t._mountOrder + } + + function _(e) { + var t = e.dirtyComponentsLength; + t !== f.length && r("124", t, f.length), f.sort(b), p++; + for (var n = 0; n < t; n++) { + var o, i = f[n], + a = i._pendingCallbacks; + if (i._pendingCallbacks = null, u.logTopLevelRenders) { + var l = i; + i._currentElement.type.isReactTopLevelWrapper && (l = i._renderedComponent), o = "React update: " + l.getName(), console.time(o) + } + if (s.performUpdateIfNecessary(i, e.reconcileTransaction, p), o && console.timeEnd(o), a) + for (var c = 0; c < a.length; c++) e.callbackQueue.enqueue(a[c], i.getPublicInstance()) + } + } + o(y.prototype, l, { + getTransactionWrappers: function() { + return g + }, + destructor: function() { + this.dirtyComponentsLength = null, i.release(this.callbackQueue), this.callbackQueue = null, E.ReactReconcileTransaction.release(this.reconcileTransaction), this.reconcileTransaction = null + }, + perform: function(e, t, n) { + return l.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, e, t, n) + } + }), a.addPoolingTo(y); + var w = function() { + for (; f.length || h;) { + if (f.length) { + var e = y.getPooled(); + e.perform(_, null, e), y.release(e) + } + if (h) { + h = !1; + var t = d; + d = i.getPooled(), t.notifyAll(), i.release(t) + } + } + }; + var E = { + ReactReconcileTransaction: null, + batchedUpdates: function(e, t, n, r, o, i) { + return m(), v.batchedUpdates(e, t, n, r, o, i) + }, + enqueueUpdate: function e(t) { + m(), v.isBatchingUpdates ? (f.push(t), null == t._updateBatchNumber && (t._updateBatchNumber = p + 1)) : v.batchedUpdates(e, t) + }, + flushBatchedUpdates: w, + injection: { + injectReconcileTransaction: function(e) { + e || r("126"), E.ReactReconcileTransaction = e + }, + injectBatchingStrategy: function(e) { + e || r("127"), "function" != typeof e.batchedUpdates && r("128"), "boolean" != typeof e.isBatchingUpdates && r("129"), v = e + } + }, + asap: function(e, t) { + c(v.isBatchingUpdates, "ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."), d.enqueue(e, t), h = !0 + } + }; + e.exports = E + }, function(e, t, n) { + e.exports = !n(51)(function() { + return 7 != Object.defineProperty({}, "a", { + get: function() { + return 7 + } + }).a + }) + }, function(e, t, n) { + "use strict"; + t.__esModule = !0; + var r = a(n(519)), + o = a(n(521)), + i = "function" == typeof o.default && "symbol" == typeof r.default ? function(e) { + return typeof e + } : function(e) { + return e && "function" == typeof o.default && e.constructor === o.default && e !== o.default.prototype ? "symbol" : typeof e + }; + + function a(e) { + return e && e.__esModule ? e : { + default: e + } + } + t.default = "function" == typeof o.default && "symbol" === i(r.default) ? function(e) { + return void 0 === e ? "undefined" : i(e) + } : function(e) { + return e && "function" == typeof o.default && e.constructor === o.default && e !== o.default.prototype ? "symbol" : void 0 === e ? "undefined" : i(e) + } + }, function(e, t, n) { + "use strict"; + e.exports = { + current: null + } + }, function(e, t) { + e.exports = function(e) { + return null != e && "object" == typeof e + } + }, function(e, t, n) { + "use strict"; + var r = n(13), + o = n(69), + i = n(34), + a = (n(9), ["dispatchConfig", "_targetInst", "nativeEvent", "isDefaultPrevented", "isPropagationStopped", "_dispatchListeners", "_dispatchInstances"]), + u = { + type: null, + target: null, + currentTarget: i.thatReturnsNull, + eventPhase: null, + bubbles: null, + cancelable: null, + timeStamp: function(e) { + return e.timeStamp || Date.now() + }, + defaultPrevented: null, + isTrusted: null + }; + + function s(e, t, n, r) { + this.dispatchConfig = e, this._targetInst = t, this.nativeEvent = n; + var o = this.constructor.Interface; + for (var a in o) + if (o.hasOwnProperty(a)) { + 0; + var u = o[a]; + u ? this[a] = u(n) : "target" === a ? this.target = r : this[a] = n[a] + } + var s = null != n.defaultPrevented ? n.defaultPrevented : !1 === n.returnValue; + return this.isDefaultPrevented = s ? i.thatReturnsTrue : i.thatReturnsFalse, this.isPropagationStopped = i.thatReturnsFalse, this + } + r(s.prototype, { + preventDefault: function() { + this.defaultPrevented = !0; + var e = this.nativeEvent; + e && (e.preventDefault ? e.preventDefault() : "unknown" != typeof e.returnValue && (e.returnValue = !1), this.isDefaultPrevented = i.thatReturnsTrue) + }, + stopPropagation: function() { + var e = this.nativeEvent; + e && (e.stopPropagation ? e.stopPropagation() : "unknown" != typeof e.cancelBubble && (e.cancelBubble = !0), this.isPropagationStopped = i.thatReturnsTrue) + }, + persist: function() { + this.isPersistent = i.thatReturnsTrue + }, + isPersistent: i.thatReturnsFalse, + destructor: function() { + var e = this.constructor.Interface; + for (var t in e) this[t] = null; + for (var n = 0; n < a.length; n++) this[a[n]] = null + } + }), s.Interface = u, s.augmentClass = function(e, t) { + var n = function() {}; + n.prototype = this.prototype; + var i = new n; + r(i, e.prototype), e.prototype = i, e.prototype.constructor = e, e.Interface = r({}, this.Interface, t), e.augmentClass = this.augmentClass, o.addPoolingTo(e, o.fourArgumentPooler) + }, o.addPoolingTo(s, o.fourArgumentPooler), e.exports = s + }, function(e, t, n) { + var r = n(94); + e.exports = function(e, t, n) { + if (r(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) { + var r = n(40), + o = n(95); + e.exports = n(44) ? function(e, t, n) { + return r.f(e, t, o(1, n)) + } : function(e, t, n) { + return e[t] = n, e + } + }, function(e, t) { + e.exports = function(e) { + try { + return !!e() + } catch (e) { + return !0 + } + } + }, function(e, t) { + var n = {}.hasOwnProperty; + e.exports = function(e, t) { + return n.call(e, t) + } + }, 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) { + "use strict"; + (function(e) { + /*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + var r = n(528), + o = n(529), + i = n(261); + + function a() { + return s.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823 + } + + function u(e, t) { + if (a() < t) throw new RangeError("Invalid typed array length"); + return s.TYPED_ARRAY_SUPPORT ? (e = new Uint8Array(t)).__proto__ = s.prototype : (null === e && (e = new s(t)), e.length = t), e + } + + function s(e, t, n) { + if (!(s.TYPED_ARRAY_SUPPORT || this instanceof s)) return new s(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 f(this, e) + } + return l(this, e, t, n) + } + + function l(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 ? function(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"); + t = void 0 === n && void 0 === r ? new Uint8Array(t) : void 0 === r ? new Uint8Array(t, n) : new Uint8Array(t, n, r); + s.TYPED_ARRAY_SUPPORT ? (e = t).__proto__ = s.prototype : e = p(e, t); + return e + }(e, t, n, r) : "string" == typeof t ? function(e, t, n) { + "string" == typeof n && "" !== n || (n = "utf8"); + if (!s.isEncoding(n)) throw new TypeError('"encoding" must be a valid string encoding'); + var r = 0 | h(t, n), + o = (e = u(e, r)).write(t, n); + o !== r && (e = e.slice(0, o)); + return e + }(e, t, n) : function(e, t) { + if (s.isBuffer(t)) { + var n = 0 | d(t.length); + return 0 === (e = u(e, n)).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 || (r = t.length) != r ? u(e, 0) : p(e, t); + if ("Buffer" === t.type && i(t.data)) return p(e, t.data) + } + var r; + throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.") + }(e, t) + } + + function c(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 f(e, t) { + if (c(t), e = u(e, t < 0 ? 0 : 0 | d(t)), !s.TYPED_ARRAY_SUPPORT) + for (var n = 0; n < t; ++n) e[n] = 0; + return e + } + + function p(e, t) { + var n = t.length < 0 ? 0 : 0 | d(t.length); + e = u(e, n); + for (var r = 0; r < n; r += 1) e[r] = 255 & t[r]; + return e + } + + function d(e) { + if (e >= a()) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + a().toString(16) + " bytes"); + return 0 | e + } + + function h(e, t) { + if (s.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 F(e).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return 2 * n; + case "hex": + return n >>> 1; + case "base64": + return z(e).length; + default: + if (r) return F(e).length; + t = ("" + t).toLowerCase(), r = !0 + } + } + + function v(e, t, n) { + var r = e[t]; + e[t] = e[n], e[n] = r + } + + function m(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 = s.from(t, r)), s.isBuffer(t)) return 0 === t.length ? -1 : g(e, t, n, r, o); + if ("number" == typeof t) return t &= 255, s.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? o ? Uint8Array.prototype.indexOf.call(e, t, n) : Uint8Array.prototype.lastIndexOf.call(e, t, n) : g(e, [t], n, r, o); + throw new TypeError("val must be string, number or Buffer") + } + + function g(e, t, n, r, o) { + var i, a = 1, + u = e.length, + s = t.length; + if (void 0 !== r && ("ucs2" === (r = String(r).toLowerCase()) || "ucs-2" === r || "utf16le" === r || "utf-16le" === r)) { + if (e.length < 2 || t.length < 2) return -1; + a = 2, u /= 2, s /= 2, n /= 2 + } + + function l(e, t) { + return 1 === a ? e[t] : e.readUInt16BE(t * a) + } + if (o) { + var c = -1; + for (i = n; i < u; i++) + if (l(e, i) === l(t, -1 === c ? 0 : i - c)) { + if (-1 === c && (c = i), i - c + 1 === s) return c * a + } else -1 !== c && (i -= i - c), c = -1 + } else + for (n + s > u && (n = u - s), i = n; i >= 0; i--) { + for (var f = !0, p = 0; p < s; p++) + if (l(e, i + p) !== l(t, p)) { + f = !1; + break + } + if (f) return i + } + return -1 + } + + function y(e, t, n, r) { + n = Number(n) || 0; + var o = e.length - n; + r ? (r = Number(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 u = parseInt(t.substr(2 * a, 2), 16); + if (isNaN(u)) return a; + e[n + a] = u + } + return a + } + + function b(e, t, n, r) { + return B(F(t, e.length - n), e, n, r) + } + + function _(e, t, n, r) { + return B(function(e) { + for (var t = [], n = 0; n < e.length; ++n) t.push(255 & e.charCodeAt(n)); + return t + }(t), e, n, r) + } + + function w(e, t, n, r) { + return _(e, t, n, r) + } + + function E(e, t, n, r) { + return B(z(t), e, n, r) + } + + function x(e, t, n, r) { + return B(function(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 + }(t, e.length - n), e, n, r) + } + + function S(e, t, n) { + return 0 === t && n === e.length ? r.fromByteArray(e) : r.fromByteArray(e.slice(t, n)) + } + + function C(e, t, n) { + n = Math.min(e.length, n); + for (var r = [], o = t; o < n;) { + var i, a, u, s, l = e[o], + c = null, + f = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1; + if (o + f <= n) switch (f) { + case 1: + l < 128 && (c = l); + break; + case 2: + 128 == (192 & (i = e[o + 1])) && (s = (31 & l) << 6 | 63 & i) > 127 && (c = s); + break; + case 3: + i = e[o + 1], a = e[o + 2], 128 == (192 & i) && 128 == (192 & a) && (s = (15 & l) << 12 | (63 & i) << 6 | 63 & a) > 2047 && (s < 55296 || s > 57343) && (c = s); + break; + case 4: + i = e[o + 1], a = e[o + 2], u = e[o + 3], 128 == (192 & i) && 128 == (192 & a) && 128 == (192 & u) && (s = (15 & l) << 18 | (63 & i) << 12 | (63 & a) << 6 | 63 & u) > 65535 && s < 1114112 && (c = s) + } + null === c ? (c = 65533, f = 1) : c > 65535 && (c -= 65536, r.push(c >>> 10 & 1023 | 55296), c = 56320 | 1023 & c), r.push(c), o += f + } + return function(e) { + var t = e.length; + if (t <= k) return String.fromCharCode.apply(String, e); + var n = "", + r = 0; + for (; r < t;) n += String.fromCharCode.apply(String, e.slice(r, r += k)); + return n + }(r) + } + t.Buffer = s, t.SlowBuffer = function(e) { + +e != e && (e = 0); + return s.alloc(+e) + }, t.INSPECT_MAX_BYTES = 50, s.TYPED_ARRAY_SUPPORT = void 0 !== e.TYPED_ARRAY_SUPPORT ? e.TYPED_ARRAY_SUPPORT : function() { + 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 + } + }(), t.kMaxLength = a(), s.poolSize = 8192, s._augment = function(e) { + return e.__proto__ = s.prototype, e + }, s.from = function(e, t, n) { + return l(null, e, t, n) + }, s.TYPED_ARRAY_SUPPORT && (s.prototype.__proto__ = Uint8Array.prototype, s.__proto__ = Uint8Array, "undefined" != typeof Symbol && Symbol.species && s[Symbol.species] === s && Object.defineProperty(s, Symbol.species, { + value: null, + configurable: !0 + })), s.alloc = function(e, t, n) { + return function(e, t, n, r) { + return c(t), t <= 0 ? u(e, t) : void 0 !== n ? "string" == typeof r ? u(e, t).fill(n, r) : u(e, t).fill(n) : u(e, t) + }(null, e, t, n) + }, s.allocUnsafe = function(e) { + return f(null, e) + }, s.allocUnsafeSlow = function(e) { + return f(null, e) + }, s.isBuffer = function(e) { + return !(null == e || !e._isBuffer) + }, s.compare = function(e, t) { + if (!s.isBuffer(e) || !s.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 + }, s.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 + } + }, s.concat = function(e, t) { + if (!i(e)) throw new TypeError('"list" argument must be an Array of Buffers'); + if (0 === e.length) return s.alloc(0); + var n; + if (void 0 === t) + for (t = 0, n = 0; n < e.length; ++n) t += e[n].length; + var r = s.allocUnsafe(t), + o = 0; + for (n = 0; n < e.length; ++n) { + var a = e[n]; + if (!s.isBuffer(a)) throw new TypeError('"list" argument must be an Array of Buffers'); + a.copy(r, o), o += a.length + } + return r + }, s.byteLength = h, s.prototype._isBuffer = !0, s.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) v(this, t, t + 1); + return this + }, s.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) v(this, t, t + 3), v(this, t + 1, t + 2); + return this + }, s.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) v(this, t, t + 7), v(this, t + 1, t + 6), v(this, t + 2, t + 5), v(this, t + 3, t + 4); + return this + }, s.prototype.toString = function() { + var e = 0 | this.length; + return 0 === e ? "" : 0 === arguments.length ? C(this, 0, e) : function(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)) return ""; + for (e || (e = "utf8");;) switch (e) { + case "hex": + return P(this, t, n); + case "utf8": + case "utf-8": + return C(this, t, n); + case "ascii": + return A(this, t, n); + case "latin1": + case "binary": + return O(this, t, n); + case "base64": + return S(this, t, n); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return T(this, t, n); + default: + if (r) throw new TypeError("Unknown encoding: " + e); + e = (e + "").toLowerCase(), r = !0 + } + }.apply(this, arguments) + }, s.prototype.equals = function(e) { + if (!s.isBuffer(e)) throw new TypeError("Argument must be a Buffer"); + return this === e || 0 === s.compare(this, e) + }, s.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 += " ... ")), "" + }, s.prototype.compare = function(e, t, n, r, o) { + if (!s.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, a = n - t, u = Math.min(i, a), l = this.slice(r, o), c = e.slice(t, n), f = 0; f < u; ++f) + if (l[f] !== c[f]) { + i = l[f], a = c[f]; + break + } + return i < a ? -1 : a < i ? 1 : 0 + }, s.prototype.includes = function(e, t, n) { + return -1 !== this.indexOf(e, t, n) + }, s.prototype.indexOf = function(e, t, n) { + return m(this, e, t, n, !0) + }, s.prototype.lastIndexOf = function(e, t, n) { + return m(this, e, t, n, !1) + }, s.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 y(this, e, t, n); + case "utf8": + case "utf-8": + return b(this, e, t, n); + case "ascii": + return _(this, e, t, n); + case "latin1": + case "binary": + return w(this, e, t, n); + case "base64": + return E(this, e, t, n); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return x(this, e, t, n); + default: + if (i) throw new TypeError("Unknown encoding: " + r); + r = ("" + r).toLowerCase(), i = !0 + } + }, s.prototype.toJSON = function() { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0) + } + }; + var k = 4096; + + function A(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 O(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 P(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 T(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 M(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 I(e, t, n, r, o, i) { + if (!s.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 N(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 R(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 D(e, t, n, r, i) { + return i || R(e, 0, n, 4), o.write(e, t, n, r, 23, 4), n + 4 + } + + function L(e, t, n, r, i) { + return i || R(e, 0, n, 8), o.write(e, t, n, r, 52, 8), n + 8 + } + s.prototype.slice = function(e, t) { + var n, r = this.length; + if (e = ~~e, t = void 0 === t ? r : ~~t, e < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r), t < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), t < e && (t = e), s.TYPED_ARRAY_SUPPORT)(n = this.subarray(e, t)).__proto__ = s.prototype; + else { + var o = t - e; + n = new s(o, void 0); + for (var i = 0; i < o; ++i) n[i] = this[i + e] + } + return n + }, s.prototype.readUIntLE = function(e, t, n) { + e |= 0, t |= 0, n || M(e, t, this.length); + for (var r = this[e], o = 1, i = 0; ++i < t && (o *= 256);) r += this[e + i] * o; + return r + }, s.prototype.readUIntBE = function(e, t, n) { + e |= 0, t |= 0, n || M(e, t, this.length); + for (var r = this[e + --t], o = 1; t > 0 && (o *= 256);) r += this[e + --t] * o; + return r + }, s.prototype.readUInt8 = function(e, t) { + return t || M(e, 1, this.length), this[e] + }, s.prototype.readUInt16LE = function(e, t) { + return t || M(e, 2, this.length), this[e] | this[e + 1] << 8 + }, s.prototype.readUInt16BE = function(e, t) { + return t || M(e, 2, this.length), this[e] << 8 | this[e + 1] + }, s.prototype.readUInt32LE = function(e, t) { + return t || M(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3] + }, s.prototype.readUInt32BE = function(e, t) { + return t || M(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]) + }, s.prototype.readIntLE = function(e, t, n) { + e |= 0, t |= 0, n || M(e, t, this.length); + for (var r = this[e], o = 1, i = 0; ++i < t && (o *= 256);) r += this[e + i] * o; + return r >= (o *= 128) && (r -= Math.pow(2, 8 * t)), r + }, s.prototype.readIntBE = function(e, t, n) { + e |= 0, t |= 0, n || M(e, t, this.length); + for (var r = t, o = 1, i = this[e + --r]; r > 0 && (o *= 256);) i += this[e + --r] * o; + return i >= (o *= 128) && (i -= Math.pow(2, 8 * t)), i + }, s.prototype.readInt8 = function(e, t) { + return t || M(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e] + }, s.prototype.readInt16LE = function(e, t) { + t || M(e, 2, this.length); + var n = this[e] | this[e + 1] << 8; + return 32768 & n ? 4294901760 | n : n + }, s.prototype.readInt16BE = function(e, t) { + t || M(e, 2, this.length); + var n = this[e + 1] | this[e] << 8; + return 32768 & n ? 4294901760 | n : n + }, s.prototype.readInt32LE = function(e, t) { + return t || M(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24 + }, s.prototype.readInt32BE = function(e, t) { + return t || M(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3] + }, s.prototype.readFloatLE = function(e, t) { + return t || M(e, 4, this.length), o.read(this, e, !0, 23, 4) + }, s.prototype.readFloatBE = function(e, t) { + return t || M(e, 4, this.length), o.read(this, e, !1, 23, 4) + }, s.prototype.readDoubleLE = function(e, t) { + return t || M(e, 8, this.length), o.read(this, e, !0, 52, 8) + }, s.prototype.readDoubleBE = function(e, t) { + return t || M(e, 8, this.length), o.read(this, e, !1, 52, 8) + }, s.prototype.writeUIntLE = function(e, t, n, r) { + (e = +e, t |= 0, n |= 0, r) || I(this, e, t, n, Math.pow(2, 8 * n) - 1, 0); + var o = 1, + i = 0; + for (this[t] = 255 & e; ++i < n && (o *= 256);) this[t + i] = e / o & 255; + return t + n + }, s.prototype.writeUIntBE = function(e, t, n, r) { + (e = +e, t |= 0, n |= 0, r) || I(this, e, t, n, Math.pow(2, 8 * n) - 1, 0); + var o = n - 1, + i = 1; + for (this[t + o] = 255 & e; --o >= 0 && (i *= 256);) this[t + o] = e / i & 255; + return t + n + }, s.prototype.writeUInt8 = function(e, t, n) { + return e = +e, t |= 0, n || I(this, e, t, 1, 255, 0), s.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), this[t] = 255 & e, t + 1 + }, s.prototype.writeUInt16LE = function(e, t, n) { + return e = +e, t |= 0, n || I(this, e, t, 2, 65535, 0), s.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : j(this, e, t, !0), t + 2 + }, s.prototype.writeUInt16BE = function(e, t, n) { + return e = +e, t |= 0, n || I(this, e, t, 2, 65535, 0), s.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : j(this, e, t, !1), t + 2 + }, s.prototype.writeUInt32LE = function(e, t, n) { + return e = +e, t |= 0, n || I(this, e, t, 4, 4294967295, 0), s.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e) : N(this, e, t, !0), t + 4 + }, s.prototype.writeUInt32BE = function(e, t, n) { + return e = +e, t |= 0, n || I(this, e, t, 4, 4294967295, 0), s.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : N(this, e, t, !1), t + 4 + }, s.prototype.writeIntLE = function(e, t, n, r) { + if (e = +e, t |= 0, !r) { + var o = Math.pow(2, 8 * n - 1); + I(this, e, t, n, o - 1, -o) + } + var i = 0, + a = 1, + u = 0; + for (this[t] = 255 & e; ++i < n && (a *= 256);) e < 0 && 0 === u && 0 !== this[t + i - 1] && (u = 1), this[t + i] = (e / a >> 0) - u & 255; + return t + n + }, s.prototype.writeIntBE = function(e, t, n, r) { + if (e = +e, t |= 0, !r) { + var o = Math.pow(2, 8 * n - 1); + I(this, e, t, n, o - 1, -o) + } + var i = n - 1, + a = 1, + u = 0; + for (this[t + i] = 255 & e; --i >= 0 && (a *= 256);) e < 0 && 0 === u && 0 !== this[t + i + 1] && (u = 1), this[t + i] = (e / a >> 0) - u & 255; + return t + n + }, s.prototype.writeInt8 = function(e, t, n) { + return e = +e, t |= 0, n || I(this, e, t, 1, 127, -128), s.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), e < 0 && (e = 255 + e + 1), this[t] = 255 & e, t + 1 + }, s.prototype.writeInt16LE = function(e, t, n) { + return e = +e, t |= 0, n || I(this, e, t, 2, 32767, -32768), s.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : j(this, e, t, !0), t + 2 + }, s.prototype.writeInt16BE = function(e, t, n) { + return e = +e, t |= 0, n || I(this, e, t, 2, 32767, -32768), s.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : j(this, e, t, !1), t + 2 + }, s.prototype.writeInt32LE = function(e, t, n) { + return e = +e, t |= 0, n || I(this, e, t, 4, 2147483647, -2147483648), s.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24) : N(this, e, t, !0), t + 4 + }, s.prototype.writeInt32BE = function(e, t, n) { + return e = +e, t |= 0, n || I(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), s.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : N(this, e, t, !1), t + 4 + }, s.prototype.writeFloatLE = function(e, t, n) { + return D(this, e, t, !0, n) + }, s.prototype.writeFloatBE = function(e, t, n) { + return D(this, e, t, !1, n) + }, s.prototype.writeDoubleLE = function(e, t, n) { + return L(this, e, t, !0, n) + }, s.prototype.writeDoubleBE = function(e, t, n) { + return L(this, e, t, !1, n) + }, s.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 || !s.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 + }, s.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 && !s.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; + var i; + if (t >>>= 0, n = void 0 === n ? this.length : n >>> 0, e || (e = 0), "number" == typeof e) + for (i = t; i < n; ++i) this[i] = e; + else { + var a = s.isBuffer(e) ? e : F(new s(e, r).toString()), + u = a.length; + for (i = 0; i < n - t; ++i) this[i + t] = a[i % u] + } + return this + }; + var U = /[^+\/0-9A-Za-z-_]/g; + + function q(e) { + return e < 16 ? "0" + e.toString(16) : e.toString(16) + } + + function F(e, t) { + var n; + t = t || 1 / 0; + for (var r = e.length, o = null, i = [], a = 0; a < r; ++a) { + if ((n = e.charCodeAt(a)) > 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 = 65536 + (o - 55296 << 10 | n - 56320) + } 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 z(e) { + return r.toByteArray(function(e) { + if ((e = function(e) { + return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "") + }(e).replace(U, "")).length < 2) return ""; + for (; e.length % 4 != 0;) e += "="; + return e + }(e)) + } + + function B(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 + } + }).call(t, n(31)) + }, function(e, t) { + var n, r, o = e.exports = {}; + + function i() { + throw new Error("setTimeout has not been defined") + } + + function a() { + throw new Error("clearTimeout has not been defined") + } + + function u(e) { + if (n === setTimeout) return setTimeout(e, 0); + if ((n === i || !n) && setTimeout) return n = setTimeout, setTimeout(e, 0); + try { + return n(e, 0) + } catch (t) { + try { + return n.call(null, e, 0) + } catch (t) { + return n.call(this, e, 0) + } + } + }! function() { + try { + n = "function" == typeof setTimeout ? setTimeout : i + } catch (e) { + n = i + } + try { + r = "function" == typeof clearTimeout ? clearTimeout : a + } catch (e) { + r = a + } + }(); + var s, l = [], + c = !1, + f = -1; + + function p() { + c && s && (c = !1, s.length ? l = s.concat(l) : f = -1, l.length && d()) + } + + function d() { + if (!c) { + var e = u(p); + c = !0; + for (var t = l.length; t;) { + for (s = l, l = []; ++f < t;) s && s[f].run(); + f = -1, t = l.length + } + s = null, c = !1, + function(e) { + if (r === clearTimeout) return clearTimeout(e); + if ((r === a || !r) && clearTimeout) return r = clearTimeout, clearTimeout(e); + try { + r(e) + } catch (t) { + try { + return r.call(null, e) + } catch (t) { + return r.call(this, e) + } + } + }(e) + } + } + + function h(e, t) { + this.fun = e, this.array = t + } + + function v() {} + o.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]; + l.push(new h(e, t)), 1 !== l.length || c || u(d) + }, h.prototype.run = function() { + this.fun.apply(null, this.array) + }, o.title = "browser", o.browser = !0, o.env = {}, o.argv = [], o.version = "", o.versions = {}, o.on = v, o.addListener = v, o.once = v, o.off = v, o.removeListener = v, o.removeAllListeners = v, o.emit = v, o.prependListener = v, o.prependOnceListener = v, o.listeners = function(e) { + return [] + }, o.binding = function(e) { + throw new Error("process.binding is not supported") + }, o.cwd = function() { + return "/" + }, o.chdir = function(e) { + throw new Error("process.chdir is not supported") + }, o.umask = function() { + return 0 + } + }, function(e, t, n) { + "use strict"; + e.exports = function(e) { + if ("function" != typeof e) throw new TypeError(e + " is not a function"); + return e + } + }, function(e, t, n) { + "use strict"; + + function r(e, t) { + return e === t + } + + function o(e) { + var t = arguments.length <= 1 || void 0 === arguments[1] ? r : arguments[1], + n = null, + o = null; + return function() { + for (var r = arguments.length, i = Array(r), a = 0; a < r; a++) i[a] = arguments[a]; + return null !== n && n.length === i.length && i.every(function(e, r) { + return t(e, n[r]) + }) || (o = e.apply(void 0, i)), n = i, o + } + } + + function i(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), o = 0; o < t; o++) r[o] = arguments[o]; + var i = 0, + a = r.pop(), + u = function(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 + }(r), + s = e.apply(void 0, [function() { + return i++, a.apply(void 0, arguments) + }].concat(n)), + l = function(e, t) { + for (var n = arguments.length, r = Array(n > 2 ? n - 2 : 0), o = 2; o < n; o++) r[o - 2] = arguments[o]; + var i = u.map(function(n) { + return n.apply(void 0, [e, t].concat(r)) + }); + return s.apply(void 0, function(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) + }(i)) + }; + return l.resultFunc = a, l.recomputations = function() { + return i + }, l.resetRecomputations = function() { + return i = 0 + }, l + } + } + t.__esModule = !0, t.defaultMemoize = o, t.createSelectorCreator = i, t.createStructuredSelector = function(e) { + var t = arguments.length <= 1 || void 0 === arguments[1] ? a : arguments[1]; + 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 + }, {}) + }) + }; + var a = t.createSelector = i(o) + }, function(e, t, n) { + var r = n(117), + o = n(243); + e.exports = n(100) ? function(e, t, n) { + return r.f(e, t, o(1, n)) + } : function(e, t, n) { + return e[t] = n, e + } + }, function(e, t, n) { + var r = n(74); + e.exports = function(e) { + if (!r(e)) throw TypeError(e + " is not an object!"); + return e + } + }, function(e, t) { + var n = e.exports = { + version: "2.5.5" + }; + "number" == typeof __e && (__e = n) + }, function(e, t, n) { + var r = n(277); + e.exports = function(e) { + return null == e ? "" : r(e) + } + }, function(e, t, n) { + var r = n(77), + o = n(574), + i = n(575), + a = "[object Null]", + u = "[object Undefined]", + s = r ? r.toStringTag : void 0; + e.exports = function(e) { + return null == e ? void 0 === e ? u : a : s && s in Object(e) ? o(e) : i(e) + } + }, function(e, t, n) { + var r = n(592), + o = n(595); + e.exports = function(e, t) { + var n = o(e, t); + return r(n) ? n : void 0 + } + }, function(e, t, n) { + var r = n(295), + o = n(632), + i = n(78); + e.exports = function(e) { + return i(e) ? r(e) : o(e) + } + }, function(e, t, n) { + "use strict"; + var r = n(140), + o = Object.keys || function(e) { + var t = []; + for (var n in e) t.push(n); + return t + }; + e.exports = f; + var i = n(106); + i.inherits = n(81); + var a = n(305), + u = n(195); + i.inherits(f, a); + for (var s = o(u.prototype), l = 0; l < s.length; l++) { + var c = s[l]; + f.prototype[c] || (f.prototype[c] = u.prototype[c]) + } + + function f(e) { + if (!(this instanceof f)) return new f(e); + a.call(this, e), u.call(this, e), e && !1 === e.readable && (this.readable = !1), e && !1 === e.writable && (this.writable = !1), this.allowHalfOpen = !0, e && !1 === e.allowHalfOpen && (this.allowHalfOpen = !1), this.once("end", p) + } + + function p() { + this.allowHalfOpen || this._writableState.ended || r.nextTick(d, this) + } + + function d(e) { + e.end() + } + Object.defineProperty(f.prototype, "writableHighWaterMark", { + enumerable: !1, + get: function() { + return this._writableState.highWaterMark + } + }), Object.defineProperty(f.prototype, "destroyed", { + get: function() { + return void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed && this._writableState.destroyed) + }, + set: function(e) { + void 0 !== this._readableState && void 0 !== this._writableState && (this._readableState.destroyed = e, this._writableState.destroyed = e) + } + }), f.prototype._destroy = function(e, t) { + this.push(null), this.end(), r.nextTick(t, e) + } + }, function(e, t, n) { + "use strict"; + var r = n(312)(); + e.exports = function(e) { + return e !== r && null !== e + } + }, function(e, t, n) { + "use strict"; + var r = n(670), + o = Math.max; + e.exports = function(e) { + return o(0, r(e)) + } + }, function(e, t, n) { + "use strict" + }, function(e, t, n) { + "use strict"; + var r = n(11), + o = (n(8), function(e) { + if (this.instancePool.length) { + var t = this.instancePool.pop(); + return this.call(t, e), t + } + return new this(e) + }), + i = function(e) { + e instanceof this || r("25"), e.destructor(), this.instancePool.length < this.poolSize && this.instancePool.push(e) + }, + a = o, + u = { + addPoolingTo: function(e, t) { + var n = e; + return n.instancePool = [], n.getPooled = t || a, n.poolSize || (n.poolSize = 10), n.release = i, n + }, + oneArgumentPooler: o, + twoArgumentPooler: function(e, t) { + if (this.instancePool.length) { + var n = this.instancePool.pop(); + return this.call(n, e, t), n + } + return new this(e, t) + }, + threeArgumentPooler: function(e, t, n) { + if (this.instancePool.length) { + var r = this.instancePool.pop(); + return this.call(r, e, t, n), r + } + return new this(e, t, n) + }, + fourArgumentPooler: function(e, t, n, r) { + if (this.instancePool.length) { + var o = this.instancePool.pop(); + return this.call(o, e, t, n, r), o + } + return new this(e, t, n, r) + } + }; + e.exports = u + }, function(e, t) { + e.exports = {} + }, function(e, t, n) { + var r = n(154), + o = n(155); + e.exports = function(e) { + return r(o(e)) + } + }, function(e, t, n) { + var r = n(155); + e.exports = function(e) { + return Object(r(e)) + } + }, function(e, t, n) { + var r = n(33), + o = n(58), + i = n(118), + a = n(167)("src"), + u = Function.toString, + s = ("" + u).split("toString"); + n(60).inspectSource = function(e) { + return u.call(e) + }, (e.exports = function(e, t, n, u) { + var l = "function" == typeof n; + l && (i(n, "name") || o(n, "name", t)), e[t] !== n && (l && (i(n, a) || o(n, a, e[t] ? "" + e[t] : s.join(String(t)))), e === r ? e[t] = n : u ? e[t] ? e[t] = n : o(e, t, n) : (delete e[t], o(e, t, n))) + })(Function.prototype, "toString", function() { + return "function" == typeof this && this[a] || u.call(this) + }) + }, function(e, t) { + e.exports = function(e) { + return "object" == typeof e ? null !== e : "function" == typeof e + } + }, function(e, t, n) { + "use strict"; + var r = n(13), + o = n(264), + i = n(536), + a = n(541), + u = n(76), + s = n(542), + l = n(545), + c = n(546), + f = n(548), + p = u.createElement, + d = u.createFactory, + h = u.cloneElement, + v = r, + m = function(e) { + return e + }, + g = { + Children: { + map: i.map, + forEach: i.forEach, + count: i.count, + toArray: i.toArray, + only: f + }, + Component: o.Component, + PureComponent: o.PureComponent, + createElement: p, + cloneElement: h, + isValidElement: u.isValidElement, + PropTypes: s, + createClass: c, + createFactory: d, + createMixin: m, + DOM: a, + version: l, + __spread: v + }; + e.exports = g + }, function(e, t, n) { + "use strict"; + var r = n(13), + o = n(46), + i = (n(9), n(266), Object.prototype.hasOwnProperty), + a = n(267), + u = { + key: !0, + ref: !0, + __self: !0, + __source: !0 + }; + + function s(e) { + return void 0 !== e.ref + } + + function l(e) { + return void 0 !== e.key + } + var c = function(e, t, n, r, o, i, u) { + var s = { + $$typeof: a, + type: e, + key: t, + ref: n, + props: u, + _owner: i + }; + return s + }; + c.createElement = function(e, t, n) { + var r, a = {}, + f = null, + p = null; + if (null != t) + for (r in s(t) && (p = t.ref), l(t) && (f = "" + t.key), void 0 === t.__self ? null : t.__self, void 0 === t.__source ? null : t.__source, t) i.call(t, r) && !u.hasOwnProperty(r) && (a[r] = t[r]); + var d = arguments.length - 2; + if (1 === d) a.children = n; + else if (d > 1) { + for (var h = Array(d), v = 0; v < d; v++) h[v] = arguments[v + 2]; + 0, a.children = h + } + if (e && e.defaultProps) { + var m = e.defaultProps; + for (r in m) void 0 === a[r] && (a[r] = m[r]) + } + return c(e, f, p, 0, 0, o.current, a) + }, c.createFactory = function(e) { + var t = c.createElement.bind(null, e); + return t.type = e, t + }, c.cloneAndReplaceKey = function(e, t) { + return c(e.type, t, e.ref, e._self, e._source, e._owner, e.props) + }, c.cloneElement = function(e, t, n) { + var a, f, p = r({}, e.props), + d = e.key, + h = e.ref, + v = (e._self, e._source, e._owner); + if (null != t) + for (a in s(t) && (h = t.ref, v = o.current), l(t) && (d = "" + t.key), e.type && e.type.defaultProps && (f = e.type.defaultProps), t) i.call(t, a) && !u.hasOwnProperty(a) && (void 0 === t[a] && void 0 !== f ? p[a] = f[a] : p[a] = t[a]); + var m = arguments.length - 2; + if (1 === m) p.children = n; + else if (m > 1) { + for (var g = Array(m), y = 0; y < m; y++) g[y] = arguments[y + 2]; + p.children = g + } + return c(e.type, d, h, 0, 0, v, p) + }, c.isValidElement = function(e) { + return "object" == typeof e && null !== e && e.$$typeof === a + }, e.exports = c + }, function(e, t, n) { + var r = n(37).Symbol; + e.exports = r + }, function(e, t, n) { + var r = n(285), + o = n(187); + e.exports = function(e) { + return null != e && o(e.length) && !r(e) + } + }, function(e, t, n) { + var r = n(24), + o = n(190), + i = n(640), + a = n(61); + e.exports = function(e, t) { + return r(e) ? e : o(e, t) ? [e] : i(a(e)) + } + }, function(e, t, n) { + var r = n(128), + o = 1 / 0; + e.exports = function(e) { + if ("string" == typeof e || r(e)) return e; + var t = e + ""; + return "0" == t && 1 / e == -o ? "-0" : t + } + }, 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) { + "use strict"; + var r = n(66); + e.exports = function(e) { + if (!r(e)) throw new TypeError("Cannot use null or undefined"); + return e + } + }, function(e, t, n) { + "use strict"; + t.__esModule = !0; + var r, o = n(728), + i = (r = o) && r.__esModule ? r : { + default: r + }; + t.default = function(e) { + if (Array.isArray(e)) { + for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t]; + return n + } + return (0, i.default)(e) + } + }, function(e, t, n) { + "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) { + "use strict"; + + function r(e) { + return void 0 === e || null === e + } + e.exports.isNothing = r, e.exports.isObject = function(e) { + return "object" == typeof e && null !== e + }, e.exports.toArray = function(e) { + return Array.isArray(e) ? e : r(e) ? [] : [e] + }, e.exports.repeat = function(e, t) { + var n, r = ""; + for (n = 0; n < t; n += 1) r += e; + return r + }, e.exports.isNegativeZero = function(e) { + return 0 === e && Number.NEGATIVE_INFINITY === 1 / e + }, e.exports.extend = function(e, t) { + var n, r, o, i; + if (t) + for (n = 0, r = (i = Object.keys(t)).length; n < r; n += 1) e[o = i[n]] = t[o]; + return e + } + }, function(e, t, n) { + "use strict"; + var r = n(85), + o = n(107), + i = n(16); + + function a(e, t, n) { + var r = []; + return e.include.forEach(function(e) { + n = a(e, t, n) + }), e[t].forEach(function(e) { + n.forEach(function(t, n) { + t.tag === e.tag && t.kind === e.kind && r.push(n) + }), n.push(e) + }), n.filter(function(e, t) { + return -1 === r.indexOf(t) + }) + } + + function u(e) { + this.include = e.include || [], this.implicit = e.implicit || [], this.explicit = e.explicit || [], this.implicit.forEach(function(e) { + if (e.loadKind && "scalar" !== e.loadKind) throw new o("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.") + }), this.compiledImplicit = a(this, "implicit", []), this.compiledExplicit = a(this, "explicit", []), this.compiledTypeMap = function() { + var e, t, n = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {} + }; + + function r(e) { + n[e.kind][e.tag] = n.fallback[e.tag] = e + } + for (e = 0, t = arguments.length; e < t; e += 1) arguments[e].forEach(r); + return n + }(this.compiledImplicit, this.compiledExplicit) + } + u.DEFAULT = null, u.create = function() { + var e, t; + switch (arguments.length) { + case 1: + e = u.DEFAULT, t = arguments[0]; + break; + case 2: + e = arguments[0], t = arguments[1]; + break; + default: + throw new o("Wrong number of arguments for Schema.create function") + } + if (e = r.toArray(e), t = r.toArray(t), !e.every(function(e) { + return e instanceof u + })) throw new o("Specified list of super schemas (or a single Schema object) contains a non-Schema object."); + if (!t.every(function(e) { + return e instanceof i + })) throw new o("Specified list of YAML types (or a single Type object) contains a non-Type object."); + return new u({ + include: e, + explicit: t + }) + }, e.exports = u + }, function(e, t, n) { + "use strict"; + var r = n(11); + n(8); + + function o(e, t) { + return (e & t) === t + } + var i = { + 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 || {}, + s = e.DOMAttributeNames || {}, + l = e.DOMPropertyNames || {}, + c = e.DOMMutationMethods || {}; + for (var f in e.isCustomAttribute && u._isCustomAttributeFunctions.push(e.isCustomAttribute), n) { + u.properties.hasOwnProperty(f) && r("48", f); + var p = f.toLowerCase(), + d = n[f], + h = { + attributeName: p, + attributeNamespace: null, + propertyName: f, + mutationMethod: null, + mustUseProperty: o(d, t.MUST_USE_PROPERTY), + hasBooleanValue: o(d, t.HAS_BOOLEAN_VALUE), + hasNumericValue: o(d, t.HAS_NUMERIC_VALUE), + hasPositiveNumericValue: o(d, t.HAS_POSITIVE_NUMERIC_VALUE), + hasOverloadedBooleanValue: o(d, t.HAS_OVERLOADED_BOOLEAN_VALUE) + }; + if (h.hasBooleanValue + h.hasNumericValue + h.hasOverloadedBooleanValue <= 1 || r("50", f), s.hasOwnProperty(f)) { + var v = s[f]; + h.attributeName = v + } + a.hasOwnProperty(f) && (h.attributeNamespace = a[f]), l.hasOwnProperty(f) && (h.propertyName = l[f]), c.hasOwnProperty(f) && (h.mutationMethod = c[f]), u.properties[f] = 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", + u = { + 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 < u._isCustomAttributeFunctions.length; t++) { + if ((0, u._isCustomAttributeFunctions[t])(e)) return !0 + } + return !1 + }, + injection: i + }; + e.exports = u + }, function(e, t, n) { + "use strict"; + var r = n(783); + n(39), n(9); + + function o() { + r.attachRefs(this, this._currentElement) + } + var i = { + mountComponent: function(e, t, n, r, i, a) { + var u = e.mountComponent(t, n, r, i, a); + return e._currentElement && null != e._currentElement.ref && t.getReactMountReady().enqueue(o, e), u + }, + getHostNode: function(e) { + return e.getHostNode() + }, + unmountComponent: function(e, t) { + r.detachRefs(e, e._currentElement), e.unmountComponent(t) + }, + receiveComponent: function(e, t, n, i) { + var a = e._currentElement; + if (t !== a || i !== e._context) { + 0; + var u = r.shouldUpdateRefs(a, t); + u && r.detachRefs(e, a), e.receiveComponent(t, n, i), u && e._currentElement && null != e._currentElement.ref && n.getReactMountReady().enqueue(o, e) + } + }, + performUpdateIfNecessary: function(e, t, n) { + e._updateBatchNumber === n && e.performUpdateIfNecessary(t) + } + }; + e.exports = i + }, function(e, t, n) { + "use strict"; + var r = n(217), + o = n(149), + i = n(218), + a = n(359), + u = "undefined" != typeof document && "number" == typeof document.documentMode || "undefined" != typeof navigator && "string" == typeof navigator.userAgent && /\bEdge\/\d/.test(navigator.userAgent); + + function s(e) { + if (u) { + var t = e.node, + n = e.children; + if (n.length) + for (var r = 0; r < n.length; r++) l(t, n[r], null); + else null != e.html ? o(t, e.html) : null != e.text && a(t, e.text) + } + } + var l = i(function(e, t, n) { + 11 === t.node.nodeType || 1 === t.node.nodeType && "object" === t.node.nodeName.toLowerCase() && (null == t.node.namespaceURI || t.node.namespaceURI === r.html) ? (s(t), e.insertBefore(t.node, n)) : (e.insertBefore(t.node, n), s(t)) + }); + + function c() { + return this.node.nodeName + } + + function f(e) { + return { + node: e, + children: [], + html: null, + text: null, + toString: c + } + } + f.insertTreeBefore = l, f.replaceChildWithTree = function(e, t) { + e.parentNode.replaceChild(t.node, e), s(t) + }, f.queueChild = function(e, t) { + u ? e.children.push(t) : e.node.appendChild(t.node) + }, f.queueHTML = function(e, t) { + u ? e.html = t : o(e.node, t) + }, f.queueText = function(e, t) { + u ? e.text = t : a(e.node, t) + }, e.exports = f + }, function(e, t, n) { + var r = n(146), + o = n(344); + e.exports = function(e, t, n, i) { + var a = !n; + n || (n = {}); + for (var u = -1, s = t.length; ++u < s;) { + var l = t[u], + c = i ? i(n[l], e[l], l, n, e) : void 0; + void 0 === c && (c = e[l]), a ? o(n, l, c) : r(n, l, c) + } + return n + } + }, function(e, t, n) { + e.exports = { + default: n(447), + __esModule: !0 + } + }, function(e, t, n) { + n(448); + for (var r = n(21), o = n(50), i = n(70), a = n(19)("toStringTag"), u = "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(","), s = 0; s < u.length; s++) { + var l = u[s], + c = r[l], + f = c && c.prototype; + f && !f[a] && o(f, a, l), i[l] = i.Array + } + }, function(e, t) { + var n = {}.toString; + e.exports = function(e) { + return n.call(e).slice(8, -1) + } + }, function(e, t) { + e.exports = function(e) { + if ("function" != typeof e) throw TypeError(e + " is not a function!"); + return e + } + }, 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(239), + o = n(163); + e.exports = Object.keys || function(e) { + return r(e, o) + } + }, function(e, t, n) { + var r = n(40).f, + o = n(52), + i = n(19)("toStringTag"); + e.exports = function(e, t, n) { + e && !o(e = n ? e : e.prototype, i) && r(e, i, { + configurable: !0, + value: t + }) + } + }, function(e, t, n) { + "use strict"; + var r = n(455)(!0); + n(237)(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 = r(t, n), this._i += e.length, { + value: e, + done: !1 + }) + }) + }, function(e, t) { + var n = {}.toString; + e.exports = function(e) { + return n.call(e).slice(8, -1) + } + }, function(e, t, n) { + e.exports = !n(101)(function() { + return 7 != Object.defineProperty({}, "a", { + get: function() { + return 7 + } + }).a + }) + }, function(e, t) { + e.exports = function(e) { + try { + return !!e() + } catch (e) { + return !0 + } + } + }, function(e, t) { + e.exports = {} + }, function(e, t, n) { + var r = n(119), + o = Math.min; + e.exports = function(e) { + return e > 0 ? o(r(e), 9007199254740991) : 0 + } + }, function(e, t, n) { + "use strict"; + e.exports = function(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 + } + }, function(e, t) { + e.exports = function(e, t) { + return e === t || e != e && t != t + } + }, function(e, t, n) { + (function(e) { + function n(e) { + return Object.prototype.toString.call(e) + } + t.isArray = function(e) { + return Array.isArray ? Array.isArray(e) : "[object Array]" === n(e) + }, t.isBoolean = function(e) { + return "boolean" == typeof e + }, t.isNull = function(e) { + return null === e + }, t.isNullOrUndefined = function(e) { + return null == e + }, t.isNumber = function(e) { + return "number" == typeof e + }, t.isString = function(e) { + return "string" == typeof e + }, t.isSymbol = function(e) { + return "symbol" == typeof e + }, t.isUndefined = function(e) { + return void 0 === e + }, t.isRegExp = function(e) { + return "[object RegExp]" === n(e) + }, t.isObject = function(e) { + return "object" == typeof e && null !== e + }, t.isDate = function(e) { + return "[object Date]" === n(e) + }, t.isError = function(e) { + return "[object Error]" === n(e) || e instanceof Error + }, t.isFunction = function(e) { + return "function" == typeof e + }, t.isPrimitive = function(e) { + return null === e || "boolean" == typeof e || "number" == typeof e || "string" == typeof e || "symbol" == typeof e || void 0 === e + }, t.isBuffer = e.isBuffer + }).call(t, n(54).Buffer) + }, function(e, t, n) { + "use strict"; + + function r(e, t) { + Error.call(this), this.name = "YAMLException", this.reason = e, this.mark = t, this.message = (this.reason || "(unknown reason)") + (this.mark ? " " + this.mark.toString() : ""), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = (new Error).stack || "" + } + r.prototype = Object.create(Error.prototype), r.prototype.constructor = r, r.prototype.toString = function(e) { + var t = this.name + ": "; + return t += this.reason || "(unknown reason)", !e && this.mark && (t += " " + this.mark.toString()), t + }, e.exports = r + }, function(e, t, n) { + "use strict"; + var r = n(86); + e.exports = new r({ + include: [n(340)], + implicit: [n(751), n(752)], + explicit: [n(753), n(754), n(755), n(756)] + }) + }, function(e, t, n) { + "use strict"; + var r = n(110), + o = n(211), + i = n(351), + a = n(352), + u = (n(9), r.getListener); + + function s(e, t, n) { + var r = function(e, t, n) { + var r = t.dispatchConfig.phasedRegistrationNames[n]; + return u(e, r) + }(e, n, t); + r && (n._dispatchListeners = i(n._dispatchListeners, r), n._dispatchInstances = i(n._dispatchInstances, e)) + } + + function l(e) { + e && e.dispatchConfig.phasedRegistrationNames && o.traverseTwoPhase(e._targetInst, s, e) + } + + function c(e) { + if (e && e.dispatchConfig.phasedRegistrationNames) { + var t = e._targetInst, + n = t ? o.getParentInstance(t) : null; + o.traverseTwoPhase(n, s, e) + } + } + + function f(e, t, n) { + if (n && n.dispatchConfig.registrationName) { + var r = n.dispatchConfig.registrationName, + o = u(e, r); + o && (n._dispatchListeners = i(n._dispatchListeners, o), n._dispatchInstances = i(n._dispatchInstances, e)) + } + } + + function p(e) { + e && e.dispatchConfig.registrationName && f(e._targetInst, 0, e) + } + var d = { + accumulateTwoPhaseDispatches: function(e) { + a(e, l) + }, + accumulateTwoPhaseDispatchesSkipTarget: function(e) { + a(e, c) + }, + accumulateDirectDispatches: function(e) { + a(e, p) + }, + accumulateEnterLeaveDispatches: function(e, t, n, r) { + o.traverseEnterLeave(n, r, f, e, t) + } + }; + e.exports = d + }, function(e, t, n) { + "use strict"; + var r = n(11), + o = n(210), + i = n(211), + a = n(212), + u = n(351), + s = n(352), + l = (n(8), {}), + c = null, + f = function(e, t) { + e && (i.executeDispatchesInOrder(e, t), e.isPersistent() || e.constructor.release(e)) + }, + p = function(e) { + return f(e, !0) + }, + d = function(e) { + return f(e, !1) + }, + h = function(e) { + return "." + e._rootNodeID + }; + var v = { + injection: { + injectEventPluginOrder: o.injectEventPluginOrder, + injectEventPluginsByName: o.injectEventPluginsByName + }, + putListener: function(e, t, n) { + "function" != typeof n && r("94", t, typeof n); + var i = h(e); + (l[t] || (l[t] = {}))[i] = n; + var a = o.registrationNameModules[t]; + a && a.didPutListener && a.didPutListener(e, t, n) + }, + getListener: function(e, t) { + var n = l[t]; + if (function(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, "button" !== r && "input" !== r && "select" !== r && "textarea" !== r)); + default: + return !1 + } + var r + }(t, e._currentElement.type, e._currentElement.props)) return null; + var r = h(e); + return n && n[r] + }, + deleteListener: function(e, t) { + var n = o.registrationNameModules[t]; + n && n.willDeleteListener && n.willDeleteListener(e, t); + var r = l[t]; + r && delete r[h(e)] + }, + deleteAllListeners: function(e) { + var t = h(e); + for (var n in l) + if (l.hasOwnProperty(n) && l[n][t]) { + var r = o.registrationNameModules[n]; + r && r.willDeleteListener && r.willDeleteListener(e, n), delete l[n][t] + } + }, + extractEvents: function(e, t, n, r) { + for (var i, a = o.plugins, s = 0; s < a.length; s++) { + var l = a[s]; + if (l) { + var c = l.extractEvents(e, t, n, r); + c && (i = u(i, c)) + } + } + return i + }, + enqueueEvents: function(e) { + e && (c = u(c, e)) + }, + processEventQueue: function(e) { + var t = c; + c = null, s(t, e ? p : d), c && r("95"), a.rethrowCaughtError() + }, + __purge: function() { + l = {} + }, + __getListenerBank: function() { + return l + } + }; + e.exports = v + }, function(e, t, n) { + "use strict"; + var r = n(48), + o = n(213), + i = { + view: function(e) { + if (e.view) return e.view; + var t = o(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 + } + }; + + function a(e, t, n, o) { + return r.call(this, e, t, n, o) + } + r.augmentClass(a, i), e.exports = a + }, function(e, t, n) { + "use strict"; + var r = { + 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 = r + }, function(e, t, n) { + var r; + /*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames + */ + /*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames + */ + ! function() { + "use strict"; + var n = {}.hasOwnProperty; + + function o() { + for (var e = [], t = 0; t < arguments.length; t++) { + var r = arguments[t]; + if (r) { + var i = typeof r; + if ("string" === i || "number" === i) e.push(r); + else if (Array.isArray(r)) e.push(o.apply(null, r)); + else if ("object" === i) + for (var a in r) n.call(r, a) && r[a] && e.push(a) + } + } + return e.join(" ") + } + void 0 !== e && e.exports ? e.exports = o : void 0 === (r = function() { + return o + }.apply(t, [])) || (e.exports = r) + }() + }, function(e, t) { + e.exports = !0 + }, function(e, t, n) { + var r = n(160), + o = Math.min; + e.exports = function(e) { + return e > 0 ? o(r(e), 9007199254740991) : 0 + } + }, 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) { + var r = n(59), + o = n(459), + i = n(460), + a = Object.defineProperty; + t.f = n(100) ? Object.defineProperty : function(e, t, n) { + if (r(e), t = i(t, !0), r(n), o) try { + return a(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) { + var n = {}.hasOwnProperty; + e.exports = function(e, t) { + return n.call(e, t) + } + }, function(e, t) { + var n = Math.ceil, + r = Math.floor; + e.exports = function(e) { + return isNaN(e = +e) ? 0 : (e > 0 ? r : n)(e) + } + }, function(e, t, n) { + var r = n(121); + e.exports = function(e, t, n) { + if (r(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) { + e.exports = function(e) { + if ("function" != typeof e) throw TypeError(e + " is not a function!"); + return e + } + }, function(e, t, n) { + var r = n(465), + o = n(53); + e.exports = function(e) { + return r(o(e)) + } + }, function(e, t, n) { + "use strict"; + var r = n(58), + o = n(73), + i = n(101), + a = n(53), + u = n(17); + e.exports = function(e, t, n) { + var s = u(e), + l = n(a, s, "" [e]), + c = l[0], + f = l[1]; + i(function() { + var t = {}; + return t[s] = function() { + return 7 + }, 7 != "" [e](t) + }) && (o(String.prototype, e, c), r(RegExp.prototype, s, 2 == t ? function(e, t) { + return f.call(e, this, t) + } : function(e) { + return f.call(e, this) + })) + } + }, function(e, t, n) { + var r = n(116)("meta"), + o = n(28), + i = n(52), + a = n(40).f, + u = 0, + s = Object.isExtensible || function() { + return !0 + }, + l = !n(51)(function() { + return s(Object.preventExtensions({})) + }), + c = function(e) { + a(e, r, { + value: { + i: "O" + ++u, + w: {} + } + }) + }, + f = e.exports = { + KEY: r, + NEED: !1, + fastKey: function(e, t) { + if (!o(e)) return "symbol" == typeof e ? e : ("string" == typeof e ? "S" : "P") + e; + if (!i(e, r)) { + if (!s(e)) return "F"; + if (!t) return "E"; + c(e) + } + return e[r].i + }, + getWeak: function(e, t) { + if (!i(e, r)) { + if (!s(e)) return !0; + if (!t) return !1; + c(e) + } + return e[r].w + }, + onFreeze: function(e) { + return l && f.NEED && s(e) && !i(e, r) && c(e), e + } + } + }, function(e, t) { + t.f = {}.propertyIsEnumerable + }, function(e, t, n) { + "use strict"; + var r = {}; + e.exports = r + }, function(e, t, n) { + "use strict"; + Object.defineProperty(t, "__esModule", { + value: !0 + }), t.CLEAR_BY = t.CLEAR = t.NEW_AUTH_ERR = t.NEW_SPEC_ERR_BATCH = t.NEW_SPEC_ERR = t.NEW_THROWN_ERR_BATCH = t.NEW_THROWN_ERR = void 0, t.newThrownErr = function(e) { + return { + type: a, + payload: (0, i.default)(e) + } + }, t.newThrownErrBatch = function(e) { + return { + type: u, + payload: e + } + }, t.newSpecErr = function(e) { + return { + type: s, + payload: e + } + }, t.newSpecErrBatch = function(e) { + return { + type: l, + payload: e + } + }, t.newAuthErr = function(e) { + return { + type: c, + payload: e + } + }, t.clear = function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + return { + type: f, + payload: e + } + }, t.clearBy = function() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : function() { + return !0 + }; + return { + type: p, + payload: e + } + }; + var r, o = n(179), + i = (r = o) && r.__esModule ? r : { + default: r + }; + var a = t.NEW_THROWN_ERR = "err_new_thrown_err", + u = t.NEW_THROWN_ERR_BATCH = "err_new_thrown_err_batch", + s = t.NEW_SPEC_ERR = "err_new_spec_err", + l = t.NEW_SPEC_ERR_BATCH = "err_new_spec_err_batch", + c = t.NEW_AUTH_ERR = "err_new_auth_err", + f = t.CLEAR = "err_clear", + p = t.CLEAR_BY = "err_clear_by" + }, function(e, t, n) { + var r = n(62), + o = n(47), + i = "[object Symbol]"; + e.exports = function(e) { + return "symbol" == typeof e || o(e) && r(e) == i + } + }, function(e, t, n) { + var r = n(63)(Object, "create"); + e.exports = r + }, function(e, t, n) { + var r = n(600), + o = n(601), + i = n(602), + a = n(603), + u = n(604); + + function s(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]) + } + } + s.prototype.clear = r, s.prototype.delete = o, s.prototype.get = i, s.prototype.has = a, s.prototype.set = u, e.exports = s + }, function(e, t, n) { + var r = n(105); + e.exports = function(e, t) { + for (var n = e.length; n--;) + if (r(e[n][0], t)) return n; + return -1 + } + }, function(e, t, n) { + var r = n(606); + e.exports = function(e, t) { + var n = e.__data__; + return r(t) ? n["string" == typeof t ? "string" : "hash"] : n.map + } + }, function(e, t, n) { + var r = n(611), + o = n(639), + i = n(191), + a = n(24), + u = n(644); + e.exports = function(e) { + return "function" == typeof e ? e : null == e ? i : "object" == typeof e ? a(e) ? o(e[0], e[1]) : r(e) : u(e) + } + }, function(e, t) { + e.exports = function(e) { + return e.webpackPolyfill || (e.deprecate = function() {}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", { + enumerable: !0, + get: function() { + return e.l + } + }), Object.defineProperty(e, "id", { + enumerable: !0, + get: function() { + return e.i + } + }), e.webpackPolyfill = 1), e + } + }, function(e, t) { + var n = 9007199254740991, + r = /^(?:0|[1-9]\d*)$/; + e.exports = function(e, t) { + var o = typeof e; + return !!(t = null == t ? n : t) && ("number" == o || "symbol" != o && r.test(e)) && e > -1 && e % 1 == 0 && e < t + } + }, function(e, t) { + var n = Object.prototype; + e.exports = function(e) { + var t = e && e.constructor; + return e === ("function" == typeof t && t.prototype || n) + } + }, function(e, t, n) { + var r = n(634), + o = n(181), + i = n(635), + a = n(636), + u = n(637), + s = n(62), + l = n(286), + c = l(r), + f = l(o), + p = l(i), + d = l(a), + h = l(u), + v = s; + (r && "[object DataView]" != v(new r(new ArrayBuffer(1))) || o && "[object Map]" != v(new o) || i && "[object Promise]" != v(i.resolve()) || a && "[object Set]" != v(new a) || u && "[object WeakMap]" != v(new u)) && (v = function(e) { + var t = s(e), + n = "[object Object]" == t ? e.constructor : void 0, + r = n ? l(n) : ""; + if (r) switch (r) { + case c: + return "[object DataView]"; + case f: + return "[object Map]"; + case p: + return "[object Promise]"; + case d: + return "[object Set]"; + case h: + return "[object WeakMap]" + } + return t + }), e.exports = v + }, function(e, t, n) { + var r = n(139); + e.exports = function(e, t, n) { + var o = null == e ? void 0 : r(e, t); + return void 0 === o ? n : o + } + }, function(e, t, n) { + var r = n(79), + o = n(80); + e.exports = function(e, t) { + for (var n = 0, i = (t = r(t, e)).length; null != e && n < i;) e = e[o(t[n++])]; + return n && n == i ? e : void 0 + } + }, function(e, t, n) { + "use strict"; + (function(t) { + !t.version || 0 === t.version.indexOf("v0.") || 0 === t.version.indexOf("v1.") && 0 !== t.version.indexOf("v1.8.") ? e.exports = { + nextTick: function(e, n, r, o) { + if ("function" != typeof e) throw new TypeError('"callback" argument must be a function'); + var i, a, u = arguments.length; + switch (u) { + case 0: + case 1: + return t.nextTick(e); + case 2: + return t.nextTick(function() { + e.call(null, n) + }); + case 3: + return t.nextTick(function() { + e.call(null, n, r) + }); + case 4: + return t.nextTick(function() { + e.call(null, n, r, o) + }); + default: + for (i = new Array(u - 1), a = 0; a < i.length;) i[a++] = arguments[a]; + return t.nextTick(function() { + e.apply(null, i) + }) + } + } + } : e.exports = t + }).call(t, n(55)) + }, function(e, t, n) { + var r = n(54), + o = r.Buffer; + + function i(e, t) { + for (var n in e) t[n] = e[n] + } + + function a(e, t, n) { + return o(e, t, n) + } + o.from && o.alloc && o.allocUnsafe && o.allocUnsafeSlow ? e.exports = r : (i(r, t), t.Buffer = a), i(o, a), a.from = function(e, t, n) { + if ("number" == typeof e) throw new TypeError("Argument must not be a number"); + return o(e, t, n) + }, a.alloc = function(e, t, n) { + if ("number" != typeof e) throw new TypeError("Argument must be a number"); + var r = o(e); + return void 0 !== t ? "string" == typeof n ? r.fill(t, n) : r.fill(t) : r.fill(0), r + }, a.allocUnsafe = function(e) { + if ("number" != typeof e) throw new TypeError("Argument must be a number"); + return o(e) + }, a.allocUnsafeSlow = function(e) { + if ("number" != typeof e) throw new TypeError("Argument must be a number"); + return r.SlowBuffer(e) + } + }, function(e, t, n) { + "use strict"; + e.exports = n(675)("forEach") + }, function(e, t, n) { + "use strict"; + var r = n(314), + o = n(311), + i = n(196), + a = n(684); + (e.exports = function(e, t) { + var n, i, u, s, l; + return arguments.length < 2 || "string" != typeof e ? (s = t, t = e, e = null) : s = arguments[2], null == e ? (n = u = !0, i = !1) : (n = a.call(e, "c"), i = a.call(e, "e"), u = a.call(e, "w")), l = { + value: t, + configurable: n, + enumerable: i, + writable: u + }, s ? r(o(s), l) : l + }).gs = function(e, t, n) { + var u, s, l, c; + return "string" != typeof e ? (l = n, n = t, t = e, e = null) : l = arguments[3], null == t ? t = void 0 : i(t) ? null == n ? n = void 0 : i(n) || (l = n, n = void 0) : (l = t, t = n = void 0), null == e ? (u = !0, s = !1) : (u = a.call(e, "c"), s = a.call(e, "e")), c = { + get: t, + set: n, + configurable: u, + enumerable: s + }, l ? r(o(l), c) : c + } + }, function(e, t, n) { + var r = n(49), + o = n(329), + i = n(330), + a = n(36), + u = n(115), + s = n(164), + l = {}, + c = {}; + (t = e.exports = function(e, t, n, f, p) { + var d, h, v, m, g = p ? function() { + return e + } : s(e), + y = r(n, f, t ? 2 : 1), + b = 0; + if ("function" != typeof g) throw TypeError(e + " is not iterable!"); + if (i(g)) { + for (d = u(e.length); d > b; b++) + if ((m = t ? y(a(h = e[b])[0], h[1]) : y(e[b])) === l || m === c) return m + } else + for (v = g.call(e); !(h = v.next()).done;) + if ((m = o(v, y, h.value, t)) === l || m === c) return m + }).BREAK = l, t.RETURN = c + }, function(e, t, n) { + "use strict"; + var r = n(86); + e.exports = r.DEFAULT = new r({ + include: [n(108)], + explicit: [n(757), n(758), n(759)] + }) + }, function(e, t, n) { + var r = n(344), + o = n(105), + i = Object.prototype.hasOwnProperty; + e.exports = function(e, t, n) { + var a = e[t]; + i.call(e, t) && o(a, n) && (void 0 !== n || t in e) || r(e, t, n) + } + }, function(e, t, n) { + "use strict"; + var r = n(11), + o = (n(8), {}), + 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, u, s) { + var l, c; + this.isInTransaction() && r("27"); + try { + this._isInTransaction = !0, l = !0, this.initializeAll(0), c = e.call(t, n, o, i, a, u, s), 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() || r("28"); + for (var t = this.transactionWrappers, n = e; n < t.length; n++) { + var i, a = t[n], + u = this.wrapperInitData[n]; + try { + i = !0, u !== o && a.close && a.close.call(this, u), i = !1 + } finally { + if (i) try { + this.closeAll(n + 1) + } catch (e) {} + } + } + this.wrapperInitData.length = 0 + } + }; + e.exports = i + }, function(e, t, n) { + "use strict"; + var r = n(111), + o = n(358), + i = { + screenX: null, + screenY: null, + clientX: null, + clientY: null, + ctrlKey: null, + shiftKey: null, + altKey: null, + metaKey: null, + getModifierState: n(215), + 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 + o.currentScrollLeft + }, + pageY: function(e) { + return "pageY" in e ? e.pageY : e.clientY + o.currentScrollTop + } + }; + + function a(e, t, n, o) { + return r.call(this, e, t, n, o) + } + r.augmentClass(a, i), e.exports = a + }, function(e, t, n) { + "use strict"; + var r, o = n(26), + i = n(217), + a = /^[ \r\n\t\f]/, + u = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/, + s = n(218)(function(e, t) { + if (e.namespaceURI !== i.svg || "innerHTML" in e) e.innerHTML = t; + else { + (r = r || document.createElement("div")).innerHTML = "" + t + ""; + for (var n = r.firstChild; n.firstChild;) e.appendChild(n.firstChild) + } + }); + if (o.canUseDOM) { + var l = document.createElement("div"); + l.innerHTML = " ", "" === l.innerHTML && (s = function(e, t) { + if (e.parentNode && e.parentNode.replaceChild(e, e), a.test(t) || "<" === t[0] && u.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 + }), l = null + } + e.exports = s + }, function(e, t, n) { + "use strict"; + var r = /["'&<>]/; + e.exports = function(e) { + return "boolean" == typeof e || "number" == typeof e ? "" + e : function(e) { + var t, n = "" + e, + o = r.exec(n); + if (!o) return n; + var i = "", + a = 0, + u = 0; + for (a = o.index; a < n.length; a++) { + switch (n.charCodeAt(a)) { + case 34: + t = """; + break; + case 38: + t = "&"; + break; + case 39: + t = "'"; + break; + case 60: + t = "<"; + break; + case 62: + t = ">"; + break; + default: + continue + } + u !== a && (i += n.substring(u, a)), u = a + 1, i += t + } + return u !== a ? i + n.substring(u, a) : i + }(e) + } + }, function(e, t, n) { + "use strict"; + var r, o = n(13), + i = n(210), + a = n(804), + u = n(358), + s = n(805), + l = n(214), + c = {}, + f = !1, + p = 0, + d = { + topAbort: "abort", + topAnimationEnd: s("animationend") || "animationend", + topAnimationIteration: s("animationiteration") || "animationiteration", + topAnimationStart: s("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: s("transitionend") || "transitionend", + topVolumeChange: "volumechange", + topWaiting: "waiting", + topWheel: "wheel" + }, + h = "_reactListenersID" + String(Math.random()).slice(2); + var v = o({}, a, { + ReactEventListener: null, + injection: { + injectReactEventListener: function(e) { + e.setHandleTopLevel(v.handleTopLevel), v.ReactEventListener = e + } + }, + setEnabled: function(e) { + v.ReactEventListener && v.ReactEventListener.setEnabled(e) + }, + isEnabled: function() { + return !(!v.ReactEventListener || !v.ReactEventListener.isEnabled()) + }, + listenTo: function(e, t) { + for (var n = t, r = function(e) { + return Object.prototype.hasOwnProperty.call(e, h) || (e[h] = p++, c[e[h]] = {}), c[e[h]] + }(n), o = i.registrationNameDependencies[e], a = 0; a < o.length; a++) { + var u = o[a]; + r.hasOwnProperty(u) && r[u] || ("topWheel" === u ? l("wheel") ? v.ReactEventListener.trapBubbledEvent("topWheel", "wheel", n) : l("mousewheel") ? v.ReactEventListener.trapBubbledEvent("topWheel", "mousewheel", n) : v.ReactEventListener.trapBubbledEvent("topWheel", "DOMMouseScroll", n) : "topScroll" === u ? l("scroll", !0) ? v.ReactEventListener.trapCapturedEvent("topScroll", "scroll", n) : v.ReactEventListener.trapBubbledEvent("topScroll", "scroll", v.ReactEventListener.WINDOW_HANDLE) : "topFocus" === u || "topBlur" === u ? (l("focus", !0) ? (v.ReactEventListener.trapCapturedEvent("topFocus", "focus", n), v.ReactEventListener.trapCapturedEvent("topBlur", "blur", n)) : l("focusin") && (v.ReactEventListener.trapBubbledEvent("topFocus", "focusin", n), v.ReactEventListener.trapBubbledEvent("topBlur", "focusout", n)), r.topBlur = !0, r.topFocus = !0) : d.hasOwnProperty(u) && v.ReactEventListener.trapBubbledEvent(u, d[u], n), r[u] = !0) + } + }, + trapBubbledEvent: function(e, t, n) { + return v.ReactEventListener.trapBubbledEvent(e, t, n) + }, + trapCapturedEvent: function(e, t, n) { + return v.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 === r && (r = v.supportsEventPageXY()), !r && !f) { + var e = u.refreshScrollValues; + v.ReactEventListener.monitorScrollValue(e), f = !0 + } + } + }); + e.exports = v + }, function(e, t, n) { + "use strict"; + + function r() { + this.__rules__ = [], this.__cache__ = null + } + r.prototype.__find__ = function(e) { + for (var t = this.__rules__.length, n = -1; t--;) + if (this.__rules__[++n].name === e) return n; + return -1 + }, r.prototype.__compile__ = function() { + var e = this, + t = [""]; + e.__rules__.forEach(function(e) { + e.enabled && e.alt.forEach(function(e) { + t.indexOf(e) < 0 && t.push(e) + }) + }), e.__cache__ = {}, t.forEach(function(t) { + e.__cache__[t] = [], e.__rules__.forEach(function(n) { + n.enabled && (t && n.alt.indexOf(t) < 0 || e.__cache__[t].push(n.fn)) + }) + }) + }, r.prototype.at = function(e, t, n) { + var r = this.__find__(e), + o = n || {}; + if (-1 === r) throw new Error("Parser rule not found: " + e); + this.__rules__[r].fn = t, this.__rules__[r].alt = o.alt || [], this.__cache__ = null + }, r.prototype.before = function(e, t, n, r) { + var o = this.__find__(e), + i = r || {}; + if (-1 === o) throw new Error("Parser rule not found: " + e); + this.__rules__.splice(o, 0, { + name: t, + enabled: !0, + fn: n, + alt: i.alt || [] + }), this.__cache__ = null + }, r.prototype.after = function(e, t, n, r) { + var o = this.__find__(e), + i = r || {}; + if (-1 === o) throw new Error("Parser rule not found: " + e); + this.__rules__.splice(o + 1, 0, { + name: t, + enabled: !0, + fn: n, + alt: i.alt || [] + }), this.__cache__ = null + }, r.prototype.push = function(e, t, n) { + var r = n || {}; + this.__rules__.push({ + name: e, + enabled: !0, + fn: t, + alt: r.alt || [] + }), this.__cache__ = null + }, r.prototype.enable = function(e, t) { + e = Array.isArray(e) ? e : [e], t && this.__rules__.forEach(function(e) { + e.enabled = !1 + }), e.forEach(function(e) { + var t = this.__find__(e); + if (t < 0) throw new Error("Rules manager: invalid rule name " + e); + this.__rules__[t].enabled = !0 + }, this), this.__cache__ = null + }, r.prototype.disable = function(e) { + (e = Array.isArray(e) ? e : [e]).forEach(function(e) { + var t = this.__find__(e); + if (t < 0) throw new Error("Rules manager: invalid rule name " + e); + this.__rules__[t].enabled = !1 + }, this), this.__cache__ = null + }, r.prototype.getRules = function(e) { + return null === this.__cache__ && this.__compile__(), this.__cache__[e] || [] + }, e.exports = r + }, function(e, t, n) { + "use strict"; + e.exports = function(e, t) { + var n, r, o, i = -1, + a = e.posMax, + u = e.pos, + s = e.isInLabel; + if (e.isInLabel) return -1; + if (e.labelUnmatchedScopes) return e.labelUnmatchedScopes--, -1; + for (e.pos = t + 1, e.isInLabel = !0, n = 1; e.pos < a;) { + if (91 === (o = e.src.charCodeAt(e.pos))) n++; + else if (93 === o && 0 === --n) { + r = !0; + break + } + e.parser.skipToken(e) + } + return r ? (i = e.pos, e.labelUnmatchedScopes = 0) : e.labelUnmatchedScopes = n - 1, e.pos = u, e.isInLabel = s, i + } + }, function(e, t, n) { + var r = n(93); + e.exports = Object("z").propertyIsEnumerable(0) ? Object : function(e) { + return "String" == r(e) ? e.split("") : Object(e) + } + }, 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(28), + o = n(21).document, + i = r(o) && r(o.createElement); + e.exports = function(e) { + return i ? o.createElement(e) : {} + } + }, function(e, t, n) { + var r = n(28); + e.exports = function(e, t) { + if (!r(e)) return e; + var n, o; + if (t && "function" == typeof(n = e.toString) && !r(o = n.call(e))) return o; + if ("function" == typeof(n = e.valueOf) && !r(o = n.call(e))) return o; + if (!t && "function" == typeof(n = e.toString) && !r(o = n.call(e))) return o; + throw TypeError("Can't convert object to primitive value") + } + }, function(e, t, n) { + e.exports = n(50) + }, function(e, t, n) { + var r = n(36), + o = n(452), + i = n(163), + a = n(161)("IE_PROTO"), + u = function() {}, + s = function() { + var e, t = n(156)("iframe"), + r = i.length; + for (t.style.display = "none", n(240).appendChild(t), t.src = "javascript:", (e = t.contentWindow.document).open(), e.write("