public/swagger/swagger-ui-es-bundle-core.js.map
{"version":3,"file":"swagger-ui-es-bundle-core.js","mappings":"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","sources":["webpack://swagger-ui/./node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js","webpack://swagger-ui/external module \"react-immutable-pure-component\"","webpack://swagger-ui/./src/core/components/model.jsx","webpack://swagger-ui/./src/core/components/online-validator-badge.jsx","webpack://swagger-ui/external module \"remarkable/linkify\"","webpack://swagger-ui/external module \"dompurify\"","webpack://swagger-ui/./src/core/components/providers/markdown.jsx","webpack://swagger-ui/./src/core/plugins/all.js","webpack://swagger-ui/./src/core/plugins/auth/actions.js","webpack://swagger-ui/./src/core/plugins/auth/index.js","webpack://swagger-ui/./src/core/plugins/auth/reducers.js","webpack://swagger-ui/./src/core/plugins/auth/selectors.js","webpack://swagger-ui/./src/core/plugins/auth/spec-wrap-actions.js","webpack://swagger-ui/./src/core/plugins/configs/actions.js","webpack://swagger-ui/./src/core/plugins/configs/helpers.js","webpack://swagger-ui/./src/core/plugins/configs/index.js","webpack://swagger-ui/./src/core/plugins/configs/reducers.js","webpack://swagger-ui/./src/core/plugins/configs/selectors.js","webpack://swagger-ui/./src/core/plugins/configs/spec-actions.js","webpack://swagger-ui/./src/core/plugins/deep-linking/helpers.js","webpack://swagger-ui/./src/core/plugins/deep-linking/index.js","webpack://swagger-ui/external module \"zenscroll\"","webpack://swagger-ui/./src/core/plugins/deep-linking/layout.js","webpack://swagger-ui/./src/core/plugins/deep-linking/operation-tag-wrapper.jsx","webpack://swagger-ui/./src/core/plugins/deep-linking/operation-wrapper.jsx","webpack://swagger-ui/./src/core/plugins/download-url.js","webpack://swagger-ui/./src/core/plugins/err/actions.js","webpack://swagger-ui/external module \"lodash/reduce\"","webpack://swagger-ui/./src/core/plugins/err/error-transformers/hook.js","webpack://swagger-ui/./src/core/plugins/err/error-transformers/transformers/not-of-type.js","webpack://swagger-ui/./src/core/plugins/err/error-transformers/transformers/parameter-oneof.js","webpack://swagger-ui/./src/core/plugins/err/index.js","webpack://swagger-ui/./src/core/plugins/err/reducers.js","webpack://swagger-ui/./src/core/plugins/err/selectors.js","webpack://swagger-ui/./src/core/plugins/filter/index.js","webpack://swagger-ui/./src/core/plugins/filter/opsFilter.js","webpack://swagger-ui/./src/core/plugins/layout/actions.js","webpack://swagger-ui/./src/core/plugins/layout/index.js","webpack://swagger-ui/./src/core/plugins/layout/reducers.js","webpack://swagger-ui/./src/core/plugins/layout/selectors.js","webpack://swagger-ui/./src/core/plugins/layout/spec-extensions/wrap-selector.js","webpack://swagger-ui/./src/core/plugins/logs/index.js","webpack://swagger-ui/./src/core/plugins/oas3/actions.js","webpack://swagger-ui/./src/core/plugins/oas3/auth-extensions/wrap-selectors.js","webpack://swagger-ui/./src/core/plugins/oas3/components/callbacks.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/http-auth.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/index.js","webpack://swagger-ui/./src/core/plugins/oas3/components/operation-link.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/operation-servers.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/request-body-editor.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/request-body.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/servers-container.jsx","webpack://swagger-ui/./src/core/plugins/oas3/components/servers.jsx","webpack://swagger-ui/./src/core/plugins/oas3/helpers.jsx","webpack://swagger-ui/./src/core/plugins/oas3/index.js","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/toArray\"","webpack://swagger-ui/./src/core/plugins/oas3/reducers.js","webpack://swagger-ui/./src/core/plugins/oas3/selectors.js","webpack://swagger-ui/./src/core/plugins/oas3/spec-extensions/selectors.js","webpack://swagger-ui/./src/core/plugins/oas3/spec-extensions/wrap-selectors.js","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/auth-item.jsx","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/index.js","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/json-schema-string.jsx","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/markdown.jsx","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/model.jsx","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/online-validator-badge.js","webpack://swagger-ui/./src/core/plugins/oas3/wrap-components/version-stamp.jsx","webpack://swagger-ui/./src/core/plugins/on-complete/index.js","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/repeat\"","webpack://swagger-ui/./src/core/plugins/request-snippets/fn.js","webpack://swagger-ui/./src/core/plugins/request-snippets/index.js","webpack://swagger-ui/./src/core/plugins/request-snippets/request-snippets.jsx","webpack://swagger-ui/./src/core/plugins/request-snippets/selectors.js","webpack://swagger-ui/./src/core/plugins/safe-render/components/error-boundary.jsx","webpack://swagger-ui/./src/core/plugins/safe-render/components/fallback.jsx","webpack://swagger-ui/./src/core/plugins/safe-render/fn.jsx","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/fill\"","webpack://swagger-ui/external module \"lodash/zipObject\"","webpack://swagger-ui/./src/core/plugins/safe-render/index.js","webpack://swagger-ui/external module \"randexp\"","webpack://swagger-ui/external module \"lodash/isEmpty\"","webpack://swagger-ui/./src/core/plugins/samples/fn.js","webpack://swagger-ui/./src/core/plugins/samples/index.js","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/asyncToGenerator\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/regenerator\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/promise\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/date/now\"","webpack://swagger-ui/external module \"lodash/isString\"","webpack://swagger-ui/external module \"lodash/debounce\"","webpack://swagger-ui/external module \"lodash/set\"","webpack://swagger-ui/./src/core/plugins/spec/actions.js","webpack://swagger-ui/./src/core/plugins/spec/index.js","webpack://swagger-ui/./src/core/plugins/spec/reducers.js","webpack://swagger-ui/./src/core/plugins/spec/selectors.js","webpack://swagger-ui/./src/core/plugins/spec/wrap-actions.js","webpack://swagger-ui/./src/core/plugins/swagger-js/configs-wrap-actions.js","webpack://swagger-ui/external module \"swagger-client/es/resolver\"","webpack://swagger-ui/external module \"swagger-client/es/execute\"","webpack://swagger-ui/external module \"swagger-client/es/http\"","webpack://swagger-ui/external module \"swagger-client/es/subtree-resolver\"","webpack://swagger-ui/./src/core/plugins/swagger-js/index.js","webpack://swagger-ui/./src/core/plugins/util/index.js","webpack://swagger-ui/./src/core/plugins/view/fn.js","webpack://swagger-ui/./src/core/plugins/view/index.js","webpack://swagger-ui/external module \"react-dom\"","webpack://swagger-ui/external module \"react-redux\"","webpack://swagger-ui/external module \"lodash/omit\"","webpack://swagger-ui/external module \"lodash/identity\"","webpack://swagger-ui/./src/core/plugins/view/root-injects.jsx","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/light\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/javascript\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/json\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/xml\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/bash\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/yaml\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/http\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/languages/hljs/powershell\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/styles/hljs/agate\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/styles/hljs/arta\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/styles/hljs/monokai\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/styles/hljs/nord\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/styles/hljs/obsidian\"","webpack://swagger-ui/external module \"react-syntax-highlighter/dist/esm/styles/hljs/tomorrow-night\"","webpack://swagger-ui/./src/core/syntax-highlighting.js","webpack://swagger-ui/external module \"@braintree/sanitize-url\"","webpack://swagger-ui/external module \"lodash/camelCase\"","webpack://swagger-ui/external module \"lodash/upperFirst\"","webpack://swagger-ui/external module \"lodash/find\"","webpack://swagger-ui/external module \"lodash/some\"","webpack://swagger-ui/external module \"lodash/eq\"","webpack://swagger-ui/external module \"css.escape\"","webpack://swagger-ui/./src/core/utils.js","webpack://swagger-ui/./src/core/utils/jsonParse.js","webpack://swagger-ui/./src/core/window.js","webpack://swagger-ui/./src/helpers/get-parameter-schema.js","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/get\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/getPrototypeOf\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/wrapNativeSuper\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/find-index\"","webpack://swagger-ui/./src/helpers/memoizeN.js","webpack://swagger-ui/./node_modules/buffer/index.js","webpack://swagger-ui/./node_modules/core-js-pure/es/object/define-property.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/a-callable.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/an-object.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/classof-raw.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/create-property-descriptor.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/descriptors.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/document-create-element.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/engine-user-agent.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/engine-v8-version.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/export.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/fails.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/function-apply.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/function-bind-context.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/function-bind-native.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/function-call.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/function-uncurry-this.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/get-built-in.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/get-method.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/global.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/has-own-property.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/ie8-dom-define.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/indexed-object.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/is-callable.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/is-forced.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/is-object.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/is-pure.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/is-symbol.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/native-symbol.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/object-define-property.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/object-is-prototype-of.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/object-property-is-enumerable.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/ordinary-to-primitive.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/path.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/require-object-coercible.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/set-global.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/shared-store.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/shared.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/to-indexed-object.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/to-object.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/to-primitive.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/to-property-key.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/try-to-string.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/uid.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/v8-prototype-define-bug.js","webpack://swagger-ui/./node_modules/core-js-pure/internals/well-known-symbol.js","webpack://swagger-ui/./node_modules/core-js-pure/modules/es.object.define-property.js","webpack://swagger-ui/./node_modules/core-js-pure/stable/object/define-property.js","webpack://swagger-ui/./node_modules/deep-extend/lib/deep-extend.js","webpack://swagger-ui/./node_modules/events/events.js","webpack://swagger-ui/./node_modules/inherits/inherits_browser.js","webpack://swagger-ui/./node_modules/process/browser.js","webpack://swagger-ui/./node_modules/randombytes/browser.js","webpack://swagger-ui/./node_modules/readable-stream/errors-browser.js","webpack://swagger-ui/./node_modules/readable-stream/lib/_stream_duplex.js","webpack://swagger-ui/./node_modules/readable-stream/lib/_stream_passthrough.js","webpack://swagger-ui/./node_modules/readable-stream/lib/_stream_readable.js","webpack://swagger-ui/./node_modules/readable-stream/lib/_stream_transform.js","webpack://swagger-ui/./node_modules/readable-stream/lib/_stream_writable.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/state.js","webpack://swagger-ui/./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack://swagger-ui/./node_modules/sha.js/hash.js","webpack://swagger-ui/./node_modules/sha.js/index.js","webpack://swagger-ui/./node_modules/sha.js/sha.js","webpack://swagger-ui/./node_modules/sha.js/sha1.js","webpack://swagger-ui/./node_modules/sha.js/sha224.js","webpack://swagger-ui/./node_modules/sha.js/sha256.js","webpack://swagger-ui/./node_modules/sha.js/sha384.js","webpack://swagger-ui/./node_modules/sha.js/sha512.js","webpack://swagger-ui/./node_modules/stream-browserify/index.js","webpack://swagger-ui/./node_modules/string_decoder/lib/string_decoder.js","webpack://swagger-ui/./node_modules/string_decoder/node_modules/safe-buffer/index.js","webpack://swagger-ui/./node_modules/util-deprecate/browser.js","webpack://swagger-ui/./node_modules/xml/lib/escapeForXML.js","webpack://swagger-ui/./node_modules/xml/lib/xml.js","webpack://swagger-ui//home/ubuntu/workspace/oss-swagger-ui-release/src/core/plugins|sync|/\\.jsx","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/array/from\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/array/is-array\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/bind\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/concat\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/entries\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/every\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/filter\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/find\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/for-each\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/includes\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/index-of\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/keys\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/map\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/reduce\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/slice\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/some\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/sort\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/starts-with\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/trim\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/json/stringify\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/map\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/object/assign\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/object/keys\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/object/values\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/set-timeout\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/url\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/assertThisInitialized\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/classCallCheck\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/createClass\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/createForOfIteratorHelper\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/createSuper\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/defineProperty\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/extends\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/inherits\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/objectSpread2\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/objectWithoutProperties\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/slicedToArray\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/toConsumableArray\"","webpack://swagger-ui/external module \"@babel/runtime-corejs3/helpers/typeof\"","webpack://swagger-ui/external module \"base64-js\"","webpack://swagger-ui/external module \"classnames\"","webpack://swagger-ui/external module \"ieee754\"","webpack://swagger-ui/external module \"immutable\"","webpack://swagger-ui/external module \"js-yaml\"","webpack://swagger-ui/external module \"lodash/get\"","webpack://swagger-ui/external module \"lodash/isFunction\"","webpack://swagger-ui/external module \"lodash/memoize\"","webpack://swagger-ui/external module \"prop-types\"","webpack://swagger-ui/external module \"react\"","webpack://swagger-ui/external module \"react-copy-to-clipboard\"","webpack://swagger-ui/external module \"react-immutable-proptypes\"","webpack://swagger-ui/external module \"redux\"","webpack://swagger-ui/external module \"remarkable\"","webpack://swagger-ui/external module \"reselect\"","webpack://swagger-ui/external module \"serialize-error\"","webpack://swagger-ui/external module \"swagger-client/es/helpers\"","webpack://swagger-ui/external module \"url-parse\"","webpack://swagger-ui/webpack/bootstrap","webpack://swagger-ui/webpack/runtime/compat get default export","webpack://swagger-ui/webpack/runtime/define property getters","webpack://swagger-ui/webpack/runtime/global","webpack://swagger-ui/webpack/runtime/hasOwnProperty shorthand","webpack://swagger-ui/webpack/runtime/make namespace object","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/last-index-of\"","webpack://swagger-ui/external module \"redux-immutable\"","webpack://swagger-ui/external module \"lodash/merge\"","webpack://swagger-ui/./src/core/system.js","webpack://swagger-ui/./src/core/containers/OperationContainer.jsx","webpack://swagger-ui/./src/core/components/app.jsx","webpack://swagger-ui/./src/core/components/auth/authorization-popup.jsx","webpack://swagger-ui/./src/core/components/auth/authorize-btn.jsx","webpack://swagger-ui/./src/core/containers/authorize-btn.jsx","webpack://swagger-ui/./src/core/components/auth/authorize-operation-btn.jsx","webpack://swagger-ui/./src/core/components/auth/auths.jsx","webpack://swagger-ui/./src/core/components/auth/auth-item.jsx","webpack://swagger-ui/./src/core/components/auth/error.jsx","webpack://swagger-ui/./src/core/components/auth/api-key-auth.jsx","webpack://swagger-ui/./src/core/components/auth/basic-auth.jsx","webpack://swagger-ui/./src/core/components/example.jsx","webpack://swagger-ui/./src/core/components/examples-select.jsx","webpack://swagger-ui/./src/core/components/examples-select-value-retainer.jsx","webpack://swagger-ui/./src/core/components/auth/oauth2.jsx","webpack://swagger-ui/./src/core/oauth2-authorize.js","webpack://swagger-ui/./src/core/components/clear.jsx","webpack://swagger-ui/./src/core/components/live-response.jsx","webpack://swagger-ui/./src/core/components/operations.jsx","webpack://swagger-ui/./src/core/utils/url.js","webpack://swagger-ui/./src/core/components/operation-tag.jsx","webpack://swagger-ui/./src/core/components/operation.jsx","webpack://swagger-ui/external module \"lodash/toString\"","webpack://swagger-ui/./src/core/components/operation-summary.jsx","webpack://swagger-ui/./src/core/components/operation-summary-method.jsx","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/splice\"","webpack://swagger-ui/./src/core/components/operation-summary-path.jsx","webpack://swagger-ui/./src/core/components/operation-extensions.jsx","webpack://swagger-ui/./src/core/components/operation-extension-row.jsx","webpack://swagger-ui/external module \"js-file-download\"","webpack://swagger-ui/./src/core/components/highlight-code.jsx","webpack://swagger-ui/./src/core/components/responses.jsx","webpack://swagger-ui/./src/helpers/create-html-ready-id.js","webpack://swagger-ui/external module \"@babel/runtime-corejs3/core-js-stable/instance/values\"","webpack://swagger-ui/./src/core/components/response.jsx","webpack://swagger-ui/./src/core/components/response-extension.jsx","webpack://swagger-ui/external module \"xml-but-prettier\"","webpack://swagger-ui/external module \"lodash/toLower\"","webpack://swagger-ui/./src/core/components/response-body.jsx","webpack://swagger-ui/./src/core/components/parameters/parameters.jsx","webpack://swagger-ui/./src/core/components/parameter-extension.jsx","webpack://swagger-ui/./src/core/components/parameter-include-empty.jsx","webpack://swagger-ui/./src/core/components/parameter-row.jsx","webpack://swagger-ui/./src/core/components/execute.jsx","webpack://swagger-ui/./src/core/components/headers.jsx","webpack://swagger-ui/./src/core/components/errors.jsx","webpack://swagger-ui/./src/core/components/content-type.jsx","webpack://swagger-ui/./src/core/components/layout-utils.jsx","webpack://swagger-ui/./src/core/components/overview.jsx","webpack://swagger-ui/./src/core/components/initialized-input.jsx","webpack://swagger-ui/./src/core/components/info.jsx","webpack://swagger-ui/./src/core/containers/info.jsx","webpack://swagger-ui/./src/core/components/jump-to-path.jsx","webpack://swagger-ui/./src/core/components/footer.jsx","webpack://swagger-ui/./src/core/containers/filter.jsx","webpack://swagger-ui/./src/core/components/param-body.jsx","webpack://swagger-ui/./src/core/components/curl.jsx","webpack://swagger-ui/./src/core/components/schemes.jsx","webpack://swagger-ui/./src/core/containers/schemes.jsx","webpack://swagger-ui/./src/core/components/model-collapse.jsx","webpack://swagger-ui/./src/core/components/model-example.jsx","webpack://swagger-ui/./src/core/components/model-wrapper.jsx","webpack://swagger-ui/./src/core/components/models.jsx","webpack://swagger-ui/./src/core/components/enum-model.jsx","webpack://swagger-ui/./src/core/components/object-model.jsx","webpack://swagger-ui/./src/core/components/array-model.jsx","webpack://swagger-ui/./src/core/components/primitive-model.jsx","webpack://swagger-ui/./src/core/components/property.jsx","webpack://swagger-ui/./src/core/components/try-it-out-button.jsx","webpack://swagger-ui/./src/core/components/version-pragma-filter.jsx","webpack://swagger-ui/./src/core/components/version-stamp.jsx","webpack://swagger-ui/./src/core/components/deep-link.jsx","webpack://swagger-ui/./src/core/components/svg-assets.jsx","webpack://swagger-ui/./src/core/components/layouts/base.jsx","webpack://swagger-ui/external module \"react-debounce-input\"","webpack://swagger-ui/./src/core/json-schema-components.jsx","webpack://swagger-ui/./src/core/presets/base.js","webpack://swagger-ui/./src/core/presets/apis.js","webpack://swagger-ui/./src/core/index.js","webpack://swagger-ui/./src/index.js"],"sourcesContent":["module.exports = require(\"core-js-pure/stable/object/define-property\");","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_immutable_pure_component_cbcfaebd__[\"default\"] });","import React from \"react\"\nimport ImmutablePureComponent from \"react-immutable-pure-component\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport PropTypes from \"prop-types\"\n\nexport default class Model extends ImmutablePureComponent {\n static propTypes = {\n schema: ImPropTypes.map.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n isRef: PropTypes.bool,\n required: PropTypes.bool,\n expandDepth: PropTypes.number,\n depth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n getModelName =( ref )=> {\n if ( ref.indexOf(\"#/definitions/\") !== -1 ) {\n return ref.replace(/^.*#\\/definitions\\//, \"\")\n }\n if ( ref.indexOf(\"#/components/schemas/\") !== -1 ) {\n return ref.replace(/^.*#\\/components\\/schemas\\//, \"\")\n }\n }\n\n getRefSchema =( model )=> {\n let { specSelectors } = this.props\n\n return specSelectors.findDefinition(model)\n }\n\n render () {\n let { getComponent, getConfigs, specSelectors, schema, required, name, isRef, specPath, displayName,\n includeReadOnly, includeWriteOnly} = this.props\n const ObjectModel = getComponent(\"ObjectModel\")\n const ArrayModel = getComponent(\"ArrayModel\")\n const PrimitiveModel = getComponent(\"PrimitiveModel\")\n let type = \"object\"\n let $$ref = schema && schema.get(\"$$ref\")\n\n // If we weren't passed a `name` but have a ref, grab the name from the ref\n if ( !name && $$ref ) {\n name = this.getModelName( $$ref )\n }\n // If we weren't passed a `schema` but have a ref, grab the schema from the ref\n if ( !schema && $$ref ) {\n schema = this.getRefSchema( name )\n }\n\n if(!schema) {\n return <span className=\"model model-title\">\n <span className=\"model-title__text\">{ displayName || name }</span>\n <img src={require(\"core/../img/rolling-load.svg\")} height={\"20px\"} width={\"20px\"} />\n </span>\n }\n\n const deprecated = specSelectors.isOAS3() && schema.get(\"deprecated\")\n isRef = isRef !== undefined ? isRef : !!$$ref\n type = schema && schema.get(\"type\") || type\n\n switch(type) {\n case \"object\":\n return <ObjectModel\n className=\"object\" { ...this.props }\n specPath={specPath}\n getConfigs={ getConfigs }\n schema={ schema }\n name={ name }\n deprecated={deprecated}\n isRef={ isRef }\n includeReadOnly = {includeReadOnly}\n includeWriteOnly = {includeWriteOnly}/>\n case \"array\":\n return <ArrayModel\n className=\"array\" { ...this.props }\n getConfigs={ getConfigs }\n schema={ schema }\n name={ name }\n deprecated={deprecated}\n required={ required }\n includeReadOnly = {includeReadOnly}\n includeWriteOnly = {includeWriteOnly}/>\n case \"string\":\n case \"number\":\n case \"integer\":\n case \"boolean\":\n default:\n return <PrimitiveModel\n { ...this.props }\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n schema={ schema }\n name={ name }\n deprecated={deprecated}\n required={ required }/>\n }\n }\n}\n","import React from \"react\"\nimport URL from \"url-parse\"\n\nimport PropTypes from \"prop-types\"\nimport { sanitizeUrl, requiresValidationURL } from \"core/utils\"\nimport win from \"core/window\"\n\nexport default class OnlineValidatorBadge extends React.Component {\n static propTypes = {\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired\n }\n\n constructor(props, context) {\n super(props, context)\n let { getConfigs } = props\n let { validatorUrl } = getConfigs()\n this.state = {\n url: this.getDefinitionUrl(),\n validatorUrl: validatorUrl === undefined ? \"https://validator.swagger.io/validator\" : validatorUrl\n }\n }\n\n getDefinitionUrl = () => {\n // TODO: test this behavior by stubbing `window.location` in an Enzyme/JSDom env\n let { specSelectors } = this.props\n\n const urlObject = new URL(specSelectors.url(), win.location)\n return urlObject.toString()\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n let { getConfigs } = nextProps\n let { validatorUrl } = getConfigs()\n\n this.setState({\n url: this.getDefinitionUrl(),\n validatorUrl: validatorUrl === undefined ? \"https://validator.swagger.io/validator\" : validatorUrl\n })\n }\n\n render() {\n let { getConfigs } = this.props\n let { spec } = getConfigs()\n\n let sanitizedValidatorUrl = sanitizeUrl(this.state.validatorUrl)\n\n if ( typeof spec === \"object\" && Object.keys(spec).length) return null\n\n if (!this.state.url || !requiresValidationURL(this.state.validatorUrl)\n || !requiresValidationURL(this.state.url)) {\n return null\n }\n\n return (<span className=\"float-right\">\n <a target=\"_blank\" rel=\"noopener noreferrer\" href={`${ sanitizedValidatorUrl }/debug?url=${ encodeURIComponent(this.state.url) }`}>\n <ValidatorImage src={`${ sanitizedValidatorUrl }?url=${ encodeURIComponent(this.state.url) }`} alt=\"Online validator badge\"/>\n </a>\n </span>)\n }\n}\n\n\nclass ValidatorImage extends React.Component {\n static propTypes = {\n src: PropTypes.string,\n alt: PropTypes.string\n }\n\n constructor(props) {\n super(props)\n this.state = {\n loaded: false,\n error: false\n }\n }\n\n componentDidMount() {\n const img = new Image()\n img.onload = () => {\n this.setState({\n loaded: true\n })\n }\n img.onerror = () => {\n this.setState({\n error: true\n })\n }\n img.src = this.props.src\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.src !== this.props.src) {\n const img = new Image()\n img.onload = () => {\n this.setState({\n loaded: true\n })\n }\n img.onerror = () => {\n this.setState({\n error: true\n })\n }\n img.src = nextProps.src\n }\n }\n\n render() {\n if (this.state.error) {\n return <img alt={\"Error\"} />\n } else if (!this.state.loaded) {\n return null\n }\n return <img src={this.props.src} alt={this.props.alt} />\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"linkify\"]: () => __WEBPACK_EXTERNAL_MODULE_remarkable_linkify_34829ba6__.linkify });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_dompurify__[\"default\"] });","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Remarkable } from \"remarkable\"\nimport { linkify } from \"remarkable/linkify\"\nimport DomPurify from \"dompurify\"\nimport cx from \"classnames\"\n\nif (DomPurify.addHook) {\n DomPurify.addHook(\"beforeSanitizeElements\", function (current, ) {\n // Attach safe `rel` values to all elements that contain an `href`,\n // i.e. all anchors that are links.\n // We _could_ just look for elements that have a non-self target,\n // but applying it more broadly shouldn't hurt anything, and is safer.\n if (current.href) {\n current.setAttribute(\"rel\", \"noopener noreferrer\")\n }\n return current\n })\n}\n\nfunction Markdown({ source, className = \"\", getConfigs }) {\n if (typeof source !== \"string\") {\n return null\n }\n\n const md = new Remarkable({\n html: true,\n typographer: true,\n breaks: true,\n linkTarget: \"_blank\"\n }).use(linkify)\n\n md.core.ruler.disable([\"replacements\", \"smartquotes\"])\n\n const { useUnsafeMarkdown } = getConfigs()\n const html = md.render(source)\n const sanitized = sanitizer(html, { useUnsafeMarkdown })\n\n if (!source || !html || !sanitized) {\n return null\n }\n\n return (\n <div className={cx(className, \"markdown\")} dangerouslySetInnerHTML={{ __html: sanitized }}></div>\n )\n}\n\nMarkdown.propTypes = {\n source: PropTypes.string.isRequired,\n className: PropTypes.string,\n getConfigs: PropTypes.func,\n}\n\nMarkdown.defaultProps = {\n getConfigs: () => ({ useUnsafeMarkdown: false }),\n}\n\nexport default Markdown\n\nexport function sanitizer(str, { useUnsafeMarkdown = false } = {}) {\n const ALLOW_DATA_ATTR = useUnsafeMarkdown\n const FORBID_ATTR = useUnsafeMarkdown ? [] : [\"style\", \"class\"]\n\n if (useUnsafeMarkdown && !sanitizer.hasWarnedAboutDeprecation) {\n console.warn(`useUnsafeMarkdown display configuration parameter is deprecated since >3.26.0 and will be removed in v4.0.0.`)\n sanitizer.hasWarnedAboutDeprecation = true\n }\n\n return DomPurify.sanitize(str, {\n ADD_ATTR: [\"target\"],\n FORBID_TAGS: [\"style\", \"form\"],\n ALLOW_DATA_ATTR,\n FORBID_ATTR,\n })\n}\nsanitizer.hasWarnedAboutDeprecation = false\n","import { pascalCaseFilename } from \"core/utils\"\nimport SafeRender from \"core/plugins/safe-render\"\n\nconst request = require.context(\".\", true, /\\.jsx?$/)\n\nconst allPlugins = {}\n\nexport default allPlugins\n\nrequest.keys().forEach( function( key ){\n if( key === \"./index.js\" ) {\n return\n }\n\n // if( key.slice(2).indexOf(\"/\") > -1) {\n // // skip files in subdirs\n // return\n // }\n\n let mod = request(key)\n allPlugins[pascalCaseFilename(key)] = mod.default ? mod.default : mod\n})\n\nallPlugins.SafeRender = SafeRender\n","import parseUrl from \"url-parse\"\nimport win from \"core/window\"\nimport { btoa, buildFormData } from \"core/utils\"\n\nexport const SHOW_AUTH_POPUP = \"show_popup\"\nexport const AUTHORIZE = \"authorize\"\nexport const LOGOUT = \"logout\"\nexport const PRE_AUTHORIZE_OAUTH2 = \"pre_authorize_oauth2\"\nexport const AUTHORIZE_OAUTH2 = \"authorize_oauth2\"\nexport const VALIDATE = \"validate\"\nexport const CONFIGURE_AUTH = \"configure_auth\"\nexport const RESTORE_AUTHORIZATION = \"restore_authorization\"\n\nconst scopeSeparator = \" \"\n\nexport function showDefinitions(payload) {\n return {\n type: SHOW_AUTH_POPUP,\n payload: payload\n }\n}\n\nexport function authorize(payload) {\n return {\n type: AUTHORIZE,\n payload: payload\n }\n}\n\nexport const authorizeWithPersistOption = (payload) => ( { authActions } ) => {\n authActions.authorize(payload)\n authActions.persistAuthorizationIfNeeded()\n}\n\nexport function logout(payload) {\n return {\n type: LOGOUT,\n payload: payload\n }\n}\n\nexport const logoutWithPersistOption = (payload) => ( { authActions } ) => {\n authActions.logout(payload)\n authActions.persistAuthorizationIfNeeded()\n}\n\nexport const preAuthorizeImplicit = (payload) => ( { authActions, errActions } ) => {\n let { auth , token, isValid } = payload\n let { schema, name } = auth\n let flow = schema.get(\"flow\")\n\n // remove oauth2 property from window after redirect from authentication\n delete win.swaggerUIRedirectOauth2\n\n if ( flow !== \"accessCode\" && !isValid ) {\n errActions.newAuthErr( {\n authId: name,\n source: \"auth\",\n level: \"warning\",\n message: \"Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server\"\n })\n }\n\n if ( token.error ) {\n errActions.newAuthErr({\n authId: name,\n source: \"auth\",\n level: \"error\",\n message: JSON.stringify(token)\n })\n return\n }\n\n authActions.authorizeOauth2WithPersistOption({ auth, token })\n}\n\n\nexport function authorizeOauth2(payload) {\n return {\n type: AUTHORIZE_OAUTH2,\n payload: payload\n }\n}\n\n\nexport const authorizeOauth2WithPersistOption = (payload) => ( { authActions } ) => {\n authActions.authorizeOauth2(payload)\n authActions.persistAuthorizationIfNeeded()\n}\n\nexport const authorizePassword = ( auth ) => ( { authActions } ) => {\n let { schema, name, username, password, passwordType, clientId, clientSecret } = auth\n let form = {\n grant_type: \"password\",\n scope: auth.scopes.join(scopeSeparator),\n username,\n password\n }\n let query = {}\n let headers = {}\n\n switch (passwordType) {\n case \"request-body\":\n setClientIdAndSecret(form, clientId, clientSecret)\n break\n\n case \"basic\":\n headers.Authorization = \"Basic \" + btoa(clientId + \":\" + clientSecret)\n break\n default:\n console.warn(`Warning: invalid passwordType ${passwordType} was passed, not including client id and secret`)\n }\n\n return authActions.authorizeRequest({ body: buildFormData(form), url: schema.get(\"tokenUrl\"), name, headers, query, auth})\n}\n\nfunction setClientIdAndSecret(target, clientId, clientSecret) {\n if ( clientId ) {\n Object.assign(target, {client_id: clientId})\n }\n\n if ( clientSecret ) {\n Object.assign(target, {client_secret: clientSecret})\n }\n}\n\nexport const authorizeApplication = ( auth ) => ( { authActions } ) => {\n let { schema, scopes, name, clientId, clientSecret } = auth\n let headers = {\n Authorization: \"Basic \" + btoa(clientId + \":\" + clientSecret)\n }\n let form = {\n grant_type: \"client_credentials\",\n scope: scopes.join(scopeSeparator)\n }\n\n return authActions.authorizeRequest({body: buildFormData(form), name, url: schema.get(\"tokenUrl\"), auth, headers })\n}\n\nexport const authorizeAccessCodeWithFormParams = ( { auth, redirectUrl } ) => ( { authActions } ) => {\n let { schema, name, clientId, clientSecret, codeVerifier } = auth\n let form = {\n grant_type: \"authorization_code\",\n code: auth.code,\n client_id: clientId,\n client_secret: clientSecret,\n redirect_uri: redirectUrl,\n code_verifier: codeVerifier\n }\n\n return authActions.authorizeRequest({body: buildFormData(form), name, url: schema.get(\"tokenUrl\"), auth})\n}\n\nexport const authorizeAccessCodeWithBasicAuthentication = ( { auth, redirectUrl } ) => ( { authActions } ) => {\n let { schema, name, clientId, clientSecret, codeVerifier } = auth\n let headers = {\n Authorization: \"Basic \" + btoa(clientId + \":\" + clientSecret)\n }\n let form = {\n grant_type: \"authorization_code\",\n code: auth.code,\n client_id: clientId,\n redirect_uri: redirectUrl,\n code_verifier: codeVerifier\n }\n\n return authActions.authorizeRequest({body: buildFormData(form), name, url: schema.get(\"tokenUrl\"), auth, headers})\n}\n\nexport const authorizeRequest = ( data ) => ( { fn, getConfigs, authActions, errActions, oas3Selectors, specSelectors, authSelectors } ) => {\n let { body, query={}, headers={}, name, url, auth } = data\n\n let { additionalQueryStringParams } = authSelectors.getConfigs() || {}\n\n let parsedUrl\n\n if (specSelectors.isOAS3()) {\n let finalServerUrl = oas3Selectors.serverEffectiveValue(oas3Selectors.selectedServer())\n parsedUrl = parseUrl(url, finalServerUrl, true)\n } else {\n parsedUrl = parseUrl(url, specSelectors.url(), true)\n }\n\n if(typeof additionalQueryStringParams === \"object\") {\n parsedUrl.query = Object.assign({}, parsedUrl.query, additionalQueryStringParams)\n }\n\n const fetchUrl = parsedUrl.toString()\n\n let _headers = Object.assign({\n \"Accept\":\"application/json, text/plain, */*\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n }, headers)\n\n fn.fetch({\n url: fetchUrl,\n method: \"post\",\n headers: _headers,\n query: query,\n body: body,\n requestInterceptor: getConfigs().requestInterceptor,\n responseInterceptor: getConfigs().responseInterceptor\n })\n .then(function (response) {\n let token = JSON.parse(response.data)\n let error = token && ( token.error || \"\" )\n let parseError = token && ( token.parseError || \"\" )\n\n if ( !response.ok ) {\n errActions.newAuthErr( {\n authId: name,\n level: \"error\",\n source: \"auth\",\n message: response.statusText\n } )\n return\n }\n\n if ( error || parseError ) {\n errActions.newAuthErr({\n authId: name,\n level: \"error\",\n source: \"auth\",\n message: JSON.stringify(token)\n })\n return\n }\n\n authActions.authorizeOauth2WithPersistOption({ auth, token})\n })\n .catch(e => {\n let err = new Error(e)\n let message = err.message\n // swagger-js wraps the response (if available) into the e.response property;\n // investigate to check whether there are more details on why the authorization\n // request failed (according to RFC 6479).\n // See also https://github.com/swagger-api/swagger-ui/issues/4048\n if (e.response && e.response.data) {\n const errData = e.response.data\n try {\n const jsonResponse = typeof errData === \"string\" ? JSON.parse(errData) : errData\n if (jsonResponse.error)\n message += `, error: ${jsonResponse.error}`\n if (jsonResponse.error_description)\n message += `, description: ${jsonResponse.error_description}`\n } catch (jsonError) {\n // Ignore\n }\n }\n errActions.newAuthErr( {\n authId: name,\n level: \"error\",\n source: \"auth\",\n message: message\n } )\n })\n}\n\nexport function configureAuth(payload) {\n return {\n type: CONFIGURE_AUTH,\n payload: payload\n }\n}\n\nexport function restoreAuthorization(payload) {\n return {\n type: RESTORE_AUTHORIZATION,\n payload: payload\n }\n}\n\nexport const persistAuthorizationIfNeeded = () => ( { authSelectors, getConfigs } ) => {\n const configs = getConfigs()\n if (configs.persistAuthorization)\n {\n const authorized = authSelectors.authorized()\n localStorage.setItem(\"authorized\", JSON.stringify(authorized.toJS()))\n }\n}\n\nexport const authPopup = (url, swaggerUIRedirectOauth2) => ( ) => {\n win.swaggerUIRedirectOauth2 = swaggerUIRedirectOauth2\n\n win.open(url)\n}\n","import reducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport * as specWrapActionReplacements from \"./spec-wrap-actions\"\n\nexport default function() {\n return {\n afterLoad(system) {\n this.rootInjects = this.rootInjects || {}\n this.rootInjects.initOAuth = system.authActions.configureAuth\n this.rootInjects.preauthorizeApiKey = preauthorizeApiKey.bind(null, system)\n this.rootInjects.preauthorizeBasic = preauthorizeBasic.bind(null, system)\n },\n statePlugins: {\n auth: {\n reducers,\n actions,\n selectors\n },\n spec: {\n wrapActions: specWrapActionReplacements\n }\n }\n }\n}\n\nexport function preauthorizeBasic(system, key, username, password) {\n const {\n authActions: { authorize },\n specSelectors: { specJson, isOAS3 }\n } = system\n\n const definitionBase = isOAS3() ? [\"components\", \"securitySchemes\"] : [\"securityDefinitions\"]\n\n const schema = specJson().getIn([...definitionBase, key])\n\n if(!schema) {\n return null\n }\n\n return authorize({\n [key]: {\n value: {\n username,\n password,\n },\n schema: schema.toJS()\n }\n })\n}\n\nexport function preauthorizeApiKey(system, key, value) {\n const {\n authActions: { authorize },\n specSelectors: { specJson, isOAS3 }\n } = system\n\n const definitionBase = isOAS3() ? [\"components\", \"securitySchemes\"] : [\"securityDefinitions\"]\n\n const schema = specJson().getIn([...definitionBase, key])\n\n if(!schema) {\n return null\n }\n\n return authorize({\n [key]: {\n value,\n schema: schema.toJS()\n }\n })\n}\n","import { fromJS, Map } from \"immutable\"\nimport { btoa, isFunc } from \"core/utils\"\n\nimport {\n SHOW_AUTH_POPUP,\n AUTHORIZE,\n AUTHORIZE_OAUTH2,\n LOGOUT,\n CONFIGURE_AUTH,\n RESTORE_AUTHORIZATION\n} from \"./actions\"\n\nexport default {\n [SHOW_AUTH_POPUP]: (state, { payload } ) =>{\n return state.set( \"showDefinitions\", payload )\n },\n\n [AUTHORIZE]: (state, { payload } ) =>{\n let securities = fromJS(payload)\n let map = state.get(\"authorized\") || Map()\n\n // refactor withMutations\n securities.entrySeq().forEach( ([ key, security ]) => {\n if (!isFunc(security.getIn)) {\n return state.set(\"authorized\", map)\n }\n let type = security.getIn([\"schema\", \"type\"])\n\n if ( type === \"apiKey\" || type === \"http\" ) {\n map = map.set(key, security)\n } else if ( type === \"basic\" ) {\n let username = security.getIn([\"value\", \"username\"])\n let password = security.getIn([\"value\", \"password\"])\n\n map = map.setIn([key, \"value\"], {\n username: username,\n header: \"Basic \" + btoa(username + \":\" + password)\n })\n\n map = map.setIn([key, \"schema\"], security.get(\"schema\"))\n }\n })\n\n return state.set( \"authorized\", map )\n },\n\n [AUTHORIZE_OAUTH2]: (state, { payload } ) =>{\n let { auth, token } = payload\n let parsedAuth\n\n auth.token = Object.assign({}, token)\n parsedAuth = fromJS(auth)\n\n let map = state.get(\"authorized\") || Map()\n map = map.set(parsedAuth.get(\"name\"), parsedAuth)\n \n return state.set( \"authorized\", map )\n },\n\n [LOGOUT]: (state, { payload } ) =>{\n let result = state.get(\"authorized\").withMutations((authorized) => {\n payload.forEach((auth) => {\n authorized.delete(auth)\n })\n })\n\n return state.set(\"authorized\", result)\n },\n\n [CONFIGURE_AUTH]: (state, { payload } ) =>{\n return state.set(\"configs\", payload)\n },\n\n [RESTORE_AUTHORIZATION]: (state, { payload } ) =>{ \n return state.set(\"authorized\", fromJS(payload.authorized))\n },\n}\n","import { createSelector } from \"reselect\"\nimport { List, Map } from \"immutable\"\n\nconst state = state => state\n\nexport const shownDefinitions = createSelector(\n state,\n auth => auth.get( \"showDefinitions\" )\n)\n\nexport const definitionsToAuthorize = createSelector(\n state,\n () => ( { specSelectors } ) => {\n let definitions = specSelectors.securityDefinitions() || Map({})\n let list = List()\n\n //todo refactor\n definitions.entrySeq().forEach( ([ key, val ]) => {\n let map = Map()\n\n map = map.set(key, val)\n list = list.push(map)\n })\n\n return list\n }\n)\n\n\nexport const getDefinitionsByNames = ( state, securities ) => ( { specSelectors } ) => {\n console.warn(\"WARNING: getDefinitionsByNames is deprecated and will be removed in the next major version.\")\n let securityDefinitions = specSelectors.securityDefinitions()\n let result = List()\n\n securities.valueSeq().forEach( (names) => {\n let map = Map()\n names.entrySeq().forEach( ([name, scopes]) => {\n let definition = securityDefinitions.get(name)\n let allowedScopes\n\n if ( definition.get(\"type\") === \"oauth2\" && scopes.size ) {\n allowedScopes = definition.get(\"scopes\")\n\n allowedScopes.keySeq().forEach( (key) => {\n if ( !scopes.contains(key) ) {\n allowedScopes = allowedScopes.delete(key)\n }\n })\n\n definition = definition.set(\"allowedScopes\", allowedScopes)\n }\n\n map = map.set(name, definition)\n })\n\n result = result.push(map)\n })\n\n return result\n}\n\nexport const definitionsForRequirements = (state, securities = List()) => ({ authSelectors }) => {\n const allDefinitions = authSelectors.definitionsToAuthorize() || List()\n return allDefinitions.filter((def) => {\n return securities.some(sec => sec.get(def.keySeq().first()))\n })\n}\n\nexport const authorized = createSelector(\n state,\n auth => auth.get(\"authorized\") || Map()\n)\n\n\nexport const isAuthorized = ( state, securities ) => ( { authSelectors } ) => {\n let authorized = authSelectors.authorized()\n\n if(!List.isList(securities)) {\n return null\n }\n\n return !!securities.toJS().filter( ( security ) => {\n let isAuthorized = true\n\n return Object.keys(security).map((key) => {\n return !isAuthorized || !!authorized.get(key)\n }).indexOf(false) === -1\n }).length\n}\n\nexport const getConfigs = createSelector(\n state,\n auth => auth.get( \"configs\" )\n)\n","// Add security to the final `execute` call ( via `extras` )\nexport const execute = ( oriAction, { authSelectors, specSelectors }) => ({ path, method, operation, extras }) => {\n let securities = {\n authorized: authSelectors.authorized() && authSelectors.authorized().toJS(),\n definitions: specSelectors.securityDefinitions() && specSelectors.securityDefinitions().toJS(),\n specSecurity: specSelectors.security() && specSelectors.security().toJS()\n }\n\n return oriAction({ path, method, operation, securities, ...extras })\n}\n","export const UPDATE_CONFIGS = \"configs_update\"\nexport const TOGGLE_CONFIGS = \"configs_toggle\"\n\n// Update the configs, with a merge ( not deep )\nexport function update(configName, configValue) {\n return {\n type: UPDATE_CONFIGS,\n payload: {\n [configName]: configValue\n },\n }\n}\n\n// Toggle's the config, by name\nexport function toggle(configName) {\n return {\n type: TOGGLE_CONFIGS,\n payload: configName,\n }\n}\n\n\n// Hook\nexport const loaded = () => ({getConfigs, authActions}) => {\n // check if we should restore authorization data from localStorage\n const configs = getConfigs()\n if (configs.persistAuthorization)\n { \n const authorized = localStorage.getItem(\"authorized\") \n if(authorized)\n { \n authActions.restoreAuthorization({ \n authorized: JSON.parse(authorized)\n }) \n }\n }\n}\n","import YAML from \"js-yaml\"\n\nexport const parseYamlConfig = (yaml, system) => {\n try {\n return YAML.load(yaml)\n } catch(e) {\n if (system) {\n system.errActions.newThrownErr( new Error(e) )\n }\n return {}\n }\n}\n","import yamlConfig from \"root/swagger-config.yaml\"\nimport { parseYamlConfig } from \"./helpers\"\nimport * as actions from \"./actions\"\nimport * as specActions from \"./spec-actions\"\nimport * as selectors from \"./selectors\"\nimport reducers from \"./reducers\"\n\nconst specSelectors = {\n getLocalConfig: () => {\n return parseYamlConfig(yamlConfig)\n }\n}\n\n\nexport default function configsPlugin() {\n\n return {\n statePlugins: {\n spec: {\n actions: specActions,\n selectors: specSelectors,\n },\n configs: {\n reducers,\n actions,\n selectors,\n }\n }\n }\n}\n","import { fromJS } from \"immutable\"\n\nimport {\n\tUPDATE_CONFIGS,\n\tTOGGLE_CONFIGS,\n} from \"./actions\"\n\nexport default {\n\n [UPDATE_CONFIGS]: (state, action) => {\n return state.merge(fromJS(action.payload))\n },\n\n [TOGGLE_CONFIGS]: (state, action) => {\n const configName = action.payload\n const oriVal = state.get(configName)\n return state.set(configName, !oriVal)\n },\n\n}\n","// Just get the config value ( it can possibly be an immutable object)\nexport const get = (state, path) => {\n return state.getIn(Array.isArray(path) ? path : [path])\n}\n","import { parseYamlConfig } from \"./helpers\"\n\nexport const downloadConfig = (req) => (system) => {\n const {fn: { fetch }} = system\n\n return fetch(req)\n}\n\nexport const getConfigByUrl = (req, cb)=> ({ specActions }) => {\n if (req) {\n return specActions.downloadConfig(req).then(next, next)\n }\n\n function next(res) {\n if (res instanceof Error || res.status >= 400) {\n specActions.updateLoadingStatus(\"failedConfig\")\n specActions.updateLoadingStatus(\"failedConfig\")\n specActions.updateUrl(\"\")\n console.error(res.statusText + \" \" + req.url)\n cb(null)\n } else {\n cb(parseYamlConfig(res.text))\n }\n }\n}\n","export const setHash = (value) => {\n if(value) {\n return history.pushState(null, null, `#${value}`)\n } else {\n return window.location.hash = \"\"\n }\n}\n","import layout from \"./layout\"\nimport OperationWrapper from \"./operation-wrapper\"\nimport OperationTagWrapper from \"./operation-tag-wrapper\"\n\nexport default function() {\n return [layout, {\n statePlugins: {\n configs: {\n wrapActions: {\n loaded: (ori, system) => (...args) => {\n ori(...args)\n // location.hash was an UTF-16 String, here is required UTF-8\n const hash = decodeURIComponent(window.location.hash)\n system.layoutActions.parseDeepLinkHash(hash)\n }\n }\n }\n },\n wrapComponents: {\n operation: OperationWrapper,\n OperationTag: OperationTagWrapper,\n },\n }]\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_zenscroll__[\"default\"] });","import { setHash } from \"./helpers\"\nimport zenscroll from \"zenscroll\"\nimport { createDeepLinkPath } from \"core/utils\"\nimport Im, { fromJS } from \"immutable\"\n\nconst SCROLL_TO = \"layout_scroll_to\"\nconst CLEAR_SCROLL_TO = \"layout_clear_scroll\"\n\nexport const show = (ori, { getConfigs, layoutSelectors }) => (...args) => {\n ori(...args)\n\n if(!getConfigs().deepLinking) {\n return\n }\n\n try {\n let [tokenArray, shown] = args\n //Coerce in to array\n tokenArray = Array.isArray(tokenArray) ? tokenArray : [tokenArray]\n // Convert into something we can put in the URL hash\n // Or return empty, if we cannot\n const urlHashArray = layoutSelectors.urlHashArrayFromIsShownKey(tokenArray) // Will convert\n\n // No hash friendly list?\n if(!urlHashArray.length)\n return\n\n const [type, assetName] = urlHashArray\n\n if (!shown) {\n return setHash(\"/\")\n }\n\n if (urlHashArray.length === 2) {\n setHash(createDeepLinkPath(`/${encodeURIComponent(type)}/${encodeURIComponent(assetName)}`))\n } else if (urlHashArray.length === 1) {\n setHash(createDeepLinkPath(`/${encodeURIComponent(type)}`))\n }\n\n } catch (e) {\n // This functionality is not mission critical, so if something goes wrong\n // we'll just move on\n console.error(e) // eslint-disable-line no-console\n }\n}\n\nexport const scrollTo = (path) => {\n return {\n type: SCROLL_TO,\n payload: Array.isArray(path) ? path : [path]\n }\n}\n\nexport const parseDeepLinkHash = (rawHash) => ({ layoutActions, layoutSelectors, getConfigs }) => {\n\n if(!getConfigs().deepLinking) {\n return\n }\n\n if(rawHash) {\n let hash = rawHash.slice(1) // # is first character\n\n\n if(hash[0] === \"!\") {\n // Parse UI 2.x shebangs\n hash = hash.slice(1)\n }\n\n if(hash[0] === \"/\") {\n // \"/pet/addPet\" => \"pet/addPet\"\n // makes the split result cleaner\n // also handles forgotten leading slash\n hash = hash.slice(1)\n }\n\n const hashArray = hash.split(\"/\").map(val => (val || \"\"))\n\n const isShownKey = layoutSelectors.isShownKeyFromUrlHashArray(hashArray)\n\n const [type, tagId = \"\", maybeOperationId = \"\"] = isShownKey\n\n if(type === \"operations\") {\n // we're going to show an operation, so we need to expand the tag as well\n const tagIsShownKey = layoutSelectors.isShownKeyFromUrlHashArray([tagId])\n\n // If an `_` is present, trigger the legacy escaping behavior to be safe\n // TODO: remove this in v4.0, it is deprecated\n if(tagId.indexOf(\"_\") > -1) {\n console.warn(\"Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead.\")\n layoutActions.show(tagIsShownKey.map(val => val.replace(/_/g, \" \")), true)\n }\n\n layoutActions.show(tagIsShownKey, true)\n }\n\n // If an `_` is present, trigger the legacy escaping behavior to be safe\n // TODO: remove this in v4.0, it is deprecated\n if (tagId.indexOf(\"_\") > -1 || maybeOperationId.indexOf(\"_\") > -1) {\n console.warn(\"Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead.\")\n layoutActions.show(isShownKey.map(val => val.replace(/_/g, \" \")), true)\n }\n\n layoutActions.show(isShownKey, true)\n\n // Scroll to the newly expanded entity\n layoutActions.scrollTo(isShownKey)\n }\n}\n\nexport const readyToScroll = (isShownKey, ref) => (system) => {\n const scrollToKey = system.layoutSelectors.getScrollToKey()\n\n if(Im.is(scrollToKey, fromJS(isShownKey))) {\n system.layoutActions.scrollToElement(ref)\n system.layoutActions.clearScrollTo()\n }\n}\n\n// Scroll to \"ref\" (dom node) with the scrollbar on \"container\" or the nearest parent\nexport const scrollToElement = (ref, container) => (system) => {\n try {\n container = container || system.fn.getScrollParent(ref)\n let myScroller = zenscroll.createScroller(container)\n myScroller.to(ref)\n } catch(e) {\n console.error(e) // eslint-disable-line no-console\n }\n}\n\nexport const clearScrollTo = () => {\n return {\n type: CLEAR_SCROLL_TO,\n }\n}\n\n// From: https://stackoverflow.com/a/42543908/3933724\n// Modified to return html instead of body element as last resort\nfunction getScrollParent(element, includeHidden) {\n const LAST_RESORT = document.documentElement\n let style = getComputedStyle(element)\n const excludeStaticParent = style.position === \"absolute\"\n const overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/\n\n if (style.position === \"fixed\")\n return LAST_RESORT\n for (let parent = element; (parent = parent.parentElement);) {\n style = getComputedStyle(parent)\n if (excludeStaticParent && style.position === \"static\") {\n continue\n }\n if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX))\n return parent\n }\n\n return LAST_RESORT\n}\n\nexport default {\n fn: {\n getScrollParent,\n },\n statePlugins: {\n layout: {\n actions: {\n scrollToElement,\n scrollTo,\n clearScrollTo,\n readyToScroll,\n parseDeepLinkHash\n },\n selectors: {\n getScrollToKey(state) {\n return state.get(\"scrollToKey\")\n },\n isShownKeyFromUrlHashArray(state, urlHashArray) {\n const [tag, operationId] = urlHashArray\n // We only put operations in the URL\n if(operationId) {\n return [\"operations\", tag, operationId]\n } else if (tag) {\n return [\"operations-tag\", tag]\n }\n return []\n },\n urlHashArrayFromIsShownKey(state, isShownKey) {\n let [type, tag, operationId] = isShownKey\n // We only put operations in the URL\n if(type == \"operations\") {\n return [tag, operationId]\n } else if (type == \"operations-tag\") {\n return [tag]\n }\n return []\n },\n },\n reducers: {\n [SCROLL_TO](state, action) {\n return state.set(\"scrollToKey\", Im.fromJS(action.payload))\n },\n [CLEAR_SCROLL_TO](state) {\n return state.delete(\"scrollToKey\")\n }\n },\n wrapActions: {\n show\n }\n }\n }\n}\n","import React from \"react\"\nimport { PropTypes } from \"prop-types\"\n\nconst Wrapper = (Ori, system) => class OperationTagWrapper extends React.Component {\n\n static propTypes = {\n tag: PropTypes.object.isRequired,\n }\n\n onLoad = (ref) => {\n const { tag } = this.props\n const isShownKey = [\"operations-tag\", tag]\n system.layoutActions.readyToScroll(isShownKey, ref)\n }\n\n render() {\n return (\n <span ref={this.onLoad}>\n <Ori {...this.props} />\n </span>\n )\n }\n}\n\nexport default Wrapper\n","import React from \"react\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst Wrapper = (Ori, system) => class OperationWrapper extends React.Component {\n\n static propTypes = {\n operation: ImPropTypes.map.isRequired,\n }\n\n onLoad = (ref) => {\n const { operation } = this.props\n const { tag, operationId } = operation.toObject()\n let { isShownKey } = operation.toObject()\n isShownKey = isShownKey || [\"operations\", tag, operationId]\n system.layoutActions.readyToScroll(isShownKey, ref)\n }\n\n render() {\n return (\n <span ref={this.onLoad}>\n <Ori {...this.props} />\n </span>\n )\n }\n}\n\nexport default Wrapper\n","import { createSelector } from \"reselect\"\nimport { Map } from \"immutable\"\nimport win from \"../window\"\n\nexport default function downloadUrlPlugin (toolbox) {\n let { fn } = toolbox\n\n const actions = {\n download: (url)=> ({ errActions, specSelectors, specActions, getConfigs }) => {\n let { fetch } = fn\n const config = getConfigs()\n url = url || specSelectors.url()\n specActions.updateLoadingStatus(\"loading\")\n errActions.clear({source: \"fetch\"})\n fetch({\n url,\n loadSpec: true,\n requestInterceptor: config.requestInterceptor || (a => a),\n responseInterceptor: config.responseInterceptor || (a => a),\n credentials: \"same-origin\",\n headers: {\n \"Accept\": \"application/json,*/*\"\n }\n }).then(next,next)\n\n function next(res) {\n if(res instanceof Error || res.status >= 400) {\n specActions.updateLoadingStatus(\"failed\")\n errActions.newThrownErr(Object.assign( new Error((res.message || res.statusText) + \" \" + url), {source: \"fetch\"}))\n // Check if the failure was possibly due to CORS or mixed content\n if (!res.status && res instanceof Error) checkPossibleFailReasons()\n return\n }\n specActions.updateLoadingStatus(\"success\")\n specActions.updateSpec(res.text)\n if(specSelectors.url() !== url) {\n specActions.updateUrl(url)\n }\n }\n\n function checkPossibleFailReasons() {\n try {\n let specUrl\n\n if(\"URL\" in win ) {\n specUrl = new URL(url)\n } else {\n // legacy browser, use <a href> to parse the URL\n specUrl = document.createElement(\"a\")\n specUrl.href = url\n }\n\n if(specUrl.protocol !== \"https:\" && win.location.protocol === \"https:\") {\n const error = Object.assign(\n new Error(`Possible mixed-content issue? The page was loaded over https:// but a ${specUrl.protocol}// URL was specified. Check that you are not attempting to load mixed content.`),\n {source: \"fetch\"}\n )\n errActions.newThrownErr(error)\n return\n }\n if(specUrl.origin !== win.location.origin) {\n const error = Object.assign(\n new Error(`Possible cross-origin (CORS) issue? The URL origin (${specUrl.origin}) does not match the page (${win.location.origin}). Check the server returns the correct 'Access-Control-Allow-*' headers.`),\n {source: \"fetch\"}\n )\n errActions.newThrownErr(error)\n }\n } catch (e) {\n return\n }\n }\n\n },\n\n updateLoadingStatus: (status) => {\n let enums = [null, \"loading\", \"failed\", \"success\", \"failedConfig\"]\n if(enums.indexOf(status) === -1) {\n console.error(`Error: ${status} is not one of ${JSON.stringify(enums)}`)\n }\n\n return {\n type: \"spec_update_loading_status\",\n payload: status\n }\n }\n }\n\n let reducers = {\n \"spec_update_loading_status\": (state, action) => {\n return (typeof action.payload === \"string\")\n ? state.set(\"loadingStatus\", action.payload)\n : state\n }\n }\n\n let selectors = {\n loadingStatus: createSelector(\n state => {\n return state || Map()\n },\n spec => spec.get(\"loadingStatus\") || null\n )\n }\n\n return {\n statePlugins: {\n spec: { actions, reducers, selectors }\n }\n }\n}\n","import { serializeError } from \"serialize-error\"\n\nexport const NEW_THROWN_ERR = \"err_new_thrown_err\"\nexport const NEW_THROWN_ERR_BATCH = \"err_new_thrown_err_batch\"\nexport const NEW_SPEC_ERR = \"err_new_spec_err\"\nexport const NEW_SPEC_ERR_BATCH = \"err_new_spec_err_batch\"\nexport const NEW_AUTH_ERR = \"err_new_auth_err\"\nexport const CLEAR = \"err_clear\"\nexport const CLEAR_BY = \"err_clear_by\"\n\nexport function newThrownErr(err) {\n return {\n type: NEW_THROWN_ERR,\n payload: serializeError(err)\n }\n}\n\nexport function newThrownErrBatch(errors) {\n return {\n type: NEW_THROWN_ERR_BATCH,\n payload: errors\n }\n}\n\nexport function newSpecErr(err) {\n return {\n type: NEW_SPEC_ERR,\n payload: err\n }\n}\n\nexport function newSpecErrBatch(errArray) {\n return {\n type: NEW_SPEC_ERR_BATCH,\n payload: errArray\n }\n}\n\nexport function newAuthErr(err) {\n return {\n type: NEW_AUTH_ERR,\n payload: err\n }\n}\n\nexport function clear(filter = {}) {\n // filter looks like: {type: 'spec'}, {source: 'parser'}\n return {\n type: CLEAR,\n payload: filter\n }\n}\n\nexport function clearBy(filter = () => true) {\n // filter is a function\n return {\n type: CLEAR_BY,\n payload: filter\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_reduce_11e69996__[\"default\"] });","import reduce from \"lodash/reduce\"\nimport * as NotOfType from \"./transformers/not-of-type\"\nimport * as ParameterOneOf from \"./transformers/parameter-oneof\"\n\nconst errorTransformers = [\n NotOfType,\n ParameterOneOf\n]\n\nexport default function transformErrors (errors) {\n // Dev note: unimplemented artifact where\n // jsSpec: system.specSelectors.specJson().toJS()\n // regardless, to be compliant with redux@4, instead of calling the store method here,\n // jsSpec should be pass down as an argument,\n let inputs = {\n jsSpec: {}\n }\n\n let transformedErrors = reduce(errorTransformers, (result, transformer) => {\n try {\n let newlyTransformedErrors = transformer.transform(result, inputs)\n return newlyTransformedErrors.filter(err => !!err) // filter removed errors\n } catch(e) {\n console.error(\"Transformer error:\", e)\n return result\n }\n }, errors)\n\n return transformedErrors\n .filter(err => !!err) // filter removed errors\n .map(err => {\n if(!err.get(\"line\") && err.get(\"path\")) {\n // TODO: re-resolve line number if we've transformed it away\n }\n return err\n })\n\n}\n","export function transform(errors) {\n // JSONSchema refers to the current object being validated\n // as 'instance'. This isn't helpful to users, so we remove it.\n return errors\n .map(err => {\n let seekStr = \"is not of a type(s)\"\n let i = err.get(\"message\").indexOf(seekStr)\n if(i > -1) {\n let types = err.get(\"message\").slice(i + seekStr.length).split(\",\")\n return err.set(\"message\", err.get(\"message\").slice(0, i) + makeNewMessage(types))\n } else {\n return err\n }\n })\n}\n\nfunction makeNewMessage(types) {\n return types.reduce((p, c, i, arr) => {\n if(i === arr.length - 1 && arr.length > 1) {\n return p + \"or \" + c\n } else if(arr[i+1] && arr.length > 2) {\n return p + c + \", \"\n } else if(arr[i+1]) {\n return p + c + \" \"\n } else {\n return p + c\n }\n }, \"should be a\")\n}\n","import get from \"lodash/get\"\nimport { fromJS } from \"immutable\"\n\nexport function transform(errors, { jsSpec }) {\n // LOOK HERE THIS TRANSFORMER IS CURRENTLY DISABLED 😃\n // TODO: finish implementing, fix flattening problem\n /* eslint-disable no-unreachable */\n return errors\n\n\n // JSONSchema gives us very little to go on\n let searchStr = \"is not exactly one from <#/definitions/parameter>,<#/definitions/jsonReference>\"\n return errors\n .map(err => {\n let message = err.get(\"message\")\n let isParameterOneOfError = message.indexOf(searchStr) > -1\n if(isParameterOneOfError) {\n // try to find what's wrong\n return createTailoredParameterError(err, jsSpec)\n } else {\n return err\n }\n })\n .flatten(true) // shallow Immutable flatten\n}\n\nconst VALID_IN_VALUES = [\"path\", \"query\", \"header\", \"body\", \"formData\"]\nconst VALID_COLLECTIONFORMAT_VALUES = [\"csv\", \"ssv\", \"tsv\", \"pipes\", \"multi\"]\n\nfunction createTailoredParameterError(err, jsSpec) {\n let newErrs = []\n let parameter = get(jsSpec, err.get(\"path\"))\n\n // find addressable cases\n if(parameter.in && VALID_IN_VALUES.indexOf(parameter.in) === -1) {\n let message = `Wrong value for the \"in\" keyword. Expected one of: ${VALID_IN_VALUES.join(\", \")}.`\n newErrs.push({\n message,\n path: err.get(\"path\") + \".in\",\n type: \"spec\",\n source: \"structural\",\n level: \"error\"\n })\n }\n\n if(parameter.collectionFormat && VALID_COLLECTIONFORMAT_VALUES.indexOf(parameter.collectionFormat) === -1) {\n let message = `Wrong value for the \"collectionFormat\" keyword. Expected one of: ${VALID_COLLECTIONFORMAT_VALUES.join(\", \")}.`\n newErrs.push({\n message,\n path: err.get(\"path\") + \".collectionFormat\",\n type: \"spec\",\n source: \"structural\",\n level: \"error\"\n })\n }\n\n return newErrs.length ? fromJS(newErrs) : err // fall back to making no changes\n\n}\n","import makeReducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\n\nexport default function(system) {\n return {\n statePlugins: {\n err: {\n reducers: makeReducers(system),\n actions,\n selectors\n }\n }\n }\n}\n","import {\n NEW_THROWN_ERR,\n NEW_THROWN_ERR_BATCH,\n NEW_SPEC_ERR,\n NEW_SPEC_ERR_BATCH,\n NEW_AUTH_ERR,\n CLEAR,\n CLEAR_BY,\n} from \"./actions\"\n\nimport { fromJS, List } from \"immutable\"\n\nimport transformErrors from \"./error-transformers/hook\"\n\nlet DEFAULT_ERROR_STRUCTURE = {\n // defaults\n line: 0,\n level: \"error\",\n message: \"Unknown error\"\n}\n\nexport default function() {\n return {\n [NEW_THROWN_ERR]: (state, { payload }) => {\n let error = Object.assign(DEFAULT_ERROR_STRUCTURE, payload, {type: \"thrown\"})\n return state\n .update(\"errors\", errors => (errors || List()).push( fromJS( error )) )\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [NEW_THROWN_ERR_BATCH]: (state, { payload }) => {\n payload = payload.map(err => {\n return fromJS(Object.assign(DEFAULT_ERROR_STRUCTURE, err, { type: \"thrown\" }))\n })\n return state\n .update(\"errors\", errors => (errors || List()).concat( fromJS( payload )) )\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [NEW_SPEC_ERR]: (state, { payload }) => {\n let error = fromJS(payload)\n error = error.set(\"type\", \"spec\")\n return state\n .update(\"errors\", errors => (errors || List()).push( fromJS(error)).sortBy(err => err.get(\"line\")) )\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [NEW_SPEC_ERR_BATCH]: (state, { payload }) => {\n payload = payload.map(err => {\n return fromJS(Object.assign(DEFAULT_ERROR_STRUCTURE, err, { type: \"spec\" }))\n })\n return state\n .update(\"errors\", errors => (errors || List()).concat(fromJS(payload)))\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [NEW_AUTH_ERR]: (state, { payload }) => {\n let error = fromJS(Object.assign({}, payload))\n\n error = error.set(\"type\", \"auth\")\n return state\n .update(\"errors\", errors => (errors || List()).push( fromJS(error)) )\n .update(\"errors\", errors => transformErrors(errors))\n },\n\n [CLEAR]: (state, { payload }) => {\n if(!payload || !state.get(\"errors\")) {\n return state\n }\n\n let newErrors = state.get(\"errors\")\n .filter(err => {\n return err.keySeq().every(k => {\n const errValue = err.get(k)\n const filterValue = payload[k]\n\n if(!filterValue) return true\n\n return errValue !== filterValue\n })\n })\n return state.merge({\n errors: newErrors\n })\n },\n\n [CLEAR_BY]: (state, { payload }) => {\n if(!payload || typeof payload !== \"function\") {\n return state\n }\n let newErrors = state.get(\"errors\")\n .filter(err => {\n return payload(err)\n })\n return state.merge({\n errors: newErrors\n })\n }\n }\n}\n","import { List } from \"immutable\"\nimport { createSelector } from \"reselect\"\n\nconst state = state => state\n\nexport const allErrors = createSelector(\n state,\n err => err.get(\"errors\", List())\n)\n\nexport const lastError = createSelector(\n allErrors,\n all => all.last()\n)\n\n","import opsFilter from \"./opsFilter\"\n\nexport default function() {\n return {\n fn: {\n opsFilter\n }\n }\n}\n","export default function(taggedOps, phrase) {\n return taggedOps.filter((tagObj, tag) => tag.indexOf(phrase) !== -1)\n}\n","import { normalizeArray } from \"core/utils\"\n\nexport const UPDATE_LAYOUT = \"layout_update_layout\"\nexport const UPDATE_FILTER = \"layout_update_filter\"\nexport const UPDATE_MODE = \"layout_update_mode\"\nexport const SHOW = \"layout_show\"\n\n// export const ONLY_SHOW = \"layout_only_show\"\n\nexport function updateLayout(layout) {\n return {\n type: UPDATE_LAYOUT,\n payload: layout\n }\n}\n\nexport function updateFilter(filter) {\n return {\n type: UPDATE_FILTER,\n payload: filter\n }\n}\n\nexport function show(thing, shown=true) {\n thing = normalizeArray(thing)\n return {\n type: SHOW,\n payload: {thing, shown}\n }\n}\n\n// Simple string key-store, used for\nexport function changeMode(thing, mode=\"\") {\n thing = normalizeArray(thing)\n return {\n type: UPDATE_MODE,\n payload: {thing, mode}\n }\n}\n","import reducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport * as wrapSelectors from \"./spec-extensions/wrap-selector\"\n\nexport default function() {\n return {\n statePlugins: {\n layout: {\n reducers,\n actions,\n selectors\n },\n spec: {\n wrapSelectors\n }\n }\n }\n}\n","import { fromJS } from \"immutable\"\nimport {\n UPDATE_LAYOUT,\n UPDATE_FILTER,\n UPDATE_MODE,\n SHOW\n} from \"./actions\"\n\nexport default {\n\n [UPDATE_LAYOUT]: (state, action) => state.set(\"layout\", action.payload),\n\n [UPDATE_FILTER]: (state, action) => state.set(\"filter\", action.payload),\n\n [SHOW]: (state, action) => {\n const isShown = action.payload.shown\n // This is one way to serialize an array, another (preferred) is to convert to json-pointer\n // TODO: use json-pointer serilization instead of fromJS(...), for performance\n const thingToShow = fromJS(action.payload.thing)\n // This is a map of paths to bools\n // eg: [one, two] => true\n // eg: [one] => false\n return state.update(\"shown\", fromJS({}), a => a.set(thingToShow, isShown))\n },\n\n [UPDATE_MODE]: (state, action) => {\n let thing = action.payload.thing\n let mode = action.payload.mode\n return state.setIn([\"modes\"].concat(thing), (mode || \"\") + \"\")\n }\n\n}\n","import { createSelector } from \"reselect\"\nimport { normalizeArray } from \"core/utils\"\nimport { fromJS } from \"immutable\"\n\nconst state = state => state\n\nexport const current = state => state.get(\"layout\")\n\nexport const currentFilter = state => state.get(\"filter\")\n\nexport const isShown = (state, thing, def) => {\n thing = normalizeArray(thing)\n return state.get(\"shown\", fromJS({})).get(fromJS(thing), def)\n}\n\nexport const whatMode = (state, thing, def=\"\") => {\n thing = normalizeArray(thing)\n return state.getIn([\"modes\", ...thing], def)\n}\n\nexport const showSummary = createSelector(\n state,\n state => !isShown(state, \"editor\")\n)\n","\nexport const taggedOperations = (oriSelector, system) => (state, ...args) => {\n let taggedOps = oriSelector(state, ...args)\n\n const { fn, layoutSelectors, getConfigs } = system.getSystem()\n const configs = getConfigs()\n const { maxDisplayedTags } = configs\n\n // Filter, if requested\n let filter = layoutSelectors.currentFilter()\n if (filter) {\n if (filter !== true && filter !== \"true\" && filter !== \"false\") {\n taggedOps = fn.opsFilter(taggedOps, filter)\n }\n }\n // Limit to [max] items, if specified\n if (maxDisplayedTags && !isNaN(maxDisplayedTags) && maxDisplayedTags >= 0) {\n taggedOps = taggedOps.slice(0, maxDisplayedTags)\n }\n\n return taggedOps\n}\n","export default function ({configs}) {\n\n const levels = {\n \"debug\": 0,\n \"info\": 1,\n \"log\": 2,\n \"warn\": 3,\n \"error\": 4\n }\n\n const getLevel = (level) => levels[level] || -1\n\n let { logLevel } = configs\n let logLevelInt = getLevel(logLevel)\n\n function log(level, ...args) {\n if(getLevel(level) >= logLevelInt)\n // eslint-disable-next-line no-console\n console[level](...args)\n }\n\n log.warn = log.bind(null, \"warn\")\n log.error = log.bind(null, \"error\")\n log.info = log.bind(null, \"info\")\n log.debug = log.bind(null, \"debug\")\n\n return { rootInjects: { log } }\n}\n","// Actions conform to FSA (flux-standard-actions)\n// {type: string,payload: Any|Error, meta: obj, error: bool}\n\nexport const UPDATE_SELECTED_SERVER = \"oas3_set_servers\"\nexport const UPDATE_REQUEST_BODY_VALUE = \"oas3_set_request_body_value\"\nexport const UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG = \"oas3_set_request_body_retain_flag\"\nexport const UPDATE_REQUEST_BODY_INCLUSION = \"oas3_set_request_body_inclusion\"\nexport const UPDATE_ACTIVE_EXAMPLES_MEMBER = \"oas3_set_active_examples_member\"\nexport const UPDATE_REQUEST_CONTENT_TYPE = \"oas3_set_request_content_type\"\nexport const UPDATE_RESPONSE_CONTENT_TYPE = \"oas3_set_response_content_type\"\nexport const UPDATE_SERVER_VARIABLE_VALUE = \"oas3_set_server_variable_value\"\nexport const SET_REQUEST_BODY_VALIDATE_ERROR = \"oas3_set_request_body_validate_error\"\nexport const CLEAR_REQUEST_BODY_VALIDATE_ERROR = \"oas3_clear_request_body_validate_error\"\nexport const CLEAR_REQUEST_BODY_VALUE = \"oas3_clear_request_body_value\"\n\nexport function setSelectedServer (selectedServerUrl, namespace) {\n return {\n type: UPDATE_SELECTED_SERVER,\n payload: {selectedServerUrl, namespace}\n }\n}\n\nexport function setRequestBodyValue ({ value, pathMethod }) {\n return {\n type: UPDATE_REQUEST_BODY_VALUE,\n payload: { value, pathMethod }\n }\n}\n\nexport const setRetainRequestBodyValueFlag = ({ value, pathMethod }) => {\n return {\n type: UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG,\n payload: { value, pathMethod }\n }\n}\n\n\nexport function setRequestBodyInclusion ({ value, pathMethod, name }) {\n return {\n type: UPDATE_REQUEST_BODY_INCLUSION,\n payload: { value, pathMethod, name }\n }\n}\n\nexport function setActiveExamplesMember ({ name, pathMethod, contextType, contextName }) {\n return {\n type: UPDATE_ACTIVE_EXAMPLES_MEMBER,\n payload: { name, pathMethod, contextType, contextName }\n }\n}\n\nexport function setRequestContentType ({ value, pathMethod }) {\n return {\n type: UPDATE_REQUEST_CONTENT_TYPE,\n payload: { value, pathMethod }\n }\n}\n\nexport function setResponseContentType ({ value, path, method }) {\n return {\n type: UPDATE_RESPONSE_CONTENT_TYPE,\n payload: { value, path, method }\n }\n}\n\nexport function setServerVariableValue ({ server, namespace, key, val }) {\n return {\n type: UPDATE_SERVER_VARIABLE_VALUE,\n payload: { server, namespace, key, val }\n }\n}\n\nexport const setRequestBodyValidateError = ({ path, method, validationErrors }) => {\n return {\n type: SET_REQUEST_BODY_VALIDATE_ERROR,\n payload: { path, method, validationErrors }\n }\n}\n\nexport const clearRequestBodyValidateError = ({ path, method }) => {\n return {\n type: CLEAR_REQUEST_BODY_VALIDATE_ERROR,\n payload: { path, method }\n }\n}\n\nexport const initRequestBodyValidateError = ({ pathMethod } ) => {\n return {\n type: CLEAR_REQUEST_BODY_VALIDATE_ERROR,\n payload: { path: pathMethod[0], method: pathMethod[1] }\n }\n}\n\nexport const clearRequestBodyValue = ({ pathMethod }) => {\n return {\n type: CLEAR_REQUEST_BODY_VALUE,\n payload: { pathMethod }\n }\n}\n","import { createSelector } from \"reselect\"\nimport { List, Map, fromJS } from \"immutable\"\nimport { isOAS3 as isOAS3Helper } from \"../helpers\"\n\n\n// Helpers\n\nconst state = state => state\n\nfunction onlyOAS3(selector) {\n return (ori, system) => (...args) => {\n const spec = system.getSystem().specSelectors.specJson()\n if(isOAS3Helper(spec)) {\n // Pass the spec plugin state to Reselect to trigger on securityDefinitions update\n let resolvedSchemes = system.getState().getIn([\"spec\", \"resolvedSubtrees\",\n \"components\", \"securitySchemes\"])\n return selector(system, resolvedSchemes, ...args)\n } else {\n return ori(...args)\n }\n }\n}\n\nexport const definitionsToAuthorize = onlyOAS3(createSelector(\n state,\n ({specSelectors}) => specSelectors.securityDefinitions(),\n (system, definitions) => {\n // Coerce our OpenAPI 3.0 definitions into monoflow definitions\n // that look like Swagger2 definitions.\n let list = List()\n\n if(!definitions) {\n return list\n }\n\n definitions.entrySeq().forEach( ([ defName, definition ]) => {\n const type = definition.get(\"type\")\n\n if(type === \"oauth2\") {\n definition.get(\"flows\").entrySeq().forEach(([flowKey, flowVal]) => {\n let translatedDef = fromJS({\n flow: flowKey,\n authorizationUrl: flowVal.get(\"authorizationUrl\"),\n tokenUrl: flowVal.get(\"tokenUrl\"),\n scopes: flowVal.get(\"scopes\"),\n type: definition.get(\"type\"),\n description: definition.get(\"description\")\n })\n\n list = list.push(new Map({\n [defName]: translatedDef.filter((v) => {\n // filter out unset values, sometimes `authorizationUrl`\n // and `tokenUrl` come out as `undefined` in the data\n return v !== undefined\n })\n }))\n })\n }\n if(type === \"http\" || type === \"apiKey\") {\n list = list.push(new Map({\n [defName]: definition\n }))\n }\n if(type === \"openIdConnect\" && definition.get(\"openIdConnectData\")) {\n let oidcData = definition.get(\"openIdConnectData\")\n let grants = oidcData.get(\"grant_types_supported\") || [\"authorization_code\", \"implicit\"]\n grants.forEach((grant) => {\n // Convert from OIDC list of scopes to the OAS-style map with empty descriptions\n let translatedScopes = oidcData.get(\"scopes_supported\") &&\n oidcData.get(\"scopes_supported\").reduce((acc, cur) => acc.set(cur, \"\"), new Map())\n\n let translatedDef = fromJS({\n flow: grant,\n authorizationUrl: oidcData.get(\"authorization_endpoint\"),\n tokenUrl: oidcData.get(\"token_endpoint\"),\n scopes: translatedScopes,\n type: \"oauth2\",\n openIdConnectUrl: definition.get(\"openIdConnectUrl\")\n })\n\n list = list.push(new Map({\n [defName]: translatedDef.filter((v) => {\n // filter out unset values, sometimes `authorizationUrl`\n // and `tokenUrl` come out as `undefined` in the data\n return v !== undefined\n })\n }))\n })\n }\n })\n\n return list\n }\n))\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { fromJS } from \"immutable\"\n\nconst Callbacks = (props) => {\n let { callbacks, getComponent, specPath } = props\n // const Markdown = getComponent(\"Markdown\", true)\n const OperationContainer = getComponent(\"OperationContainer\", true)\n\n if(!callbacks) {\n return <span>No callbacks</span>\n }\n\n let callbackElements = callbacks.entrySeq().map(([callbackName, callback]) => {\n return <div key={callbackName}>\n <h2>{callbackName}</h2>\n { callback.entrySeq().map(([pathItemName, pathItem]) => {\n if(pathItemName === \"$$ref\") {\n return null\n }\n return <div key={pathItemName}>\n { pathItem.entrySeq().map(([method, operation]) => {\n if(method === \"$$ref\") {\n return null\n }\n let op = fromJS({\n operation\n })\n return <OperationContainer\n {...props}\n op={op}\n key={method}\n tag={\"\"}\n method={method}\n path={pathItemName}\n specPath={specPath.push(callbackName, pathItemName, method)}\n allowTryItOut={false}\n />\n }) }\n </div>\n }) }\n </div>\n })\n return <div>\n {callbackElements}\n </div>\n}\n\nCallbacks.propTypes = {\n getComponent: PropTypes.func.isRequired,\n callbacks: ImPropTypes.iterable.isRequired,\n specPath: ImPropTypes.list.isRequired,\n}\n\nexport default Callbacks\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class HttpAuth extends React.Component {\n static propTypes = {\n authorized: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n errSelectors: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func\n }\n\n constructor(props, context) {\n super(props, context)\n let { name, schema } = this.props\n let value = this.getValue()\n\n this.state = {\n name: name,\n schema: schema,\n value: value\n }\n }\n\n getValue () {\n let { name, authorized } = this.props\n\n return authorized && authorized.getIn([name, \"value\"])\n }\n\n onChange =(e) => {\n let { onChange } = this.props\n let { value, name } = e.target\n\n let newValue = Object.assign({}, this.state.value)\n\n if(name) {\n newValue[name] = value\n } else {\n newValue = value\n }\n\n this.setState({ value: newValue }, () => onChange(this.state))\n\n }\n\n render() {\n let { schema, getComponent, errSelectors, name } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const AuthError = getComponent(\"authError\")\n const Markdown = getComponent(\"Markdown\", true)\n const JumpToPath = getComponent(\"JumpToPath\", true)\n\n const scheme = (schema.get(\"scheme\") || \"\").toLowerCase()\n let value = this.getValue()\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n\n if(scheme === \"basic\") {\n let username = value ? value.get(\"username\") : null\n return <div>\n <h4>\n <code>{ name || schema.get(\"name\") }</code> \n (http, Basic)\n <JumpToPath path={[ \"securityDefinitions\", name ]} />\n </h4>\n { username && <h6>Authorized</h6> }\n <Row>\n <Markdown source={ schema.get(\"description\") } />\n </Row>\n <Row>\n <label>Username:</label>\n {\n username ? <code> { username } </code>\n : <Col><Input type=\"text\" required=\"required\" name=\"username\" aria-label=\"auth-basic-username\" onChange={ this.onChange } autoFocus/></Col>\n }\n </Row>\n <Row>\n <label>Password:</label>\n {\n username ? <code> ****** </code>\n : <Col><Input autoComplete=\"new-password\"\n name=\"password\"\n type=\"password\"\n aria-label=\"auth-basic-password\"\n onChange={ this.onChange }/></Col>\n }\n </Row>\n {\n errors.valueSeq().map( (error, key) => {\n return <AuthError error={ error }\n key={ key }/>\n } )\n }\n </div>\n }\n\n if(scheme === \"bearer\") {\n return (\n <div>\n <h4>\n <code>{ name || schema.get(\"name\") }</code> \n (http, Bearer)\n <JumpToPath path={[ \"securityDefinitions\", name ]} />\n </h4>\n { value && <h6>Authorized</h6>}\n <Row>\n <Markdown source={ schema.get(\"description\") } />\n </Row>\n <Row>\n <label>Value:</label>\n {\n value ? <code> ****** </code>\n : <Col><Input type=\"text\" aria-label=\"auth-bearer-value\" onChange={ this.onChange } autoFocus/></Col>\n }\n </Row>\n {\n errors.valueSeq().map( (error, key) => {\n return <AuthError error={ error }\n key={ key }/>\n } )\n }\n </div>\n )\n }\n return <div>\n <em><b>{name}</b> HTTP authentication: unsupported scheme {`'${scheme}'`}</em>\n </div>\n }\n}\n","import Callbacks from \"./callbacks\"\nimport RequestBody from \"./request-body\"\nimport OperationLink from \"./operation-link\"\nimport Servers from \"./servers\"\nimport ServersContainer from \"./servers-container\"\nimport RequestBodyEditor from \"./request-body-editor\"\nimport HttpAuth from \"./http-auth\"\nimport OperationServers from \"./operation-servers\"\n\nexport default {\n Callbacks,\n HttpAuth,\n RequestBody,\n Servers,\n ServersContainer,\n RequestBodyEditor,\n OperationServers,\n operationLink: OperationLink\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nclass OperationLink extends Component {\n render() {\n const { link, name, getComponent } = this.props\n\n const Markdown = getComponent(\"Markdown\", true)\n\n let targetOp = link.get(\"operationId\") || link.get(\"operationRef\")\n let parameters = link.get(\"parameters\") && link.get(\"parameters\").toJS()\n let description = link.get(\"description\")\n\n return <div className=\"operation-link\">\n <div className=\"description\">\n <b><code>{name}</code></b>\n { description ? <Markdown source={description}></Markdown> : null }\n </div>\n <pre>\n Operation `{targetOp}`<br /><br />\n Parameters {padString(0, JSON.stringify(parameters, null, 2)) || \"{}\"}<br />\n </pre>\n </div>\n }\n\n}\n\nfunction padString(n, string) {\n if(typeof string !== \"string\") { return \"\" }\n return string\n .split(\"\\n\")\n .map((line, i) => i > 0 ? Array(n + 1).join(\" \") + line : line)\n .join(\"\\n\")\n}\n\nOperationLink.propTypes = {\n getComponent: PropTypes.func.isRequired,\n link: ImPropTypes.orderedMap.isRequired,\n name: PropTypes.String\n}\n\nexport default OperationLink\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class OperationServers extends React.Component {\n static propTypes = {\n // for self\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n operationServers: ImPropTypes.list,\n pathServers: ImPropTypes.list,\n setSelectedServer: PropTypes.func.isRequired,\n setServerVariableValue: PropTypes.func.isRequired,\n getSelectedServer: PropTypes.func.isRequired,\n getServerVariable: PropTypes.func.isRequired,\n getEffectiveServerValue: PropTypes.func.isRequired,\n\n // utils\n getComponent: PropTypes.func.isRequired\n }\n\n setSelectedServer = (server) => {\n const { path, method } = this.props\n // FIXME: we should be keeping up with this in props/state upstream of us\n // instead of cheating™ with `forceUpdate`\n this.forceUpdate()\n return this.props.setSelectedServer(server, `${path}:${method}`)\n }\n\n setServerVariableValue = (obj) => {\n const { path, method } = this.props\n // FIXME: we should be keeping up with this in props/state upstream of us\n // instead of cheating™ with `forceUpdate`\n this.forceUpdate()\n return this.props.setServerVariableValue({\n ...obj,\n namespace: `${path}:${method}`\n })\n }\n\n getSelectedServer = () => {\n const { path, method } = this.props\n return this.props.getSelectedServer(`${path}:${method}`)\n }\n\n getServerVariable = (server, key) => {\n const { path, method } = this.props\n return this.props.getServerVariable({\n namespace: `${path}:${method}`,\n server\n }, key)\n }\n\n getEffectiveServerValue = (server) => {\n const { path, method } = this.props\n return this.props.getEffectiveServerValue({\n server,\n namespace: `${path}:${method}`\n })\n }\n\n render() {\n const {\n // for self\n operationServers,\n pathServers,\n\n // util\n getComponent\n } = this.props\n\n if(!operationServers && !pathServers) {\n return null\n }\n\n const Servers = getComponent(\"Servers\")\n\n const serversToDisplay = operationServers || pathServers\n const displaying = operationServers ? \"operation\" : \"path\"\n\n return <div className=\"opblock-section operation-servers\">\n <div className=\"opblock-section-header\">\n <div className=\"tab-header\">\n <h4 className=\"opblock-title\">Servers</h4>\n </div>\n </div>\n <div className=\"opblock-description-wrapper\">\n <h4 className=\"message\">\n These {displaying}-level options override the global server options.\n </h4>\n <Servers\n servers={serversToDisplay}\n currentServer={this.getSelectedServer()}\n setSelectedServer={this.setSelectedServer}\n setServerVariableValue={this.setServerVariableValue}\n getServerVariable={this.getServerVariable}\n getEffectiveServerValue={this.getEffectiveServerValue}\n />\n </div>\n </div>\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport cx from \"classnames\"\nimport { stringify } from \"core/utils\"\n\nconst NOOP = Function.prototype\n\nexport default class RequestBodyEditor extends PureComponent {\n\n static propTypes = {\n onChange: PropTypes.func,\n getComponent: PropTypes.func.isRequired,\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n errors: PropTypes.array,\n };\n\n static defaultProps = {\n onChange: NOOP,\n userHasEditedBody: false,\n };\n\n constructor(props, context) {\n super(props, context)\n\n this.state = {\n value: stringify(props.value) || props.defaultValue\n }\n\n // this is the glue that makes sure our initial value gets set as the\n // current request body value\n // TODO: achieve this in a selector instead\n props.onChange(props.value)\n }\n\n applyDefaultValue = (nextProps) => {\n const { onChange, defaultValue } = (nextProps ? nextProps : this.props)\n\n this.setState({\n value: defaultValue\n })\n\n return onChange(defaultValue)\n }\n\n onChange = (value) => {\n this.props.onChange(stringify(value))\n }\n\n onDomChange = e => {\n const inputValue = e.target.value\n\n this.setState({\n value: inputValue,\n }, () => this.onChange(inputValue))\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if(\n this.props.value !== nextProps.value &&\n nextProps.value !== this.state.value\n ) {\n\n this.setState({\n value: stringify(nextProps.value)\n })\n }\n\n\n\n if(!nextProps.value && nextProps.defaultValue && !!this.state.value) {\n // if new value is falsy, we have a default, AND the falsy value didn't\n // come from us originally\n this.applyDefaultValue(nextProps)\n }\n }\n\n render() {\n let {\n getComponent,\n errors,\n } = this.props\n\n let {\n value\n } = this.state\n\n let isInvalid = errors.size > 0 ? true : false\n const TextArea = getComponent(\"TextArea\")\n\n return (\n <div className=\"body-param\">\n <TextArea\n className={cx(\"body-param__text\", { invalid: isInvalid } )}\n title={errors.size ? errors.join(\", \") : \"\"}\n value={value}\n onChange={ this.onDomChange }\n />\n </div>\n )\n\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { Map, OrderedMap, List } from \"immutable\"\nimport { getCommonExtensions, getSampleSchema, stringify, isEmptyValue } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\n\nexport const getDefaultRequestBodyValue = (requestBody, mediaType, activeExamplesKey) => {\n const mediaTypeValue = requestBody.getIn([\"content\", mediaType])\n const schema = mediaTypeValue.get(\"schema\").toJS()\n\n const hasExamplesKey = mediaTypeValue.get(\"examples\") !== undefined\n const exampleSchema = mediaTypeValue.get(\"example\")\n const mediaTypeExample = hasExamplesKey\n ? mediaTypeValue.getIn([\n \"examples\",\n activeExamplesKey,\n \"value\"\n ])\n : exampleSchema\n\n const exampleValue = getSampleSchema(\n schema,\n mediaType,\n {\n includeWriteOnly: true\n },\n mediaTypeExample\n )\n return stringify(exampleValue)\n}\n\n\n\nconst RequestBody = ({\n userHasEditedBody,\n requestBody,\n requestBodyValue,\n requestBodyInclusionSetting,\n requestBodyErrors,\n getComponent,\n getConfigs,\n specSelectors,\n fn,\n contentType,\n isExecute,\n specPath,\n onChange,\n onChangeIncludeEmpty,\n activeExamplesKey,\n updateActiveExamplesKey,\n setRetainRequestBodyValueFlag\n}) => {\n const handleFile = (e) => {\n onChange(e.target.files[0])\n }\n const setIsIncludedOptions = (key) => {\n let options = {\n key,\n shouldDispatchInit: false,\n defaultValue: true\n }\n let currentInclusion = requestBodyInclusionSetting.get(key, \"no value\")\n if (currentInclusion === \"no value\") {\n options.shouldDispatchInit = true\n // future: can get/set defaultValue from a config setting\n }\n return options\n }\n\n const Markdown = getComponent(\"Markdown\", true)\n const ModelExample = getComponent(\"modelExample\")\n const RequestBodyEditor = getComponent(\"RequestBodyEditor\")\n const HighlightCode = getComponent(\"highlightCode\")\n const ExamplesSelectValueRetainer = getComponent(\"ExamplesSelectValueRetainer\")\n const Example = getComponent(\"Example\")\n const ParameterIncludeEmpty = getComponent(\"ParameterIncludeEmpty\")\n\n const { showCommonExtensions } = getConfigs()\n\n const requestBodyDescription = (requestBody && requestBody.get(\"description\")) || null\n const requestBodyContent = (requestBody && requestBody.get(\"content\")) || new OrderedMap()\n contentType = contentType || requestBodyContent.keySeq().first() || \"\"\n\n const mediaTypeValue = requestBodyContent.get(contentType, OrderedMap())\n const schemaForMediaType = mediaTypeValue.get(\"schema\", OrderedMap())\n const rawExamplesOfMediaType = mediaTypeValue.get(\"examples\", null)\n const sampleForMediaType = rawExamplesOfMediaType?.map((container, key) => {\n const val = container?.get(\"value\", null)\n if(val) {\n container = container.set(\"value\", getDefaultRequestBodyValue(\n requestBody,\n contentType,\n key,\n ), val)\n }\n return container\n })\n\n const handleExamplesSelect = (key /*, { isSyntheticChange } */) => {\n updateActiveExamplesKey(key)\n }\n requestBodyErrors = List.isList(requestBodyErrors) ? requestBodyErrors : List()\n\n if(!mediaTypeValue.size) {\n return null\n }\n\n const isObjectContent = mediaTypeValue.getIn([\"schema\", \"type\"]) === \"object\"\n const isBinaryFormat = mediaTypeValue.getIn([\"schema\", \"format\"]) === \"binary\"\n const isBase64Format = mediaTypeValue.getIn([\"schema\", \"format\"]) === \"base64\"\n\n if(\n contentType === \"application/octet-stream\"\n || contentType.indexOf(\"image/\") === 0\n || contentType.indexOf(\"audio/\") === 0\n || contentType.indexOf(\"video/\") === 0\n || isBinaryFormat\n || isBase64Format\n ) {\n const Input = getComponent(\"Input\")\n\n if(!isExecute) {\n return <i>\n Example values are not available for <code>{contentType}</code> media types.\n </i>\n }\n\n return <Input type={\"file\"} onChange={handleFile} />\n }\n\n if (\n isObjectContent &&\n (\n contentType === \"application/x-www-form-urlencoded\" ||\n contentType.indexOf(\"multipart/\") === 0\n ) &&\n schemaForMediaType.get(\"properties\", OrderedMap()).size > 0\n ) {\n const JsonSchemaForm = getComponent(\"JsonSchemaForm\")\n const ParameterExt = getComponent(\"ParameterExt\")\n const bodyProperties = schemaForMediaType.get(\"properties\", OrderedMap())\n requestBodyValue = Map.isMap(requestBodyValue) ? requestBodyValue : OrderedMap()\n\n return <div className=\"table-container\">\n { requestBodyDescription &&\n <Markdown source={requestBodyDescription} />\n }\n <table>\n <tbody>\n {\n Map.isMap(bodyProperties) && bodyProperties.entrySeq().map(([key, prop]) => {\n if (prop.get(\"readOnly\")) return\n\n let commonExt = showCommonExtensions ? getCommonExtensions(prop) : null\n const required = schemaForMediaType.get(\"required\", List()).includes(key)\n const type = prop.get(\"type\")\n const format = prop.get(\"format\")\n const description = prop.get(\"description\")\n const currentValue = requestBodyValue.getIn([key, \"value\"])\n const currentErrors = requestBodyValue.getIn([key, \"errors\"]) || requestBodyErrors\n const included = requestBodyInclusionSetting.get(key) || false\n\n const useInitialValFromSchemaSamples = prop.has(\"default\")\n || prop.has(\"example\")\n || prop.hasIn([\"items\", \"example\"])\n || prop.hasIn([\"items\", \"default\"])\n const useInitialValFromEnum = prop.has(\"enum\") && (prop.get(\"enum\").size === 1 || required)\n const useInitialValue = useInitialValFromSchemaSamples || useInitialValFromEnum\n\n let initialValue = \"\"\n if (type === \"array\" && !useInitialValue) {\n initialValue = []\n }\n if (type === \"object\" || useInitialValue) {\n // TODO: what about example or examples from requestBody could be passed as exampleOverride\n initialValue = getSampleSchema(prop, false, {\n includeWriteOnly: true\n })\n }\n\n if (typeof initialValue !== \"string\" && type === \"object\") {\n initialValue = stringify(initialValue)\n }\n if (typeof initialValue === \"string\" && type === \"array\") {\n initialValue = JSON.parse(initialValue)\n }\n\n const isFile = type === \"string\" && (format === \"binary\" || format === \"base64\")\n\n return <tr key={key} className=\"parameters\" data-property-name={key}>\n <td className=\"parameters-col_name\">\n <div className={required ? \"parameter__name required\" : \"parameter__name\"}>\n { key }\n { !required ? null : <span> *</span> }\n </div>\n <div className=\"parameter__type\">\n { type }\n { format && <span className=\"prop-format\">(${format})</span>}\n {!showCommonExtensions || !commonExt.size ? null : commonExt.entrySeq().map(([key, v]) => <ParameterExt key={`${key}-${v}`} xKey={key} xVal={v} />)}\n </div>\n <div className=\"parameter__deprecated\">\n { prop.get(\"deprecated\") ? \"deprecated\": null }\n </div>\n </td>\n <td className=\"parameters-col_description\">\n <Markdown source={ description }></Markdown>\n {isExecute ? <div>\n <JsonSchemaForm\n fn={fn}\n dispatchInitialValue={!isFile}\n schema={prop}\n description={key}\n getComponent={getComponent}\n value={currentValue === undefined ? initialValue : currentValue}\n required = { required }\n errors = { currentErrors }\n onChange={(value) => {\n onChange(value, [key])\n }}\n />\n {required ? null : (\n <ParameterIncludeEmpty\n onChange={(value) => onChangeIncludeEmpty(key, value)}\n isIncluded={included}\n isIncludedOptions={setIsIncludedOptions(key)}\n isDisabled={Array.isArray(currentValue) ? currentValue.length !== 0 : !isEmptyValue(currentValue)}\n />\n )}\n </div> : null }\n </td>\n </tr>\n })\n }\n </tbody>\n </table>\n </div>\n }\n\n const sampleRequestBody = getDefaultRequestBodyValue(\n requestBody,\n contentType,\n activeExamplesKey,\n )\n let language = null\n let testValueForJson = getKnownSyntaxHighlighterLanguage(sampleRequestBody)\n if (testValueForJson) {\n language = \"json\"\n }\n\n return <div>\n { requestBodyDescription &&\n <Markdown source={requestBodyDescription} />\n }\n {\n sampleForMediaType ? (\n <ExamplesSelectValueRetainer\n userHasEditedBody={userHasEditedBody}\n examples={sampleForMediaType}\n currentKey={activeExamplesKey}\n currentUserInputValue={requestBodyValue}\n onSelect={handleExamplesSelect}\n updateValue={onChange}\n defaultToFirstExample={true}\n getComponent={getComponent}\n setRetainRequestBodyValueFlag={setRetainRequestBodyValueFlag}\n />\n ) : null\n }\n {\n isExecute ? (\n <div>\n <RequestBodyEditor\n value={requestBodyValue}\n errors={requestBodyErrors}\n defaultValue={sampleRequestBody}\n onChange={onChange}\n getComponent={getComponent}\n />\n </div>\n ) : (\n <ModelExample\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n specSelectors={ specSelectors }\n expandDepth={1}\n isExecute={isExecute}\n schema={mediaTypeValue.get(\"schema\")}\n specPath={specPath.push(\"content\", contentType)}\n example={\n <HighlightCode\n className=\"body-param__example\"\n getConfigs={getConfigs}\n language={language}\n value={stringify(requestBodyValue) || sampleRequestBody}\n />\n }\n includeWriteOnly={true}\n />\n )\n }\n {\n sampleForMediaType ? (\n <Example\n example={sampleForMediaType.get(activeExamplesKey)}\n getComponent={getComponent}\n getConfigs={getConfigs}\n />\n ) : null\n }\n </div>\n}\n\nRequestBody.propTypes = {\n userHasEditedBody: PropTypes.bool.isRequired,\n requestBody: ImPropTypes.orderedMap.isRequired,\n requestBodyValue: ImPropTypes.orderedMap.isRequired,\n requestBodyInclusionSetting: ImPropTypes.Map.isRequired,\n requestBodyErrors: ImPropTypes.list.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n fn: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n contentType: PropTypes.string,\n isExecute: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n onChangeIncludeEmpty: PropTypes.func.isRequired,\n specPath: PropTypes.array.isRequired,\n activeExamplesKey: PropTypes.string,\n updateActiveExamplesKey: PropTypes.func,\n setRetainRequestBodyValueFlag: PropTypes.func,\n oas3Actions: PropTypes.object.isRequired\n}\n\nexport default RequestBody\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class ServersContainer extends React.Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render () {\n const {specSelectors, oas3Selectors, oas3Actions, getComponent} = this.props\n\n const servers = specSelectors.servers()\n\n const Servers = getComponent(\"Servers\")\n\n return servers && servers.size ? (\n <div>\n <span className=\"servers-title\">Servers</span>\n <Servers\n servers={servers}\n currentServer={oas3Selectors.selectedServer()}\n setSelectedServer={oas3Actions.setSelectedServer}\n setServerVariableValue={oas3Actions.setServerVariableValue}\n getServerVariable={oas3Selectors.serverVariableValue}\n getEffectiveServerValue={oas3Selectors.serverEffectiveValue}\n />\n </div> ) : null\n }\n}","import React from \"react\"\nimport { OrderedMap } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class Servers extends React.Component {\n\n static propTypes = {\n servers: ImPropTypes.list.isRequired,\n currentServer: PropTypes.string.isRequired,\n setSelectedServer: PropTypes.func.isRequired,\n setServerVariableValue: PropTypes.func.isRequired,\n getServerVariable: PropTypes.func.isRequired,\n getEffectiveServerValue: PropTypes.func.isRequired\n }\n\n componentDidMount() {\n let { servers, currentServer } = this.props\n\n if(currentServer) {\n return\n }\n\n // fire 'change' event to set default 'value' of select\n this.setServer(servers.first()?.get(\"url\"))\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n let {\n servers,\n setServerVariableValue,\n getServerVariable\n } = nextProps\n if (this.props.currentServer !== nextProps.currentServer || this.props.servers !== nextProps.servers) {\n // Server has changed, we may need to set default values\n let currentServerDefinition = servers\n .find(v => v.get(\"url\") === nextProps.currentServer)\n let prevServerDefinition = this.props.servers\n .find(v => v.get(\"url\") === this.props.currentServer) || OrderedMap()\n \n if(!currentServerDefinition) {\n return this.setServer(servers.first().get(\"url\"))\n }\n \n let prevServerVariableDefs = prevServerDefinition.get(\"variables\") || OrderedMap()\n let prevServerVariableDefaultKey = prevServerVariableDefs.find(v => v.get(\"default\")) || OrderedMap()\n let prevServerVariableDefaultValue = prevServerVariableDefaultKey.get(\"default\")\n \n let currentServerVariableDefs = currentServerDefinition.get(\"variables\") || OrderedMap()\n let currentServerVariableDefaultKey = currentServerVariableDefs.find(v => v.get(\"default\")) || OrderedMap()\n let currentServerVariableDefaultValue = currentServerVariableDefaultKey.get(\"default\")\n \n currentServerVariableDefs.map((val, key) => {\n let currentValue = getServerVariable(nextProps.currentServer, key)\n \n // note: it is possible for both key/val to be the same across definitions,\n // but we will try to detect a change in default values between definitions\n // only set the default value if the user hasn't set one yet\n // or if the definition appears to have changed\n if (!currentValue || prevServerVariableDefaultValue !== currentServerVariableDefaultValue) {\n setServerVariableValue({\n server: nextProps.currentServer,\n key,\n val: val.get(\"default\") || \"\"\n })\n }\n })\n }\n }\n\n onServerChange =( e ) => {\n this.setServer( e.target.value )\n\n // set default variable values\n }\n\n onServerVariableValueChange = ( e ) => {\n let {\n setServerVariableValue,\n currentServer\n } = this.props\n\n let variableName = e.target.getAttribute(\"data-variable\")\n let newVariableValue = e.target.value\n\n if(typeof setServerVariableValue === \"function\") {\n setServerVariableValue({\n server: currentServer,\n key: variableName,\n val: newVariableValue\n })\n }\n }\n\n setServer = ( value ) => {\n let { setSelectedServer } = this.props\n\n setSelectedServer(value)\n }\n\n render() {\n let { servers,\n currentServer,\n getServerVariable,\n getEffectiveServerValue\n } = this.props\n\n\n let currentServerDefinition = servers.find(s => s.get(\"url\") === currentServer) || OrderedMap()\n\n let currentServerVariableDefs = currentServerDefinition.get(\"variables\") || OrderedMap()\n\n let shouldShowVariableUI = currentServerVariableDefs.size !== 0\n\n return (\n <div className=\"servers\">\n <label htmlFor=\"servers\">\n <select onChange={ this.onServerChange } value={currentServer}>\n { servers.valueSeq().map(\n ( server ) =>\n <option\n value={ server.get(\"url\") }\n key={ server.get(\"url\") }>\n { server.get(\"url\") }\n { server.get(\"description\") && ` - ${server.get(\"description\")}` }\n </option>\n ).toArray()}\n </select>\n </label>\n { shouldShowVariableUI ?\n <div>\n\n <div className={\"computed-url\"}>\n Computed URL:\n <code>\n {getEffectiveServerValue(currentServer)}\n </code>\n </div>\n <h4>Server variables</h4>\n <table>\n <tbody>\n {\n currentServerVariableDefs.entrySeq().map(([name, val]) => {\n return <tr key={name}>\n <td>{name}</td>\n <td>\n { val.get(\"enum\") ?\n <select data-variable={name} onChange={this.onServerVariableValueChange}>\n {val.get(\"enum\").map(enumValue => {\n return <option\n selected={enumValue === getServerVariable(currentServer, name)}\n key={enumValue}\n value={enumValue}>\n {enumValue}\n </option>\n })}\n </select> :\n <input\n type={\"text\"}\n value={getServerVariable(currentServer, name) || \"\"}\n onChange={this.onServerVariableValueChange}\n data-variable={name}\n ></input>\n }\n </td>\n </tr>\n })\n }\n </tbody>\n </table>\n </div>: null\n }\n </div>\n )\n }\n}\n","import React from \"react\"\n\nexport function isOAS3(jsSpec) {\n const oasVersion = jsSpec.get(\"openapi\")\n if(typeof oasVersion !== \"string\") {\n return false\n }\n\n // we gate against `3.1` becasue we want to explicitly opt into supporting it\n // at some point in the future -- KS, 7/2018\n\n // starts with, but is not `3.0.` exactly\n return oasVersion.startsWith(\"3.0.\") && oasVersion.length > 4\n}\n\nexport function isSwagger2(jsSpec) {\n const swaggerVersion = jsSpec.get(\"swagger\")\n if(typeof swaggerVersion !== \"string\") {\n return false\n }\n\n return swaggerVersion.startsWith(\"2.0\")\n}\n\nexport function OAS3ComponentWrapFactory(Component) {\n return (Ori, system) => (props) => {\n if(system && system.specSelectors && system.specSelectors.specJson) {\n const spec = system.specSelectors.specJson()\n\n if(isOAS3(spec)) {\n return <Component {...props} {...system} Ori={Ori}></Component>\n } else {\n return <Ori {...props}></Ori>\n }\n } else {\n console.warn(\"OAS3 wrapper: couldn't get spec\")\n return null\n }\n }\n}\n","// import reducers from \"./reducers\"\n// import * as actions from \"./actions\"\nimport * as specWrapSelectors from \"./spec-extensions/wrap-selectors\"\nimport * as authWrapSelectors from \"./auth-extensions/wrap-selectors\"\nimport * as specSelectors from \"./spec-extensions/selectors\"\nimport components from \"./components\"\nimport wrapComponents from \"./wrap-components\"\nimport * as oas3Actions from \"./actions\"\nimport * as oas3Selectors from \"./selectors\"\nimport oas3Reducers from \"./reducers\"\n\nexport default function() {\n return {\n components,\n wrapComponents,\n statePlugins: {\n spec: {\n wrapSelectors: specWrapSelectors,\n selectors: specSelectors\n },\n auth: {\n wrapSelectors: authWrapSelectors\n },\n oas3: {\n actions: oas3Actions,\n reducers: oas3Reducers,\n selectors: oas3Selectors,\n }\n }\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_toArray_6cf1f7f9__[\"default\"] });","import { fromJS, Map } from \"immutable\"\n\nimport {\n UPDATE_SELECTED_SERVER,\n UPDATE_REQUEST_BODY_VALUE,\n UPDATE_REQUEST_BODY_INCLUSION,\n UPDATE_ACTIVE_EXAMPLES_MEMBER,\n UPDATE_REQUEST_CONTENT_TYPE,\n UPDATE_SERVER_VARIABLE_VALUE,\n UPDATE_RESPONSE_CONTENT_TYPE,\n SET_REQUEST_BODY_VALIDATE_ERROR,\n CLEAR_REQUEST_BODY_VALIDATE_ERROR,\n CLEAR_REQUEST_BODY_VALUE, UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG,\n} from \"./actions\"\n\nexport default {\n [UPDATE_SELECTED_SERVER]: (state, { payload: { selectedServerUrl, namespace } } ) =>{\n const path = namespace ? [ namespace, \"selectedServer\"] : [ \"selectedServer\"]\n return state.setIn( path, selectedServerUrl)\n },\n [UPDATE_REQUEST_BODY_VALUE]: (state, { payload: { value, pathMethod } } ) =>{\n let [path, method] = pathMethod\n if (!Map.isMap(value)) {\n // context: application/json is always a String (instead of Map)\n return state.setIn( [ \"requestData\", path, method, \"bodyValue\" ], value)\n }\n let currentVal = state.getIn([\"requestData\", path, method, \"bodyValue\"]) || Map()\n if (!Map.isMap(currentVal)) {\n // context: user switch from application/json to application/x-www-form-urlencoded\n currentVal = Map()\n }\n let newVal\n const [...valueKeys] = value.keys()\n valueKeys.forEach((valueKey) => {\n let valueKeyVal = value.getIn([valueKey])\n if (!currentVal.has(valueKey)) {\n newVal = currentVal.setIn([valueKey, \"value\"], valueKeyVal)\n } else if (!Map.isMap(valueKeyVal)) {\n // context: user input will be received as String\n newVal = currentVal.setIn([valueKey, \"value\"], valueKeyVal)\n }\n })\n return state.setIn([\"requestData\", path, method, \"bodyValue\"], newVal)\n },\n [UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG]: (state, { payload: { value, pathMethod } } ) =>{\n let [path, method] = pathMethod\n return state.setIn([\"requestData\", path, method, \"retainBodyValue\"], value)\n },\n [UPDATE_REQUEST_BODY_INCLUSION]: (state, { payload: { value, pathMethod, name } } ) =>{\n let [path, method] = pathMethod\n return state.setIn( [ \"requestData\", path, method, \"bodyInclusion\", name ], value)\n },\n [UPDATE_ACTIVE_EXAMPLES_MEMBER]: (state, { payload: { name, pathMethod, contextType, contextName } } ) =>{\n let [path, method] = pathMethod\n return state.setIn( [ \"examples\", path, method, contextType, contextName, \"activeExample\" ], name)\n },\n [UPDATE_REQUEST_CONTENT_TYPE]: (state, { payload: { value, pathMethod } } ) =>{\n let [path, method] = pathMethod\n return state.setIn( [ \"requestData\", path, method, \"requestContentType\" ], value)\n },\n [UPDATE_RESPONSE_CONTENT_TYPE]: (state, { payload: { value, path, method } } ) =>{\n return state.setIn( [ \"requestData\", path, method, \"responseContentType\" ], value)\n },\n [UPDATE_SERVER_VARIABLE_VALUE]: (state, { payload: { server, namespace, key, val } } ) =>{\n const path = namespace ? [ namespace, \"serverVariableValues\", server, key ] : [ \"serverVariableValues\", server, key ]\n return state.setIn(path, val)\n },\n [SET_REQUEST_BODY_VALIDATE_ERROR]: (state, { payload: { path, method, validationErrors } } ) => {\n let errors = []\n errors.push(\"Required field is not provided\")\n if (validationErrors.missingBodyValue) {\n // context: is application/json or application/xml, where typeof (missing) bodyValue = String\n return state.setIn([\"requestData\", path, method, \"errors\"], fromJS(errors))\n }\n if (validationErrors.missingRequiredKeys && validationErrors.missingRequiredKeys.length > 0) {\n // context: is application/x-www-form-urlencoded, with list of missing keys\n const { missingRequiredKeys } = validationErrors\n return state.updateIn([\"requestData\", path, method, \"bodyValue\"], fromJS({}), missingKeyValues => {\n return missingRequiredKeys.reduce((bodyValue, currentMissingKey) => {\n return bodyValue.setIn([currentMissingKey, \"errors\"], fromJS(errors))\n }, missingKeyValues)\n })\n }\n console.warn(\"unexpected result: SET_REQUEST_BODY_VALIDATE_ERROR\")\n return state\n },\n [CLEAR_REQUEST_BODY_VALIDATE_ERROR]: (state, { payload: { path, method } }) => {\n const requestBodyValue = state.getIn([\"requestData\", path, method, \"bodyValue\"])\n if (!Map.isMap(requestBodyValue)) {\n return state.setIn([\"requestData\", path, method, \"errors\"], fromJS([]))\n }\n const [...valueKeys] = requestBodyValue.keys()\n if (!valueKeys) {\n return state\n }\n return state.updateIn([\"requestData\", path, method, \"bodyValue\"], fromJS({}), bodyValues => {\n return valueKeys.reduce((bodyValue, curr) => {\n return bodyValue.setIn([curr, \"errors\"], fromJS([]))\n }, bodyValues)\n })\n },\n [CLEAR_REQUEST_BODY_VALUE]: (state, { payload: { pathMethod }}) => {\n let [path, method] = pathMethod\n const requestBodyValue = state.getIn([\"requestData\", path, method, \"bodyValue\"])\n if (!requestBodyValue) {\n return state\n }\n if (!Map.isMap(requestBodyValue)) {\n return state.setIn([\"requestData\", path, method, \"bodyValue\"], \"\")\n }\n return state.setIn([\"requestData\", path, method, \"bodyValue\"], Map())\n }\n}\n","import { OrderedMap, Map, List } from \"immutable\"\nimport { isOAS3 as isOAS3Helper } from \"./helpers\"\nimport { getDefaultRequestBodyValue } from \"./components/request-body\"\nimport { stringify } from \"../../utils\"\n\n// Helpers\n\nfunction onlyOAS3(selector) {\n return (...args) => (system) => {\n const spec = system.getSystem().specSelectors.specJson()\n if(isOAS3Helper(spec)) {\n return selector(...args)\n } else {\n return null\n }\n }\n}\n\nfunction validateRequestBodyIsRequired(selector) {\n return (...args) => (system) => {\n const specJson = system.getSystem().specSelectors.specJson()\n const argsList = [...args]\n // expect argsList[0] = state\n let pathMethod = argsList[1] || []\n let isOas3RequestBodyRequired = specJson.getIn([\"paths\", ...pathMethod, \"requestBody\", \"required\"])\n\n if (isOas3RequestBodyRequired) {\n return selector(...args)\n } else {\n // validation pass b/c not required\n return true\n }\n }\n}\n\nconst validateRequestBodyValueExists = (state, pathMethod) => {\n pathMethod = pathMethod || []\n let oas3RequestBodyValue = state.getIn([\"requestData\", ...pathMethod, \"bodyValue\"])\n // context: bodyValue can be a String, or a Map\n if (!oas3RequestBodyValue) {\n return false\n }\n // validation pass if String is not empty, or if Map exists\n return true\n}\n\n\nexport const selectedServer = onlyOAS3((state, namespace) => {\n const path = namespace ? [namespace, \"selectedServer\"] : [\"selectedServer\"]\n return state.getIn(path) || \"\"\n }\n)\n\nexport const requestBodyValue = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"bodyValue\"]) || null\n }\n)\n\nexport const shouldRetainRequestBodyValue = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"retainBodyValue\"]) || false\n }\n)\n\nexport const hasUserEditedBody = (state, path, method) => (system) => {\n const {oas3Selectors, specSelectors} = system.getSystem()\n const spec = specSelectors.specJson()\n if(isOAS3Helper(spec)) {\n let userHasEditedBody = false\n const currentMediaType = oas3Selectors.requestContentType(path, method)\n let userEditedRequestBody = oas3Selectors.requestBodyValue(path, method)\n if (Map.isMap(userEditedRequestBody)) {\n // context is not application/json media-type\n userEditedRequestBody = stringify(userEditedRequestBody.mapEntries((kv) => Map.isMap(kv[1]) ? [kv[0], kv[1].get(\"value\")] : kv).toJS())\n }\n if(List.isList(userEditedRequestBody)) {\n userEditedRequestBody = stringify(userEditedRequestBody)\n }\n if (currentMediaType) {\n const currentMediaTypeDefaultBodyValue = getDefaultRequestBodyValue(\n specSelectors.specResolvedSubtree([\"paths\", path, method, \"requestBody\"]),\n currentMediaType,\n oas3Selectors.activeExamplesMember(\n path, method,\n \"requestBody\",\n \"requestBody\",\n )\n )\n userHasEditedBody = !!userEditedRequestBody && userEditedRequestBody !== currentMediaTypeDefaultBodyValue\n }\n return userHasEditedBody\n } else {\n return null\n }\n}\n\nexport const requestBodyInclusionSetting = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"bodyInclusion\"]) || Map()\n }\n)\n\nexport const requestBodyErrors = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"errors\"]) || null\n }\n)\n\nexport const activeExamplesMember = onlyOAS3((state, path, method, type, name) => {\n return state.getIn([\"examples\", path, method, type, name, \"activeExample\"]) || null\n }\n)\n\nexport const requestContentType = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"requestContentType\"]) || null\n }\n)\n\nexport const responseContentType = onlyOAS3((state, path, method) => {\n return state.getIn([\"requestData\", path, method, \"responseContentType\"]) || null\n }\n)\n\nexport const serverVariableValue = onlyOAS3((state, locationData, key) => {\n let path\n\n // locationData may take one of two forms, for backwards compatibility\n // Object: ({server, namespace?}) or String:(server)\n if(typeof locationData !== \"string\") {\n const { server, namespace } = locationData\n if(namespace) {\n path = [namespace, \"serverVariableValues\", server, key]\n } else {\n path = [\"serverVariableValues\", server, key]\n }\n } else {\n const server = locationData\n path = [\"serverVariableValues\", server, key]\n }\n\n return state.getIn(path) || null\n }\n)\n\nexport const serverVariables = onlyOAS3((state, locationData) => {\n let path\n\n // locationData may take one of two forms, for backwards compatibility\n // Object: ({server, namespace?}) or String:(server)\n if(typeof locationData !== \"string\") {\n const { server, namespace } = locationData\n if(namespace) {\n path = [namespace, \"serverVariableValues\", server]\n } else {\n path = [\"serverVariableValues\", server]\n }\n } else {\n const server = locationData\n path = [\"serverVariableValues\", server]\n }\n\n return state.getIn(path) || OrderedMap()\n }\n)\n\nexport const serverEffectiveValue = onlyOAS3((state, locationData) => {\n var varValues, serverValue\n\n // locationData may take one of two forms, for backwards compatibility\n // Object: ({server, namespace?}) or String:(server)\n if(typeof locationData !== \"string\") {\n const { server, namespace } = locationData\n serverValue = server\n if(namespace) {\n varValues = state.getIn([namespace, \"serverVariableValues\", serverValue])\n } else {\n varValues = state.getIn([\"serverVariableValues\", serverValue])\n }\n } else {\n serverValue = locationData\n varValues = state.getIn([\"serverVariableValues\", serverValue])\n }\n\n varValues = varValues || OrderedMap()\n let str = serverValue\n\n varValues.map((val, key) => {\n str = str.replace(new RegExp(`{${key}}`, \"g\"), val)\n })\n\n return str\n }\n)\n\nexport const validateBeforeExecute = validateRequestBodyIsRequired(\n (state, pathMethod) => validateRequestBodyValueExists(state, pathMethod)\n)\n\nexport const validateShallowRequired = (state, { oas3RequiredRequestBodyContentType, oas3RequestContentType, oas3RequestBodyValue} ) => {\n let missingRequiredKeys = []\n // context: json => String; urlencoded, form-data => Map\n if (!Map.isMap(oas3RequestBodyValue)) {\n return missingRequiredKeys\n }\n let requiredKeys = []\n // Cycle through list of possible contentTypes for matching contentType and defined requiredKeys\n Object.keys(oas3RequiredRequestBodyContentType.requestContentType).forEach((contentType) => {\n if (contentType === oas3RequestContentType) {\n let contentTypeVal = oas3RequiredRequestBodyContentType.requestContentType[contentType]\n contentTypeVal.forEach((requiredKey) => {\n if (requiredKeys.indexOf(requiredKey) < 0 ) {\n requiredKeys.push(requiredKey)\n }\n })\n }\n })\n requiredKeys.forEach((key) => {\n let requiredKeyValue = oas3RequestBodyValue.getIn([key, \"value\"])\n if (!requiredKeyValue) {\n missingRequiredKeys.push(key)\n }\n })\n return missingRequiredKeys\n}\n","import { createSelector } from \"reselect\"\nimport { Map } from \"immutable\"\nimport { isOAS3 as isOAS3Helper, isSwagger2 as isSwagger2Helper } from \"../helpers\"\n\n\n// Helpers\n\nfunction onlyOAS3(selector) {\n return () => (system, ...args) => {\n const spec = system.getSystem().specSelectors.specJson()\n if(isOAS3Helper(spec)) {\n return selector(...args)\n } else {\n return null\n }\n }\n}\n\nconst state = state => {\n return state || Map()\n}\n\nconst specJson = createSelector(\n state,\n spec => spec.get(\"json\", Map())\n)\n\nconst specResolved = createSelector(\n state,\n spec => spec.get(\"resolved\", Map())\n)\n\nconst spec = state => {\n let res = specResolved(state)\n if(res.count() < 1)\n res = specJson(state)\n return res\n}\n\n// New selectors\n\nexport const servers = onlyOAS3(createSelector(\n spec,\n spec => spec.getIn([\"servers\"]) || Map()\n))\n\nexport const isSwagger2 = (ori, system) => () => {\n const spec = system.getSystem().specSelectors.specJson()\n return isSwagger2Helper(spec)\n}\n","import { createSelector } from \"reselect\"\nimport { specJsonWithResolvedSubtrees } from \"../../spec/selectors\"\nimport { Map } from \"immutable\"\nimport { isOAS3 as isOAS3Helper, isSwagger2 as isSwagger2Helper } from \"../helpers\"\n\n\n// Helpers\n\nfunction onlyOAS3(selector) {\n return (ori, system) => (...args) => {\n const spec = system.getSystem().specSelectors.specJson()\n if(isOAS3Helper(spec)) {\n return selector(...args)\n } else {\n return ori(...args)\n }\n }\n}\n\nconst state = state => {\n return state || Map()\n}\n\nconst nullSelector = createSelector(() => null)\n\nconst OAS3NullSelector = onlyOAS3(nullSelector)\n\nconst specJson = createSelector(\n state,\n spec => spec.get(\"json\", Map())\n)\n\nconst specResolved = createSelector(\n state,\n spec => spec.get(\"resolved\", Map())\n)\n\nconst spec = state => {\n let res = specResolved(state)\n if(res.count() < 1)\n res = specJson(state)\n return res\n}\n\n// Wrappers\n\nexport const definitions = onlyOAS3(createSelector(\n spec,\n spec => {\n const res = spec.getIn([\"components\", \"schemas\"])\n return Map.isMap(res) ? res : Map()\n }\n))\n\nexport const hasHost = onlyOAS3((state) => {\n return spec(state).hasIn([\"servers\", 0])\n})\n\nexport const securityDefinitions = onlyOAS3(createSelector(\n specJsonWithResolvedSubtrees,\n spec => spec.getIn([\"components\", \"securitySchemes\"]) || null\n))\n\nexport const host = OAS3NullSelector\nexport const basePath = OAS3NullSelector\nexport const consumes = OAS3NullSelector\nexport const produces = OAS3NullSelector\nexport const schemes = OAS3NullSelector\n\n// New selectors\n\nexport const servers = onlyOAS3(createSelector(\n spec,\n spec => spec.getIn([\"servers\"]) || Map()\n))\n\nexport const isOAS3 = (ori, system) => () => {\n const spec = system.getSystem().specSelectors.specJson()\n return isOAS3Helper(Map.isMap(spec) ? spec : Map())\n}\n\nexport const isSwagger2 = (ori, system) => () => {\n const spec = system.getSystem().specSelectors.specJson()\n return isSwagger2Helper(Map.isMap(spec) ? spec : Map())\n}\n","import React from \"react\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\n\nexport default OAS3ComponentWrapFactory(({ Ori, ...props }) => {\n const {\n schema, getComponent, errSelectors, authorized, onAuthChange, name\n } = props\n\n const HttpAuth = getComponent(\"HttpAuth\")\n const type = schema.get(\"type\")\n\n if(type === \"http\") {\n return <HttpAuth key={ name }\n schema={ schema }\n name={ name }\n errSelectors={ errSelectors }\n authorized={ authorized }\n getComponent={ getComponent }\n onChange={ onAuthChange }/>\n } else {\n return <Ori {...props} />\n }\n})\n","import Markdown from \"./markdown\"\nimport AuthItem from \"./auth-item\"\nimport VersionStamp from \"./version-stamp\"\nimport OnlineValidatorBadge from \"./online-validator-badge\"\nimport Model from \"./model\"\nimport JsonSchema_string from \"./json-schema-string\"\n\nexport default {\n Markdown,\n AuthItem,\n JsonSchema_string,\n VersionStamp,\n model: Model,\n onlineValidatorBadge: OnlineValidatorBadge,\n}\n","import React from \"react\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\n\nexport default OAS3ComponentWrapFactory(({ Ori, ...props }) => {\n const {\n schema,\n getComponent,\n errors,\n onChange\n } = props\n\n const format = schema && schema.get ? schema.get(\"format\") : null\n const type = schema && schema.get ? schema.get(\"type\") : null\n const Input = getComponent(\"Input\")\n\n if(type && type === \"string\" && (format && (format === \"binary\" || format === \"base64\"))) {\n return <Input type=\"file\"\n className={ errors.length ? \"invalid\" : \"\"}\n title={ errors.length ? errors : \"\"}\n onChange={(e) => {\n onChange(e.target.files[0])\n }}\n disabled={Ori.isDisabled}/>\n } else {\n return <Ori {...props} />\n }\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport cx from \"classnames\"\nimport { Remarkable } from \"remarkable\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\nimport { sanitizer } from \"core/components/providers/markdown\"\n\nconst parser = new Remarkable(\"commonmark\")\nparser.block.ruler.enable([\"table\"])\nparser.set({ linkTarget: \"_blank\" })\n\nexport const Markdown = ({ source, className = \"\", getConfigs }) => {\n if(typeof source !== \"string\") {\n return null\n }\n\n if ( source ) {\n const { useUnsafeMarkdown } = getConfigs()\n const html = parser.render(source)\n const sanitized = sanitizer(html, { useUnsafeMarkdown })\n\n let trimmed\n\n if(typeof sanitized === \"string\") {\n trimmed = sanitized.trim()\n }\n\n return (\n <div\n dangerouslySetInnerHTML={{\n __html: trimmed\n }}\n className={cx(className, \"renderedMarkdown\")}\n />\n )\n }\n return null\n}\nMarkdown.propTypes = {\n source: PropTypes.string,\n className: PropTypes.string,\n getConfigs: PropTypes.func,\n}\n\nMarkdown.defaultProps = {\n getConfigs: () => ({ useUnsafeMarkdown: false }),\n}\n\nexport default OAS3ComponentWrapFactory(Markdown)\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\nimport Model from \"core/components/model\"\n\nclass ModelComponent extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n name: PropTypes.string,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n expandDepth: PropTypes.number,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n render(){\n let { getConfigs, schema } = this.props\n let classes = [\"model-box\"]\n let isDeprecated = schema.get(\"deprecated\") === true\n let message = null\n\n if(isDeprecated) {\n classes.push(\"deprecated\")\n message = <span className=\"model-deprecated-warning\">Deprecated:</span>\n }\n\n return <div className={classes.join(\" \")}>\n {message}\n <Model { ...this.props }\n getConfigs={ getConfigs }\n depth={ 1 }\n expandDepth={ this.props.expandDepth || 0 }\n />\n </div>\n }\n}\n\nexport default OAS3ComponentWrapFactory(ModelComponent)\n","import { OAS3ComponentWrapFactory } from \"../helpers\"\nimport OnlineValidatorBadge from \"core/components/online-validator-badge\"\n\n// OAS3 spec is now supported by the online validator.\nexport default OAS3ComponentWrapFactory(OnlineValidatorBadge)\n","import React from \"react\"\nimport { OAS3ComponentWrapFactory } from \"../helpers\"\n\nexport default OAS3ComponentWrapFactory((props) => {\n const { Ori } = props\n\n return <span>\n <Ori {...props} />\n <small className=\"version-stamp\">\n <pre className=\"version\">OAS3</pre>\n </small>\n </span>\n})\n","let engaged = false\n\nexport default function() {\n\n return {\n statePlugins: {\n spec: {\n wrapActions: {\n updateSpec: (ori) => (...args) => {\n engaged = true\n return ori(...args)\n },\n updateJsonSpec: (ori, system) => (...args) => {\n const cb = system.getConfigs().onComplete\n if(engaged && typeof cb === \"function\") {\n // call `onComplete` on next tick, which allows React to\n // reconcile the DOM before we notify the user\n setTimeout(cb, 0)\n engaged = false\n }\n\n return ori(...args)\n }\n }\n }\n }\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_repeat_18ab8b74__[\"default\"] });","import win from \"../../window\"\nimport { Map } from \"immutable\"\n\n/**\n * if duplicate key name existed from FormData entries,\n * we mutated the key name by appending a hashIdx\n * @param {String} k - possibly mutated key name\n * @return {String} - src key name\n */\nconst extractKey = (k) => {\n const hashIdx = \"_**[]\"\n if (k.indexOf(hashIdx) < 0) {\n return k\n }\n return k.split(hashIdx)[0].trim()\n}\n\nconst escapeShell = (str) => {\n if (str === \"-d \") {\n return str\n }\n // eslint-disable-next-line no-useless-escape\n if (!/^[_\\/-]/g.test(str))\n return (\"'\" + str\n .replace(/'/g, \"'\\\\''\") + \"'\")\n else\n return str\n}\n\nconst escapeCMD = (str) => {\n str = str\n .replace(/\\^/g, \"^^\")\n .replace(/\\\\\"/g, \"\\\\\\\\\\\"\")\n .replace(/\"/g, \"\\\"\\\"\")\n .replace(/\\n/g, \"^\\n\")\n if (str === \"-d \") {\n return str\n .replace(/-d /g, \"-d ^\\n\")\n }\n // eslint-disable-next-line no-useless-escape\n if (!/^[_\\/-]/g.test(str))\n return \"\\\"\" + str + \"\\\"\"\n else\n return str\n}\n\nconst escapePowershell = (str) => {\n if (str === \"-d \") {\n return str\n }\n if (/\\n/.test(str)) {\n return \"@\\\"\\n\" + str.replace(/\"/g, \"\\\\\\\"\").replace(/`/g, \"``\").replace(/\\$/, \"`$\") + \"\\n\\\"@\"\n }\n // eslint-disable-next-line no-useless-escape\n if (!/^[_\\/-]/g.test(str))\n return \"'\" + str\n .replace(/\"/g, \"\\\"\\\"\")\n .replace(/'/g, \"''\") + \"'\"\n else\n return str\n}\n\nfunction getStringBodyOfMap(request) {\n let curlifyToJoin = []\n for (let [k, v] of request.get(\"body\").entrySeq()) {\n let extractedKey = extractKey(k)\n if (v instanceof win.File) {\n curlifyToJoin.push(` \"${extractedKey}\": {\\n \"name\": \"${v.name}\"${v.type ? `,\\n \"type\": \"${v.type}\"` : \"\"}\\n }`)\n } else {\n curlifyToJoin.push(` \"${extractedKey}\": ${JSON.stringify(v, null, 2).replace(/(\\r\\n|\\r|\\n)/g, \"\\n \")}`)\n }\n }\n return `{\\n${curlifyToJoin.join(\",\\n\")}\\n}`\n}\n\nconst curlify = (request, escape, newLine, ext = \"\") => {\n let isMultipartFormDataRequest = false\n let curlified = \"\"\n const addWords = (...args) => curlified += \" \" + args.map(escape).join(\" \")\n const addWordsWithoutLeadingSpace = (...args) => curlified += args.map(escape).join(\" \")\n const addNewLine = () => curlified += ` ${newLine}`\n const addIndent = (level = 1) => curlified += \" \".repeat(level)\n let headers = request.get(\"headers\")\n curlified += \"curl\" + ext\n\n if (request.has(\"curlOptions\")) {\n addWords(...request.get(\"curlOptions\"))\n }\n\n addWords(\"-X\", request.get(\"method\"))\n\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(`${request.get(\"url\")}`)\n\n if (headers && headers.size) {\n for (let p of request.get(\"headers\").entries()) {\n addNewLine()\n addIndent()\n let [h, v] = p\n addWordsWithoutLeadingSpace(\"-H\", `${h}: ${v}`)\n isMultipartFormDataRequest = isMultipartFormDataRequest || /^content-type$/i.test(h) && /^multipart\\/form-data$/i.test(v)\n }\n }\n\n const body = request.get(\"body\")\n if (body) {\n if (isMultipartFormDataRequest && [\"POST\", \"PUT\", \"PATCH\"].includes(request.get(\"method\"))) {\n for (let [k, v] of body.entrySeq()) {\n let extractedKey = extractKey(k)\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-F\")\n if (v instanceof win.File) {\n addWords(`${extractedKey}=@${v.name}${v.type ? `;type=${v.type}` : \"\"}`)\n } else {\n addWords(`${extractedKey}=${v}`)\n }\n }\n } else if(body instanceof win.File) {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(`--data-binary '@${body.name}'`)\n } else {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-d \")\n let reqBody = body\n if (!Map.isMap(reqBody)) {\n if (typeof reqBody !== \"string\") {\n reqBody = JSON.stringify(reqBody)\n }\n addWordsWithoutLeadingSpace(reqBody)\n } else {\n addWordsWithoutLeadingSpace(getStringBodyOfMap(request))\n }\n }\n } else if (!body && request.get(\"method\") === \"POST\") {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-d ''\")\n }\n\n return curlified\n}\n\n// eslint-disable-next-line camelcase\nexport const requestSnippetGenerator_curl_powershell = (request) => {\n return curlify(request, escapePowershell, \"`\\n\", \".exe\")\n}\n\n// eslint-disable-next-line camelcase\nexport const requestSnippetGenerator_curl_bash = (request) => {\n return curlify(request, escapeShell, \"\\\\\\n\")\n}\n\n// eslint-disable-next-line camelcase\nexport const requestSnippetGenerator_curl_cmd = (request) => {\n return curlify(request, escapeCMD, \"^\\n\")\n}\n","import * as fn from \"./fn\"\nimport * as selectors from \"./selectors\"\nimport RequestSnippets from \"./request-snippets\"\nexport default () => {\n return {\n components: {\n RequestSnippets\n },\n fn,\n statePlugins: {\n requestSnippets: {\n selectors\n }\n }\n }\n}\n","import React, { useRef, useEffect, useState } from \"react\"\nimport PropTypes from \"prop-types\"\nimport get from \"lodash/get\"\nimport isFunction from \"lodash/isFunction\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\nimport { SyntaxHighlighter, getStyle } from \"core/syntax-highlighting\"\n\nconst style = {\n cursor: \"pointer\",\n lineHeight: 1,\n display: \"inline-flex\",\n backgroundColor: \"rgb(250, 250, 250)\",\n paddingBottom: \"0\",\n paddingTop: \"0\",\n border: \"1px solid rgb(51, 51, 51)\",\n borderRadius: \"4px 4px 0 0\",\n boxShadow: \"none\",\n borderBottom: \"none\"\n}\n\nconst activeStyle = {\n cursor: \"pointer\",\n lineHeight: 1,\n display: \"inline-flex\",\n backgroundColor: \"rgb(51, 51, 51)\",\n boxShadow: \"none\",\n border: \"1px solid rgb(51, 51, 51)\",\n paddingBottom: \"0\",\n paddingTop: \"0\",\n borderRadius: \"4px 4px 0 0\",\n marginTop: \"-5px\",\n marginRight: \"-5px\",\n marginLeft: \"-5px\",\n zIndex: \"9999\",\n borderBottom: \"none\"\n}\n\nconst RequestSnippets = ({ request, requestSnippetsSelectors, getConfigs }) => {\n const config = isFunction(getConfigs) ? getConfigs() : null\n const canSyntaxHighlight = get(config, \"syntaxHighlight\") !== false && get(config, \"syntaxHighlight.activated\", true)\n const rootRef = useRef(null)\n\n const [activeLanguage, setActiveLanguage] = useState(requestSnippetsSelectors.getSnippetGenerators()?.keySeq().first())\n const [isExpanded, setIsExpanded] = useState(requestSnippetsSelectors?.getDefaultExpanded())\n useEffect(() => {\n const doIt = () => {\n\n }\n doIt()\n }, [])\n useEffect(() => {\n const childNodes = Array\n .from(rootRef.current.childNodes)\n .filter(node => !!node.nodeType && node.classList?.contains(\"curl-command\"))\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.addEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement, { passive: false }))\n\n return () => {\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.removeEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement))\n }\n }, [request])\n\n const snippetGenerators = requestSnippetsSelectors.getSnippetGenerators()\n const activeGenerator = snippetGenerators.get(activeLanguage)\n const snippet = activeGenerator.get(\"fn\")(request)\n\n const handleGenChange = (key) => {\n const needsChange = activeLanguage !== key\n if (needsChange) {\n setActiveLanguage(key)\n }\n }\n\n const handleSetIsExpanded = () => {\n setIsExpanded(!isExpanded)\n }\n\n const handleGetBtnStyle = (key) => {\n if (key === activeLanguage) {\n return activeStyle\n }\n return style\n }\n\n const handlePreventYScrollingBeyondElement = (e) => {\n const { target, deltaY } = e\n const { scrollHeight: contentHeight, offsetHeight: visibleHeight, scrollTop } = target\n const scrollOffset = visibleHeight + scrollTop\n const isElementScrollable = contentHeight > visibleHeight\n const isScrollingPastTop = scrollTop === 0 && deltaY < 0\n const isScrollingPastBottom = scrollOffset >= contentHeight && deltaY > 0\n\n if (isElementScrollable && (isScrollingPastTop || isScrollingPastBottom)) {\n e.preventDefault()\n }\n }\n\n const SnippetComponent = canSyntaxHighlight\n ? <SyntaxHighlighter\n language={activeGenerator.get(\"syntax\")}\n className=\"curl microlight\"\n style={getStyle(get(config, \"syntaxHighlight.theme\"))}\n >\n {snippet}\n </SyntaxHighlighter>\n :\n <textarea readOnly={true} className=\"curl\" value={snippet}></textarea>\n\n return (\n <div className=\"request-snippets\" ref={rootRef}>\n <div style={{ width: \"100%\", display: \"flex\", justifyContent: \"flex-start\", alignItems: \"center\", marginBottom: \"15px\" }}>\n <h4\n onClick={() => handleSetIsExpanded()}\n style={{ cursor: \"pointer\" }}\n >Snippets</h4>\n <button\n onClick={() => handleSetIsExpanded()}\n style={{ border: \"none\", background: \"none\" }}\n title={isExpanded ? \"Collapse operation\" : \"Expand operation\"}\n >\n <svg className=\"arrow\" width=\"10\" height=\"10\">\n <use href={isExpanded ? \"#large-arrow-down\" : \"#large-arrow\"} xlinkHref={isExpanded ? \"#large-arrow-down\" : \"#large-arrow\"} />\n </svg>\n </button>\n </div>\n {\n isExpanded && <div className=\"curl-command\">\n <div style={{ paddingLeft: \"15px\", paddingRight: \"10px\", width: \"100%\", display: \"flex\" }}>\n {\n snippetGenerators.entrySeq().map(([key, gen]) => {\n return (<div style={handleGetBtnStyle(key)} className=\"btn\" key={key} onClick={() => handleGenChange(key)}>\n <h4 style={key === activeLanguage ? { color: \"white\", } : {}}>{gen.get(\"title\")}</h4>\n </div>)\n })\n }\n </div>\n <div className=\"copy-to-clipboard\">\n <CopyToClipboard text={snippet}>\n <button />\n </CopyToClipboard>\n </div>\n <div>\n {SnippetComponent}\n </div>\n </div>\n }\n </div>\n ) \n}\n\nRequestSnippets.propTypes = {\n request: PropTypes.object.isRequired,\n requestSnippetsSelectors: PropTypes.object.isRequired,\n getConfigs: PropTypes.object.isRequired,\n requestSnippetsActions: PropTypes.object,\n}\n\nexport default RequestSnippets\n","import { createSelector } from \"reselect\"\nimport { Map } from \"immutable\"\n\nconst state = state => state || Map()\n\nexport const getGenerators = createSelector(\n state,\n state => {\n const languageKeys = state\n .get(\"languages\")\n const generators = state\n .get(\"generators\", Map())\n if(!languageKeys || languageKeys.isEmpty()) {\n return generators\n }\n return generators\n .filter((v, key) => languageKeys.includes(key))\n }\n)\n\nexport const getSnippetGenerators = (state) => ({ fn }) => {\n const getGenFn = (key) => fn[`requestSnippetGenerator_${key}`]\n return getGenerators(state)\n .map((gen, key) => {\n const genFn = getGenFn(key)\n if(typeof genFn !== \"function\") {\n return null\n }\n\n return gen.set(\"fn\", genFn)\n })\n .filter(v => v)\n}\n\nexport const getActiveLanguage = createSelector(\n state,\n state => state\n .get(\"activeLanguage\")\n)\n\nexport const getDefaultExpanded = createSelector(\n state,\n state => state\n .get(\"defaultExpanded\")\n)\n","import PropTypes from \"prop-types\"\nimport React, { Component } from \"react\"\n\nimport { componentDidCatch } from \"../fn\"\nimport Fallback from \"./fallback\"\n\nexport class ErrorBoundary extends Component {\n static getDerivedStateFromError(error) {\n return { hasError: true, error }\n }\n\n constructor(...args) {\n super(...args)\n this.state = { hasError: false, error: null }\n }\n\n componentDidCatch(error, errorInfo) {\n this.props.fn.componentDidCatch(error, errorInfo)\n }\n\n render() {\n const { getComponent, targetName, children } = this.props\n\n if (this.state.hasError) {\n const FallbackComponent = getComponent(\"Fallback\")\n return <FallbackComponent name={targetName} />\n }\n\n return children\n }\n}\nErrorBoundary.propTypes = {\n targetName: PropTypes.string,\n getComponent: PropTypes.func,\n fn: PropTypes.object,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ])\n}\nErrorBoundary.defaultProps = {\n targetName: \"this component\",\n getComponent: () => Fallback,\n fn: {\n componentDidCatch,\n },\n children: null,\n}\n\nexport default ErrorBoundary\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Fallback = ({ name }) => (\n <div className=\"fallback\">\n 😱 <i>Could not render { name === \"t\" ? \"this component\" : name }, see the console.</i>\n </div>\n)\nFallback.propTypes = {\n name: PropTypes.string.isRequired,\n}\n\nexport default Fallback\n","import React, { Component } from \"react\"\n\nexport const componentDidCatch = console.error\n\nconst isClassComponent = component => component.prototype && component.prototype.isReactComponent\n\nexport const withErrorBoundary = (getSystem) => (WrappedComponent) => {\n const { getComponent, fn } = getSystem()\n const ErrorBoundary = getComponent(\"ErrorBoundary\")\n const targetName = fn.getDisplayName(WrappedComponent)\n\n class WithErrorBoundary extends Component {\n render() {\n return (\n <ErrorBoundary targetName={targetName} getComponent={getComponent} fn={fn}>\n <WrappedComponent {...this.props} {...this.context} />\n </ErrorBoundary>\n )\n }\n }\n WithErrorBoundary.displayName = `WithErrorBoundary(${targetName})`\n if (isClassComponent(WrappedComponent)) {\n /**\n * We need to handle case of class components defining a `mapStateToProps` public method.\n * Components with `mapStateToProps` public method cannot be wrapped.\n */\n WithErrorBoundary.prototype.mapStateToProps = WrappedComponent.prototype.mapStateToProps\n }\n\n return WithErrorBoundary\n}\n\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_fill_07ef3114__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_zipObject_c74f1c14__[\"default\"] });","import zipObject from \"lodash/zipObject\"\n\nimport ErrorBoundary from \"./components/error-boundary\"\nimport Fallback from \"./components/fallback\"\nimport { componentDidCatch, withErrorBoundary } from \"./fn\"\n\nconst safeRenderPlugin = ({componentList = [], fullOverride = false} = {}) => ({ getSystem }) => {\n const defaultComponentList = [\n \"App\",\n \"BaseLayout\",\n \"VersionPragmaFilter\",\n \"InfoContainer\",\n \"ServersContainer\",\n \"SchemesContainer\",\n \"AuthorizeBtnContainer\",\n \"FilterContainer\",\n \"Operations\",\n \"OperationContainer\",\n \"parameters\",\n \"responses\",\n \"OperationServers\",\n \"Models\",\n \"ModelWrapper\",\n ]\n const mergedComponentList = fullOverride ? componentList : [...defaultComponentList, ...componentList]\n const wrapFactory = (Original, { fn }) => fn.withErrorBoundary(Original)\n const wrapComponents = zipObject(mergedComponentList, Array(mergedComponentList.length).fill(wrapFactory))\n\n return {\n fn: {\n componentDidCatch,\n withErrorBoundary: withErrorBoundary(getSystem),\n },\n components: {\n ErrorBoundary,\n Fallback,\n },\n wrapComponents,\n }\n}\n\nexport default safeRenderPlugin\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_randexp__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_isEmpty_e109fd6b__[\"default\"] });","import XML from \"xml\"\nimport RandExp from \"randexp\"\nimport isEmpty from \"lodash/isEmpty\"\nimport { objectify, isFunc, normalizeArray, deeplyStripKey } from \"core/utils\"\n\nimport memoizeN from \"../../../helpers/memoizeN\"\n\nconst generateStringFromRegex = (pattern) => {\n try {\n const randexp = new RandExp(pattern)\n return randexp.gen()\n } catch (e) {\n // Invalid regex should not cause a crash (regex syntax varies across languages)\n return \"string\"\n }\n}\n\nconst primitives = {\n \"string\": (schema) => schema.pattern ? generateStringFromRegex(schema.pattern) : \"string\",\n \"string_email\": () => \"user@example.com\",\n \"string_date-time\": () => new Date().toISOString(),\n \"string_date\": () => new Date().toISOString().substring(0, 10),\n \"string_uuid\": () => \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"string_hostname\": () => \"example.com\",\n \"string_ipv4\": () => \"198.51.100.42\",\n \"string_ipv6\": () => \"2001:0db8:5b96:0000:0000:426f:8e17:642a\",\n \"number\": () => 0,\n \"number_float\": () => 0.0,\n \"integer\": () => 0,\n \"boolean\": (schema) => typeof schema.default === \"boolean\" ? schema.default : true\n}\n\nconst primitive = (schema) => {\n schema = objectify(schema)\n let { type, format } = schema\n\n let fn = primitives[`${type}_${format}`] || primitives[type]\n\n if(isFunc(fn))\n return fn(schema)\n\n return \"Unknown Type: \" + schema.type\n}\n\n// do a couple of quick sanity tests to ensure the value\n// looks like a $$ref that swagger-client generates.\nconst sanitizeRef = (value) => deeplyStripKey(value, \"$$ref\", (val) =>\n typeof val === \"string\" && val.indexOf(\"#\") > -1)\n\nconst objectContracts = [\"maxProperties\", \"minProperties\"]\nconst arrayContracts = [\"minItems\", \"maxItems\"]\nconst numberContracts = [\n \"minimum\",\n \"maximum\",\n \"exclusiveMinimum\",\n \"exclusiveMaximum\"\n]\nconst stringContracts = [\"minLength\", \"maxLength\"]\n\nconst liftSampleHelper = (oldSchema, target, config = {}) => {\n const setIfNotDefinedInTarget = (key) => {\n if(target[key] === undefined && oldSchema[key] !== undefined) {\n target[key] = oldSchema[key]\n }\n }\n\n [\n \"example\",\n \"default\",\n \"enum\",\n \"xml\",\n \"type\",\n ...objectContracts,\n ...arrayContracts,\n ...numberContracts,\n ...stringContracts,\n ].forEach(key => setIfNotDefinedInTarget(key))\n\n if(oldSchema.required !== undefined && Array.isArray(oldSchema.required)) {\n if(target.required === undefined || !target.required.length) {\n target.required = []\n }\n oldSchema.required.forEach(key => {\n if(target.required.includes(key)) {\n return\n }\n target.required.push(key)\n })\n }\n if(oldSchema.properties) {\n if(!target.properties) {\n target.properties = {}\n }\n let props = objectify(oldSchema.properties)\n for (let propName in props) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n continue\n }\n if ( props[propName] && props[propName].deprecated ) {\n continue\n }\n if ( props[propName] && props[propName].readOnly && !config.includeReadOnly ) {\n continue\n }\n if ( props[propName] && props[propName].writeOnly && !config.includeWriteOnly ) {\n continue\n }\n if(!target.properties[propName]) {\n target.properties[propName] = props[propName]\n if(!oldSchema.required && Array.isArray(oldSchema.required) && oldSchema.required.indexOf(propName) !== -1) {\n if(!target.required) {\n target.required = [propName]\n } else {\n target.required.push(propName)\n }\n }\n }\n }\n }\n if(oldSchema.items) {\n if(!target.items) {\n target.items = {}\n }\n target.items = liftSampleHelper(oldSchema.items, target.items, config)\n }\n\n return target\n}\n\nexport const sampleFromSchemaGeneric = (schema, config={}, exampleOverride = undefined, respectXML = false) => {\n if(schema && isFunc(schema.toJS))\n schema = schema.toJS()\n let usePlainValue = exampleOverride !== undefined || schema && schema.example !== undefined || schema && schema.default !== undefined\n // first check if there is the need of combining this schema with others required by allOf\n const hasOneOf = !usePlainValue && schema && schema.oneOf && schema.oneOf.length > 0\n const hasAnyOf = !usePlainValue && schema && schema.anyOf && schema.anyOf.length > 0\n if(!usePlainValue && (hasOneOf || hasAnyOf)) {\n const schemaToAdd = objectify(hasOneOf\n ? schema.oneOf[0]\n : schema.anyOf[0]\n )\n liftSampleHelper(schemaToAdd, schema, config)\n if(!schema.xml && schemaToAdd.xml) {\n schema.xml = schemaToAdd.xml\n }\n if(schema.example !== undefined && schemaToAdd.example !== undefined) {\n usePlainValue = true\n } else if(schemaToAdd.properties) {\n if(!schema.properties) {\n schema.properties = {}\n }\n let props = objectify(schemaToAdd.properties)\n for (let propName in props) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n continue\n }\n if ( props[propName] && props[propName].deprecated ) {\n continue\n }\n if ( props[propName] && props[propName].readOnly && !config.includeReadOnly ) {\n continue\n }\n if ( props[propName] && props[propName].writeOnly && !config.includeWriteOnly ) {\n continue\n }\n if(!schema.properties[propName]) {\n schema.properties[propName] = props[propName]\n if(!schemaToAdd.required && Array.isArray(schemaToAdd.required) && schemaToAdd.required.indexOf(propName) !== -1) {\n if(!schema.required) {\n schema.required = [propName]\n } else {\n schema.required.push(propName)\n }\n }\n }\n }\n }\n }\n const _attr = {}\n let { xml, type, example, properties, additionalProperties, items } = schema || {}\n let { includeReadOnly, includeWriteOnly } = config\n xml = xml || {}\n let { name, prefix, namespace } = xml\n let displayName\n let res = {}\n\n // set xml naming and attributes\n if(respectXML) {\n name = name || \"notagname\"\n // add prefix to name if exists\n displayName = (prefix ? prefix + \":\" : \"\") + name\n if ( namespace ) {\n //add prefix to namespace if exists\n let namespacePrefix = prefix ? ( \"xmlns:\" + prefix ) : \"xmlns\"\n _attr[namespacePrefix] = namespace\n }\n }\n\n // init xml default response sample obj\n if(respectXML) {\n res[displayName] = []\n }\n\n const schemaHasAny = (keys) => keys.some(key => Object.prototype.hasOwnProperty.call(schema, key))\n // try recover missing type\n if(schema && !type) {\n if(properties || additionalProperties || schemaHasAny(objectContracts)) {\n type = \"object\"\n } else if(items || schemaHasAny(arrayContracts)) {\n type = \"array\"\n } else if(schemaHasAny(numberContracts)) {\n type = \"number\"\n schema.type = \"number\"\n } else if(!usePlainValue && !schema.enum){\n // implicit cover schemaHasAny(stringContracts) or A schema without a type matches any data type is:\n // components:\n // schemas:\n // AnyValue:\n // anyOf:\n // - type: string\n // - type: number\n // - type: integer\n // - type: boolean\n // - type: array\n // items: {}\n // - type: object\n //\n // which would resolve to type: string\n type = \"string\"\n schema.type = \"string\"\n }\n }\n\n const handleMinMaxItems = (sampleArray) => {\n if (schema?.maxItems !== null && schema?.maxItems !== undefined) {\n sampleArray = sampleArray.slice(0, schema?.maxItems)\n }\n if (schema?.minItems !== null && schema?.minItems !== undefined) {\n let i = 0\n while (sampleArray.length < schema?.minItems) {\n sampleArray.push(sampleArray[i++ % sampleArray.length])\n }\n }\n return sampleArray\n }\n\n // add to result helper init for xml or json\n const props = objectify(properties)\n let addPropertyToResult\n let propertyAddedCounter = 0\n\n const hasExceededMaxProperties = () => schema\n && schema.maxProperties !== null && schema.maxProperties !== undefined\n && propertyAddedCounter >= schema.maxProperties\n\n const requiredPropertiesToAdd = () => {\n if(!schema || !schema.required) {\n return 0\n }\n let addedCount = 0\n if(respectXML) {\n schema.required.forEach(key => addedCount +=\n res[key] === undefined\n ? 0\n : 1\n )\n } else {\n schema.required.forEach(key => addedCount +=\n res[displayName]?.find(x => x[key] !== undefined) === undefined\n ? 0\n : 1\n )\n }\n return schema.required.length - addedCount\n }\n\n const isOptionalProperty = (propName) => {\n if(!schema || !schema.required || !schema.required.length) {\n return true\n }\n return !schema.required.includes(propName)\n }\n\n const canAddProperty = (propName) => {\n if(!schema || schema.maxProperties === null || schema.maxProperties === undefined) {\n return true\n }\n if(hasExceededMaxProperties()) {\n return false\n }\n if(!isOptionalProperty(propName)) {\n return true\n }\n return (schema.maxProperties - propertyAddedCounter - requiredPropertiesToAdd()) > 0\n }\n\n if(respectXML) {\n addPropertyToResult = (propName, overrideE = undefined) => {\n if(schema && props[propName]) {\n // case it is an xml attribute\n props[propName].xml = props[propName].xml || {}\n\n if (props[propName].xml.attribute) {\n const enumAttrVal = Array.isArray(props[propName].enum)\n ? props[propName].enum[0]\n : undefined\n const attrExample = props[propName].example\n const attrDefault = props[propName].default\n\n if(attrExample !== undefined) {\n _attr[props[propName].xml.name || propName] = attrExample\n } else if(attrDefault !== undefined) {\n _attr[props[propName].xml.name || propName] = attrDefault\n } else if(enumAttrVal !== undefined) {\n _attr[props[propName].xml.name || propName] = enumAttrVal\n } else {\n _attr[props[propName].xml.name || propName] = primitive(props[propName])\n }\n\n return\n }\n props[propName].xml.name = props[propName].xml.name || propName\n } else if(!props[propName] && additionalProperties !== false) {\n // case only additionalProperty that is not defined in schema\n props[propName] = {\n xml: {\n name: propName\n }\n }\n }\n\n let t = sampleFromSchemaGeneric(schema && props[propName] || undefined, config, overrideE, respectXML)\n if(!canAddProperty(propName)) {\n return\n }\n\n propertyAddedCounter++\n if (Array.isArray(t)) {\n res[displayName] = res[displayName].concat(t)\n } else {\n res[displayName].push(t)\n }\n }\n } else {\n addPropertyToResult = (propName, overrideE) => {\n if(!canAddProperty(propName)) {\n return\n }\n res[propName] = sampleFromSchemaGeneric(props[propName], config, overrideE, respectXML)\n propertyAddedCounter++\n }\n }\n\n // check for plain value and if found use it to generate sample from it\n if(usePlainValue) {\n let sample\n if(exampleOverride !== undefined) {\n sample = sanitizeRef(exampleOverride)\n } else if(example !== undefined) {\n sample = sanitizeRef(example)\n } else {\n sample = sanitizeRef(schema.default)\n }\n\n // if json just return\n if(!respectXML) {\n // spacial case yaml parser can not know about\n if(typeof sample === \"number\" && type === \"string\") {\n return `${sample}`\n }\n // return if sample does not need any parsing\n if(typeof sample !== \"string\" || type === \"string\") {\n return sample\n }\n // check if sample is parsable or just a plain string\n try {\n return JSON.parse(sample)\n } catch(e) {\n // sample is just plain string return it\n return sample\n }\n }\n\n // recover missing type\n if(!schema) {\n type = Array.isArray(sample) ? \"array\" : typeof sample\n }\n\n // generate xml sample recursively for array case\n if(type === \"array\") {\n if (!Array.isArray(sample)) {\n if(typeof sample === \"string\") {\n return sample\n }\n sample = [sample]\n }\n const itemSchema = schema\n ? schema.items\n : undefined\n if(itemSchema) {\n itemSchema.xml = itemSchema.xml || xml || {}\n itemSchema.xml.name = itemSchema.xml.name || xml.name\n }\n let itemSamples = sample\n .map(s => sampleFromSchemaGeneric(itemSchema, config, s, respectXML))\n itemSamples = handleMinMaxItems(itemSamples)\n if(xml.wrapped) {\n res[displayName] = itemSamples\n if (!isEmpty(_attr)) {\n res[displayName].push({_attr: _attr})\n }\n }\n else {\n res = itemSamples\n }\n return res\n }\n\n // generate xml sample recursively for object case\n if(type === \"object\") {\n // case literal example\n if(typeof sample === \"string\") {\n return sample\n }\n for (let propName in sample) {\n if (!Object.prototype.hasOwnProperty.call(sample, propName)) {\n continue\n }\n if (schema && props[propName] && props[propName].readOnly && !includeReadOnly) {\n continue\n }\n if (schema && props[propName] && props[propName].writeOnly && !includeWriteOnly) {\n continue\n }\n if (schema && props[propName] && props[propName].xml && props[propName].xml.attribute) {\n _attr[props[propName].xml.name || propName] = sample[propName]\n continue\n }\n addPropertyToResult(propName, sample[propName])\n }\n if (!isEmpty(_attr)) {\n res[displayName].push({_attr: _attr})\n }\n\n return res\n }\n\n res[displayName] = !isEmpty(_attr) ? [{_attr: _attr}, sample] : sample\n return res\n }\n\n // use schema to generate sample\n\n if(type === \"object\") {\n for (let propName in props) {\n if (!Object.prototype.hasOwnProperty.call(props, propName)) {\n continue\n }\n if ( props[propName] && props[propName].deprecated ) {\n continue\n }\n if ( props[propName] && props[propName].readOnly && !includeReadOnly ) {\n continue\n }\n if ( props[propName] && props[propName].writeOnly && !includeWriteOnly ) {\n continue\n }\n addPropertyToResult(propName)\n }\n if (respectXML && _attr) {\n res[displayName].push({_attr: _attr})\n }\n\n if(hasExceededMaxProperties()) {\n return res\n }\n\n if ( additionalProperties === true ) {\n if(respectXML) {\n res[displayName].push({additionalProp: \"Anything can be here\"})\n } else {\n res.additionalProp1 = {}\n }\n propertyAddedCounter++\n } else if ( additionalProperties ) {\n const additionalProps = objectify(additionalProperties)\n const additionalPropSample = sampleFromSchemaGeneric(additionalProps, config, undefined, respectXML)\n\n if(respectXML && additionalProps.xml && additionalProps.xml.name && additionalProps.xml.name !== \"notagname\")\n {\n res[displayName].push(additionalPropSample)\n } else {\n const toGenerateCount = schema.minProperties !== null && schema.minProperties !== undefined && propertyAddedCounter < schema.minProperties\n ? schema.minProperties - propertyAddedCounter\n : 3\n for (let i = 1; i <= toGenerateCount; i++) {\n if(hasExceededMaxProperties()) {\n return res\n }\n if(respectXML) {\n const temp = {}\n temp[\"additionalProp\" + i] = additionalPropSample[\"notagname\"]\n res[displayName].push(temp)\n } else {\n res[\"additionalProp\" + i] = additionalPropSample\n }\n propertyAddedCounter++\n }\n }\n }\n return res\n }\n\n if(type === \"array\") {\n if (!items) {\n return\n }\n\n let sampleArray\n if(respectXML) {\n items.xml = items.xml || schema?.xml || {}\n items.xml.name = items.xml.name || xml.name\n }\n\n if(Array.isArray(items.anyOf)) {\n sampleArray = items.anyOf.map(i => sampleFromSchemaGeneric(liftSampleHelper(items, i, config), config, undefined, respectXML))\n } else if(Array.isArray(items.oneOf)) {\n sampleArray = items.oneOf.map(i => sampleFromSchemaGeneric(liftSampleHelper(items, i, config), config, undefined, respectXML))\n } else if(!respectXML || respectXML && xml.wrapped) {\n sampleArray = [sampleFromSchemaGeneric(items, config, undefined, respectXML)]\n } else {\n return sampleFromSchemaGeneric(items, config, undefined, respectXML)\n }\n sampleArray = handleMinMaxItems(sampleArray)\n if(respectXML && xml.wrapped) {\n res[displayName] = sampleArray\n if (!isEmpty(_attr)) {\n res[displayName].push({_attr: _attr})\n }\n return res\n }\n return sampleArray\n }\n\n let value\n if (schema && Array.isArray(schema.enum)) {\n //display enum first value\n value = normalizeArray(schema.enum)[0]\n } else if(schema) {\n // display schema default\n value = primitive(schema)\n if(typeof value === \"number\") {\n let min = schema.minimum\n if(min !== undefined && min !== null) {\n if(schema.exclusiveMinimum) {\n min++\n }\n value = min\n }\n let max = schema.maximum\n if(max !== undefined && max !== null) {\n if(schema.exclusiveMaximum) {\n max--\n }\n value = max\n }\n }\n if(typeof value === \"string\") {\n if (schema.maxLength !== null && schema.maxLength !== undefined) {\n value = value.slice(0, schema.maxLength)\n }\n if (schema.minLength !== null && schema.minLength !== undefined) {\n let i = 0\n while (value.length < schema.minLength) {\n value += value[i++ % value.length]\n }\n }\n }\n } else {\n return\n }\n if (type === \"file\") {\n return\n }\n\n if(respectXML) {\n res[displayName] = !isEmpty(_attr) ? [{_attr: _attr}, value] : value\n return res\n }\n\n return value\n}\n\nexport const inferSchema = (thing) => {\n if(thing.schema)\n thing = thing.schema\n\n if(thing.properties) {\n thing.type = \"object\"\n }\n\n return thing // Hopefully this will have something schema like in it... `type` for example\n}\n\nexport const createXMLExample = (schema, config, o) => {\n const json = sampleFromSchemaGeneric(schema, config, o, true)\n if (!json) { return }\n if(typeof json === \"string\") {\n return json\n }\n return XML(json, { declaration: true, indent: \"\\t\" })\n}\n\nexport const sampleFromSchema = (schema, config, o) =>\n sampleFromSchemaGeneric(schema, config, o, false)\n\nconst resolver = (arg1, arg2, arg3) => [arg1, JSON.stringify(arg2), JSON.stringify(arg3)]\n\nexport const memoizedCreateXMLExample = memoizeN(createXMLExample, resolver)\n\nexport const memoizedSampleFromSchema = memoizeN(sampleFromSchema, resolver)\n","import * as fn from \"./fn\"\n\nexport default function () {\n return { fn }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_asyncToGenerator_db854086__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_regenerator_4d88cac3__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_promise_047dc8e8__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_date_now_1bf78713__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_isString_e6fa8a5b__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_debounce_3540babe__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_set_b4b15ee5__[\"default\"] });","import YAML, { JSON_SCHEMA } from \"js-yaml\"\nimport { Map } from \"immutable\"\nimport parseUrl from \"url-parse\"\nimport { serializeError } from \"serialize-error\"\nimport isString from \"lodash/isString\"\nimport debounce from \"lodash/debounce\"\nimport set from \"lodash/set\"\nimport { paramToValue, isEmptyValue } from \"core/utils\"\n\n// Actions conform to FSA (flux-standard-actions)\n// {type: string,payload: Any|Error, meta: obj, error: bool}\n\nexport const UPDATE_SPEC = \"spec_update_spec\"\nexport const UPDATE_URL = \"spec_update_url\"\nexport const UPDATE_JSON = \"spec_update_json\"\nexport const UPDATE_PARAM = \"spec_update_param\"\nexport const UPDATE_EMPTY_PARAM_INCLUSION = \"spec_update_empty_param_inclusion\"\nexport const VALIDATE_PARAMS = \"spec_validate_param\"\nexport const SET_RESPONSE = \"spec_set_response\"\nexport const SET_REQUEST = \"spec_set_request\"\nexport const SET_MUTATED_REQUEST = \"spec_set_mutated_request\"\nexport const LOG_REQUEST = \"spec_log_request\"\nexport const CLEAR_RESPONSE = \"spec_clear_response\"\nexport const CLEAR_REQUEST = \"spec_clear_request\"\nexport const CLEAR_VALIDATE_PARAMS = \"spec_clear_validate_param\"\nexport const UPDATE_OPERATION_META_VALUE = \"spec_update_operation_meta_value\"\nexport const UPDATE_RESOLVED = \"spec_update_resolved\"\nexport const UPDATE_RESOLVED_SUBTREE = \"spec_update_resolved_subtree\"\nexport const SET_SCHEME = \"set_scheme\"\n\nconst toStr = (str) => isString(str) ? str : \"\"\n\nexport function updateSpec(spec) {\n const cleanSpec = (toStr(spec)).replace(/\\t/g, \" \")\n if(typeof spec === \"string\") {\n return {\n type: UPDATE_SPEC,\n payload: cleanSpec\n }\n }\n}\n\nexport function updateResolved(spec) {\n return {\n type: UPDATE_RESOLVED,\n payload: spec\n }\n}\n\nexport function updateUrl(url) {\n return {type: UPDATE_URL, payload: url}\n}\n\nexport function updateJsonSpec(json) {\n return {type: UPDATE_JSON, payload: json}\n}\n\nexport const parseToJson = (str) => ({specActions, specSelectors, errActions}) => {\n let { specStr } = specSelectors\n\n let json = null\n try {\n str = str || specStr()\n errActions.clear({ source: \"parser\" })\n json = YAML.load(str, { schema: JSON_SCHEMA })\n } catch(e) {\n // TODO: push error to state\n console.error(e)\n return errActions.newSpecErr({\n source: \"parser\",\n level: \"error\",\n message: e.reason,\n line: e.mark && e.mark.line ? e.mark.line + 1 : undefined\n })\n }\n if(json && typeof json === \"object\") {\n return specActions.updateJsonSpec(json)\n }\n return {}\n}\n\nlet hasWarnedAboutResolveSpecDeprecation = false\n\nexport const resolveSpec = (json, url) => ({specActions, specSelectors, errActions, fn: { fetch, resolve, AST = {} }, getConfigs}) => {\n if(!hasWarnedAboutResolveSpecDeprecation) {\n console.warn(`specActions.resolveSpec is deprecated since v3.10.0 and will be removed in v4.0.0; use requestResolvedSubtree instead!`)\n hasWarnedAboutResolveSpecDeprecation = true\n }\n\n const {\n modelPropertyMacro,\n parameterMacro,\n requestInterceptor,\n responseInterceptor\n } = getConfigs()\n\n if(typeof(json) === \"undefined\") {\n json = specSelectors.specJson()\n }\n if(typeof(url) === \"undefined\") {\n url = specSelectors.url()\n }\n\n let getLineNumberForPath = AST.getLineNumberForPath ? AST.getLineNumberForPath : () => undefined\n\n let specStr = specSelectors.specStr()\n\n return resolve({\n fetch,\n spec: json,\n baseDoc: url,\n modelPropertyMacro,\n parameterMacro,\n requestInterceptor,\n responseInterceptor\n }).then( ({spec, errors}) => {\n errActions.clear({\n type: \"thrown\"\n })\n if(Array.isArray(errors) && errors.length > 0) {\n let preparedErrors = errors\n .map(err => {\n console.error(err)\n err.line = err.fullPath ? getLineNumberForPath(specStr, err.fullPath) : null\n err.path = err.fullPath ? err.fullPath.join(\".\") : null\n err.level = \"error\"\n err.type = \"thrown\"\n err.source = \"resolver\"\n Object.defineProperty(err, \"message\", { enumerable: true, value: err.message })\n return err\n })\n errActions.newThrownErrBatch(preparedErrors)\n }\n\n return specActions.updateResolved(spec)\n })\n}\n\nlet requestBatch = []\n\nconst debResolveSubtrees = debounce(async () => {\n const system = requestBatch.system // Just a reference to the \"latest\" system\n\n if(!system) {\n console.error(\"debResolveSubtrees: don't have a system to operate on, aborting.\")\n return\n }\n const {\n errActions,\n errSelectors,\n fn: {\n resolveSubtree,\n fetch,\n AST = {}\n },\n specSelectors,\n specActions,\n } = system\n\n if(!resolveSubtree) {\n console.error(\"Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing.\")\n return\n }\n\n let getLineNumberForPath = AST.getLineNumberForPath ? AST.getLineNumberForPath : () => undefined\n\n const specStr = specSelectors.specStr()\n\n const {\n modelPropertyMacro,\n parameterMacro,\n requestInterceptor,\n responseInterceptor\n } = system.getConfigs()\n\n try {\n var batchResult = await requestBatch.reduce(async (prev, path) => {\n const { resultMap, specWithCurrentSubtrees } = await prev\n const { errors, spec } = await resolveSubtree(specWithCurrentSubtrees, path, {\n baseDoc: specSelectors.url(),\n modelPropertyMacro,\n parameterMacro,\n requestInterceptor,\n responseInterceptor\n })\n\n if(errSelectors.allErrors().size) {\n errActions.clearBy(err => {\n // keep if...\n return err.get(\"type\") !== \"thrown\" // it's not a thrown error\n || err.get(\"source\") !== \"resolver\" // it's not a resolver error\n || !err.get(\"fullPath\").every((key, i) => key === path[i] || path[i] === undefined) // it's not within the path we're resolving\n })\n }\n\n if(Array.isArray(errors) && errors.length > 0) {\n let preparedErrors = errors\n .map(err => {\n err.line = err.fullPath ? getLineNumberForPath(specStr, err.fullPath) : null\n err.path = err.fullPath ? err.fullPath.join(\".\") : null\n err.level = \"error\"\n err.type = \"thrown\"\n err.source = \"resolver\"\n Object.defineProperty(err, \"message\", { enumerable: true, value: err.message })\n return err\n })\n errActions.newThrownErrBatch(preparedErrors)\n }\n\n if (spec && specSelectors.isOAS3() && path[0] === \"components\" && path[1] === \"securitySchemes\") {\n // Resolve OIDC URLs if present\n await Promise.all(Object.values(spec)\n .filter((scheme) => scheme.type === \"openIdConnect\")\n .map(async (oidcScheme) => {\n const req = {\n url: oidcScheme.openIdConnectUrl,\n requestInterceptor: requestInterceptor,\n responseInterceptor: responseInterceptor\n }\n try {\n const res = await fetch(req)\n if (res instanceof Error || res.status >= 400) {\n console.error(res.statusText + \" \" + req.url)\n } else {\n oidcScheme.openIdConnectData = JSON.parse(res.text)\n }\n } catch (e) {\n console.error(e)\n }\n }))\n }\n set(resultMap, path, spec)\n set(specWithCurrentSubtrees, path, spec)\n\n return {\n resultMap,\n specWithCurrentSubtrees\n }\n }, Promise.resolve({\n resultMap: (specSelectors.specResolvedSubtree([]) || Map()).toJS(),\n specWithCurrentSubtrees: specSelectors.specJson().toJS()\n }))\n\n delete requestBatch.system\n requestBatch = [] // Clear stack\n } catch(e) {\n console.error(e)\n }\n\n specActions.updateResolvedSubtree([], batchResult.resultMap)\n}, 35)\n\nexport const requestResolvedSubtree = path => system => {\n // poor-man's array comparison\n // if this ever inadequate, this should be rewritten to use Im.List\n const isPathAlreadyBatched = requestBatch\n .map(arr => arr.join(\"@@\"))\n .indexOf(path.join(\"@@\")) > -1\n\n if(isPathAlreadyBatched) {\n return\n }\n\n requestBatch.push(path)\n requestBatch.system = system\n debResolveSubtrees()\n}\n\nexport function changeParam( path, paramName, paramIn, value, isXml ){\n return {\n type: UPDATE_PARAM,\n payload:{ path, value, paramName, paramIn, isXml }\n }\n}\n\nexport function changeParamByIdentity( pathMethod, param, value, isXml ){\n return {\n type: UPDATE_PARAM,\n payload:{ path: pathMethod, param, value, isXml }\n }\n}\n\nexport const updateResolvedSubtree = (path, value) => {\n return {\n type: UPDATE_RESOLVED_SUBTREE,\n payload: { path, value }\n }\n}\n\nexport const invalidateResolvedSubtreeCache = () => {\n return {\n type: UPDATE_RESOLVED_SUBTREE,\n payload: {\n path: [],\n value: Map()\n }\n }\n}\n\nexport const validateParams = ( payload, isOAS3 ) =>{\n return {\n type: VALIDATE_PARAMS,\n payload:{\n pathMethod: payload,\n isOAS3\n }\n }\n}\n\nexport const updateEmptyParamInclusion = ( pathMethod, paramName, paramIn, includeEmptyValue ) =>{\n return {\n type: UPDATE_EMPTY_PARAM_INCLUSION,\n payload:{\n pathMethod,\n paramName,\n paramIn,\n includeEmptyValue\n }\n }\n}\n\nexport function clearValidateParams( payload ){\n return {\n type: CLEAR_VALIDATE_PARAMS,\n payload:{ pathMethod: payload }\n }\n}\n\nexport function changeConsumesValue(path, value) {\n return {\n type: UPDATE_OPERATION_META_VALUE,\n payload:{ path, value, key: \"consumes_value\" }\n }\n}\n\nexport function changeProducesValue(path, value) {\n return {\n type: UPDATE_OPERATION_META_VALUE,\n payload:{ path, value, key: \"produces_value\" }\n }\n}\n\nexport const setResponse = ( path, method, res ) => {\n return {\n payload: { path, method, res },\n type: SET_RESPONSE\n }\n}\n\nexport const setRequest = ( path, method, req ) => {\n return {\n payload: { path, method, req },\n type: SET_REQUEST\n }\n}\n\nexport const setMutatedRequest = ( path, method, req ) => {\n return {\n payload: { path, method, req },\n type: SET_MUTATED_REQUEST\n }\n}\n\n// This is for debugging, remove this comment if you depend on this action\nexport const logRequest = (req) => {\n return {\n payload: req,\n type: LOG_REQUEST\n }\n}\n\n// Actually fire the request via fn.execute\n// (For debugging) and ease of testing\nexport const executeRequest = (req) =>\n ({fn, specActions, specSelectors, getConfigs, oas3Selectors}) => {\n let { pathName, method, operation } = req\n let { requestInterceptor, responseInterceptor } = getConfigs()\n\n\n let op = operation.toJS()\n\n // ensure that explicitly-included params are in the request\n\n if (operation && operation.get(\"parameters\")) {\n operation.get(\"parameters\")\n .filter(param => param && param.get(\"allowEmptyValue\") === true)\n .forEach(param => {\n if (specSelectors.parameterInclusionSettingFor([pathName, method], param.get(\"name\"), param.get(\"in\"))) {\n req.parameters = req.parameters || {}\n const paramValue = paramToValue(param, req.parameters)\n\n // if the value is falsy or an empty Immutable iterable...\n if(!paramValue || (paramValue && paramValue.size === 0)) {\n // set it to empty string, so Swagger Client will treat it as\n // present but empty.\n req.parameters[param.get(\"name\")] = \"\"\n }\n }\n })\n }\n\n // if url is relative, parseUrl makes it absolute by inferring from `window.location`\n req.contextUrl = parseUrl(specSelectors.url()).toString()\n\n if(op && op.operationId) {\n req.operationId = op.operationId\n } else if(op && pathName && method) {\n req.operationId = fn.opId(op, pathName, method)\n }\n\n if(specSelectors.isOAS3()) {\n const namespace = `${pathName}:${method}`\n\n req.server = oas3Selectors.selectedServer(namespace) || oas3Selectors.selectedServer()\n\n const namespaceVariables = oas3Selectors.serverVariables({\n server: req.server,\n namespace\n }).toJS()\n const globalVariables = oas3Selectors.serverVariables({ server: req.server }).toJS()\n\n req.serverVariables = Object.keys(namespaceVariables).length ? namespaceVariables : globalVariables\n\n req.requestContentType = oas3Selectors.requestContentType(pathName, method)\n req.responseContentType = oas3Selectors.responseContentType(pathName, method) || \"*/*\"\n const requestBody = oas3Selectors.requestBodyValue(pathName, method)\n const requestBodyInclusionSetting = oas3Selectors.requestBodyInclusionSetting(pathName, method)\n\n if(requestBody && requestBody.toJS) {\n req.requestBody = requestBody\n .map(\n (val) => {\n if (Map.isMap(val)) {\n return val.get(\"value\")\n }\n return val\n }\n )\n .filter(\n (value, key) => (Array.isArray(value)\n ? value.length !== 0\n : !isEmptyValue(value)\n ) || requestBodyInclusionSetting.get(key)\n )\n .toJS()\n } else {\n req.requestBody = requestBody\n }\n }\n\n let parsedRequest = Object.assign({}, req)\n parsedRequest = fn.buildRequest(parsedRequest)\n\n specActions.setRequest(req.pathName, req.method, parsedRequest)\n\n let requestInterceptorWrapper = async (r) => {\n let mutatedRequest = await requestInterceptor.apply(this, [r])\n let parsedMutatedRequest = Object.assign({}, mutatedRequest)\n specActions.setMutatedRequest(req.pathName, req.method, parsedMutatedRequest)\n return mutatedRequest\n }\n\n req.requestInterceptor = requestInterceptorWrapper\n req.responseInterceptor = responseInterceptor\n\n // track duration of request\n const startTime = Date.now()\n\n\n return fn.execute(req)\n .then( res => {\n res.duration = Date.now() - startTime\n specActions.setResponse(req.pathName, req.method, res)\n } )\n .catch(\n err => {\n // console.error(err)\n if(err.message === \"Failed to fetch\") {\n err.name = \"\"\n err.message = \"**Failed to fetch.** \\n**Possible Reasons:** \\n - CORS \\n - Network Failure \\n - URL scheme must be \\\"http\\\" or \\\"https\\\" for CORS request.\"\n }\n specActions.setResponse(req.pathName, req.method, {\n error: true, err: serializeError(err)\n })\n }\n )\n }\n\n\n// I'm using extras as a way to inject properties into the final, `execute` method - It's not great. Anyone have a better idea? @ponelat\nexport const execute = ( { path, method, ...extras }={} ) => (system) => {\n let { fn:{fetch}, specSelectors, specActions } = system\n let spec = specSelectors.specJsonWithResolvedSubtrees().toJS()\n let scheme = specSelectors.operationScheme(path, method)\n let { requestContentType, responseContentType } = specSelectors.contentTypeValues([path, method]).toJS()\n let isXml = /xml/i.test(requestContentType)\n let parameters = specSelectors.parameterValues([path, method], isXml).toJS()\n\n return specActions.executeRequest({\n ...extras,\n fetch,\n spec,\n pathName: path,\n method, parameters,\n requestContentType,\n scheme,\n responseContentType\n })\n}\n\nexport function clearResponse (path, method) {\n return {\n type: CLEAR_RESPONSE,\n payload:{ path, method }\n }\n}\n\nexport function clearRequest (path, method) {\n return {\n type: CLEAR_REQUEST,\n payload:{ path, method }\n }\n}\n\nexport function setScheme (scheme, path, method) {\n return {\n type: SET_SCHEME,\n payload: { scheme, path, method }\n }\n}\n","import reducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport * as wrapActions from \"./wrap-actions\"\n\nexport default function() {\n return {\n statePlugins: {\n spec: {\n wrapActions,\n reducers,\n actions,\n selectors\n }\n }\n }\n}\n","import { fromJS, List } from \"immutable\"\nimport { fromJSOrdered, validateParam, paramToValue } from \"core/utils\"\nimport win from \"../../window\"\n\n// selector-in-reducer is suboptimal, but `operationWithMeta` is more of a helper\nimport {\n specJsonWithResolvedSubtrees,\n parameterValues,\n parameterInclusionSettingFor,\n} from \"./selectors\"\n\nimport {\n UPDATE_SPEC,\n UPDATE_URL,\n UPDATE_JSON,\n UPDATE_PARAM,\n UPDATE_EMPTY_PARAM_INCLUSION,\n VALIDATE_PARAMS,\n SET_RESPONSE,\n SET_REQUEST,\n SET_MUTATED_REQUEST,\n UPDATE_RESOLVED,\n UPDATE_RESOLVED_SUBTREE,\n UPDATE_OPERATION_META_VALUE,\n CLEAR_RESPONSE,\n CLEAR_REQUEST,\n CLEAR_VALIDATE_PARAMS,\n SET_SCHEME\n} from \"./actions\"\nimport { paramToIdentifier } from \"../../utils\"\n\nexport default {\n\n [UPDATE_SPEC]: (state, action) => {\n return (typeof action.payload === \"string\")\n ? state.set(\"spec\", action.payload)\n : state\n },\n\n [UPDATE_URL]: (state, action) => {\n return state.set(\"url\", action.payload+\"\")\n },\n\n [UPDATE_JSON]: (state, action) => {\n return state.set(\"json\", fromJSOrdered(action.payload))\n },\n\n [UPDATE_RESOLVED]: (state, action) => {\n return state.setIn([\"resolved\"], fromJSOrdered(action.payload))\n },\n\n [UPDATE_RESOLVED_SUBTREE]: (state, action) => {\n const { value, path } = action.payload\n return state.setIn([\"resolvedSubtrees\", ...path], fromJSOrdered(value))\n },\n\n [UPDATE_PARAM]: ( state, {payload} ) => {\n let { path: pathMethod, paramName, paramIn, param, value, isXml } = payload\n\n let paramKey = param ? paramToIdentifier(param) : `${paramIn}.${paramName}`\n\n const valueKey = isXml ? \"value_xml\" : \"value\"\n\n return state.setIn(\n [\"meta\", \"paths\", ...pathMethod, \"parameters\", paramKey, valueKey],\n value\n )\n },\n\n [UPDATE_EMPTY_PARAM_INCLUSION]: ( state, {payload} ) => {\n let { pathMethod, paramName, paramIn, includeEmptyValue } = payload\n\n if(!paramName || !paramIn) {\n console.warn(\"Warning: UPDATE_EMPTY_PARAM_INCLUSION could not generate a paramKey.\")\n return state\n }\n\n const paramKey = `${paramIn}.${paramName}`\n\n return state.setIn(\n [\"meta\", \"paths\", ...pathMethod, \"parameter_inclusions\", paramKey],\n includeEmptyValue\n )\n },\n\n [VALIDATE_PARAMS]: ( state, { payload: { pathMethod, isOAS3 } } ) => {\n const op = specJsonWithResolvedSubtrees(state).getIn([\"paths\", ...pathMethod])\n const paramValues = parameterValues(state, pathMethod).toJS()\n\n return state.updateIn([\"meta\", \"paths\", ...pathMethod, \"parameters\"], fromJS({}), paramMeta => {\n return op.get(\"parameters\", List()).reduce((res, param) => {\n const value = paramToValue(param, paramValues)\n const isEmptyValueIncluded = parameterInclusionSettingFor(state, pathMethod, param.get(\"name\"), param.get(\"in\"))\n const errors = validateParam(param, value, {\n bypassRequiredCheck: isEmptyValueIncluded,\n isOAS3,\n })\n return res.setIn([paramToIdentifier(param), \"errors\"], fromJS(errors))\n }, paramMeta)\n })\n },\n [CLEAR_VALIDATE_PARAMS]: ( state, { payload: { pathMethod } } ) => {\n return state.updateIn( [ \"meta\", \"paths\", ...pathMethod, \"parameters\" ], fromJS([]), parameters => {\n return parameters.map(param => param.set(\"errors\", fromJS([])))\n })\n },\n\n [SET_RESPONSE]: (state, { payload: { res, path, method } } ) =>{\n let result\n if ( res.error ) {\n result = Object.assign({\n error: true,\n name: res.err.name,\n message: res.err.message,\n statusCode: res.err.statusCode\n }, res.err.response)\n } else {\n result = res\n }\n\n // Ensure headers\n result.headers = result.headers || {}\n\n let newState = state.setIn( [ \"responses\", path, method ], fromJSOrdered(result) )\n\n // ImmutableJS messes up Blob. Needs to reset its value.\n if (win.Blob && res.data instanceof win.Blob) {\n newState = newState.setIn( [ \"responses\", path, method, \"text\" ], res.data)\n }\n return newState\n },\n\n [SET_REQUEST]: (state, { payload: { req, path, method } } ) =>{\n return state.setIn( [ \"requests\", path, method ], fromJSOrdered(req))\n },\n\n [SET_MUTATED_REQUEST]: (state, { payload: { req, path, method } } ) =>{\n return state.setIn( [ \"mutatedRequests\", path, method ], fromJSOrdered(req))\n },\n\n [UPDATE_OPERATION_META_VALUE]: (state, { payload: { path, value, key } }) => {\n // path is a pathMethod tuple... can't change the name now.\n let operationPath = [\"paths\", ...path]\n let metaPath = [\"meta\", \"paths\", ...path]\n\n if(\n !state.getIn([\"json\", ...operationPath])\n && !state.getIn([\"resolved\", ...operationPath])\n && !state.getIn([\"resolvedSubtrees\", ...operationPath])\n ) {\n // do nothing if the operation does not exist\n return state\n }\n\n return state.setIn([...metaPath, key], fromJS(value))\n },\n\n [CLEAR_RESPONSE]: (state, { payload: { path, method } } ) =>{\n return state.deleteIn( [ \"responses\", path, method ])\n },\n\n [CLEAR_REQUEST]: (state, { payload: { path, method } } ) =>{\n return state.deleteIn( [ \"requests\", path, method ])\n },\n\n [SET_SCHEME]: (state, { payload: { scheme, path, method } } ) =>{\n if ( path && method ) {\n return state.setIn( [ \"scheme\", path, method ], scheme)\n }\n\n if (!path && !method) {\n return state.setIn( [ \"scheme\", \"_defaultScheme\" ], scheme)\n }\n\n }\n\n}\n","import { createSelector } from \"reselect\"\nimport { sorters } from \"core/utils\"\nimport { fromJS, Set, Map, OrderedMap, List } from \"immutable\"\nimport { paramToIdentifier } from \"../../utils\"\n\nconst DEFAULT_TAG = \"default\"\n\nconst OPERATION_METHODS = [\n \"get\", \"put\", \"post\", \"delete\", \"options\", \"head\", \"patch\", \"trace\"\n]\n\nconst state = state => {\n return state || Map()\n}\n\nexport const lastError = createSelector(\n state,\n spec => spec.get(\"lastError\")\n)\n\nexport const url = createSelector(\n state,\n spec => spec.get(\"url\")\n)\n\nexport const specStr = createSelector(\n state,\n spec => spec.get(\"spec\") || \"\"\n)\n\nexport const specSource = createSelector(\n state,\n spec => spec.get(\"specSource\") || \"not-editor\"\n)\n\nexport const specJson = createSelector(\n state,\n spec => spec.get(\"json\", Map())\n)\n\nexport const specResolved = createSelector(\n state,\n spec => spec.get(\"resolved\", Map())\n)\n\nexport const specResolvedSubtree = (state, path) => {\n return state.getIn([\"resolvedSubtrees\", ...path], undefined)\n}\n\nconst mergerFn = (oldVal, newVal) => {\n if(Map.isMap(oldVal) && Map.isMap(newVal)) {\n if(newVal.get(\"$$ref\")) {\n // resolver artifacts indicated that this key was directly resolved\n // so we should drop the old value entirely\n return newVal\n }\n\n return OrderedMap().mergeWith(\n mergerFn,\n oldVal,\n newVal\n )\n }\n\n return newVal\n}\n\nexport const specJsonWithResolvedSubtrees = createSelector(\n state,\n spec => OrderedMap().mergeWith(\n mergerFn,\n spec.get(\"json\"),\n spec.get(\"resolvedSubtrees\")\n )\n)\n\n// Default Spec ( as an object )\nexport const spec = state => {\n let res = specJson(state)\n return res\n}\n\nexport const isOAS3 = createSelector(\n // isOAS3 is stubbed out here to work around an issue with injecting more selectors\n // in the OAS3 plugin, and to ensure that the function is always available.\n // It's not perfect, but our hybrid (core+plugin code) implementation for OAS3\n // needs this. //KS\n spec,\n\t() => false\n)\n\nexport const info = createSelector(\n spec,\n\tspec => returnSelfOrNewMap(spec && spec.get(\"info\"))\n)\n\nexport const externalDocs = createSelector(\n spec,\n\tspec => returnSelfOrNewMap(spec && spec.get(\"externalDocs\"))\n)\n\nexport const version = createSelector(\n\tinfo,\n\tinfo => info && info.get(\"version\")\n)\n\nexport const semver = createSelector(\n\tversion,\n\tversion => /v?([0-9]*)\\.([0-9]*)\\.([0-9]*)/i.exec(version).slice(1)\n)\n\nexport const paths = createSelector(\n\tspecJsonWithResolvedSubtrees,\n\tspec => spec.get(\"paths\")\n)\n\nexport const operations = createSelector(\n paths,\n paths => {\n if(!paths || paths.size < 1)\n return List()\n\n let list = List()\n\n if(!paths || !paths.forEach) {\n return List()\n }\n\n paths.forEach((path, pathName) => {\n if(!path || !path.forEach) {\n return {}\n }\n path.forEach((operation, method) => {\n if(OPERATION_METHODS.indexOf(method) < 0) {\n return\n }\n list = list.push(fromJS({\n path: pathName,\n method,\n operation,\n id: `${method}-${pathName}`\n }))\n })\n })\n\n return list\n }\n)\n\nexport const consumes = createSelector(\n spec,\n spec => Set(spec.get(\"consumes\"))\n)\n\nexport const produces = createSelector(\n spec,\n spec => Set(spec.get(\"produces\"))\n)\n\nexport const security = createSelector(\n spec,\n spec => spec.get(\"security\", List())\n)\n\nexport const securityDefinitions = createSelector(\n spec,\n spec => spec.get(\"securityDefinitions\")\n)\n\n\nexport const findDefinition = ( state, name ) => {\n const resolvedRes = state.getIn([\"resolvedSubtrees\", \"definitions\", name], null)\n const unresolvedRes = state.getIn([\"json\", \"definitions\", name], null)\n return resolvedRes || unresolvedRes || null\n}\n\nexport const definitions = createSelector(\n spec,\n spec => {\n const res = spec.get(\"definitions\")\n return Map.isMap(res) ? res : Map()\n }\n)\n\nexport const basePath = createSelector(\n spec,\n spec => spec.get(\"basePath\")\n)\n\nexport const host = createSelector(\n spec,\n spec => spec.get(\"host\")\n)\n\nexport const schemes = createSelector(\n spec,\n spec => spec.get(\"schemes\", Map())\n)\n\nexport const operationsWithRootInherited = createSelector(\n operations,\n consumes,\n produces,\n (operations, consumes, produces) => {\n return operations.map( ops => ops.update(\"operation\", op => {\n if(op) {\n if(!Map.isMap(op)) { return }\n return op.withMutations( op => {\n if ( !op.get(\"consumes\") ) {\n op.update(\"consumes\", a => Set(a).merge(consumes))\n }\n if ( !op.get(\"produces\") ) {\n op.update(\"produces\", a => Set(a).merge(produces))\n }\n return op\n })\n } else {\n // return something with Immutable methods\n return Map()\n }\n\n }))\n }\n)\n\nexport const tags = createSelector(\n spec,\n json => {\n const tags = json.get(\"tags\", List())\n return List.isList(tags) ? tags.filter(tag => Map.isMap(tag)) : List()\n }\n)\n\nexport const tagDetails = (state, tag) => {\n let currentTags = tags(state) || List()\n return currentTags.filter(Map.isMap).find(t => t.get(\"name\") === tag, Map())\n}\n\nexport const operationsWithTags = createSelector(\n operationsWithRootInherited,\n tags,\n (operations, tags) => {\n return operations.reduce( (taggedMap, op) => {\n let tags = Set(op.getIn([\"operation\",\"tags\"]))\n if(tags.count() < 1)\n return taggedMap.update(DEFAULT_TAG, List(), ar => ar.push(op))\n return tags.reduce( (res, tag) => res.update(tag, List(), (ar) => ar.push(op)), taggedMap )\n }, tags.reduce( (taggedMap, tag) => {\n return taggedMap.set(tag.get(\"name\"), List())\n } , OrderedMap()))\n }\n)\n\nexport const taggedOperations = (state) => ({ getConfigs }) => {\n let { tagsSorter, operationsSorter } = getConfigs()\n return operationsWithTags(state)\n .sortBy(\n (val, key) => key, // get the name of the tag to be passed to the sorter\n (tagA, tagB) => {\n let sortFn = (typeof tagsSorter === \"function\" ? tagsSorter : sorters.tagsSorter[ tagsSorter ])\n return (!sortFn ? null : sortFn(tagA, tagB))\n }\n )\n .map((ops, tag) => {\n let sortFn = (typeof operationsSorter === \"function\" ? operationsSorter : sorters.operationsSorter[ operationsSorter ])\n let operations = (!sortFn ? ops : ops.sort(sortFn))\n\n return Map({ tagDetails: tagDetails(state, tag), operations: operations })\n })\n}\n\nexport const responses = createSelector(\n state,\n state => state.get( \"responses\", Map() )\n)\n\nexport const requests = createSelector(\n state,\n state => state.get( \"requests\", Map() )\n)\n\nexport const mutatedRequests = createSelector(\n state,\n state => state.get( \"mutatedRequests\", Map() )\n)\n\nexport const responseFor = (state, path, method) => {\n return responses(state).getIn([path, method], null)\n}\n\nexport const requestFor = (state, path, method) => {\n return requests(state).getIn([path, method], null)\n}\n\nexport const mutatedRequestFor = (state, path, method) => {\n return mutatedRequests(state).getIn([path, method], null)\n}\n\nexport const allowTryItOutFor = () => {\n // This is just a hook for now.\n return true\n}\n\nexport const parameterWithMetaByIdentity = (state, pathMethod, param) => {\n const opParams = specJsonWithResolvedSubtrees(state).getIn([\"paths\", ...pathMethod, \"parameters\"], OrderedMap())\n const metaParams = state.getIn([\"meta\", \"paths\", ...pathMethod, \"parameters\"], OrderedMap())\n\n const mergedParams = opParams.map((currentParam) => {\n const inNameKeyedMeta = metaParams.get(`${param.get(\"in\")}.${param.get(\"name\")}`)\n const hashKeyedMeta = metaParams.get(`${param.get(\"in\")}.${param.get(\"name\")}.hash-${param.hashCode()}`)\n return OrderedMap().merge(\n currentParam,\n inNameKeyedMeta,\n hashKeyedMeta\n )\n })\n return mergedParams.find(curr => curr.get(\"in\") === param.get(\"in\") && curr.get(\"name\") === param.get(\"name\"), OrderedMap())\n}\n\nexport const parameterInclusionSettingFor = (state, pathMethod, paramName, paramIn) => {\n const paramKey = `${paramIn}.${paramName}`\n return state.getIn([\"meta\", \"paths\", ...pathMethod, \"parameter_inclusions\", paramKey], false)\n}\n\n\nexport const parameterWithMeta = (state, pathMethod, paramName, paramIn) => {\n const opParams = specJsonWithResolvedSubtrees(state).getIn([\"paths\", ...pathMethod, \"parameters\"], OrderedMap())\n const currentParam = opParams.find(param => param.get(\"in\") === paramIn && param.get(\"name\") === paramName, OrderedMap())\n return parameterWithMetaByIdentity(state, pathMethod, currentParam)\n}\n\nexport const operationWithMeta = (state, path, method) => {\n const op = specJsonWithResolvedSubtrees(state).getIn([\"paths\", path, method], OrderedMap())\n const meta = state.getIn([\"meta\", \"paths\", path, method], OrderedMap())\n\n const mergedParams = op.get(\"parameters\", List()).map((param) => {\n return parameterWithMetaByIdentity(state, [path, method], param)\n })\n\n return OrderedMap()\n .merge(op, meta)\n .set(\"parameters\", mergedParams)\n}\n\n// Get the parameter value by parameter name\nexport function getParameter(state, pathMethod, name, inType) {\n pathMethod = pathMethod || []\n let params = state.getIn([\"meta\", \"paths\", ...pathMethod, \"parameters\"], fromJS([]))\n return params.find( (p) => {\n return Map.isMap(p) && p.get(\"name\") === name && p.get(\"in\") === inType\n }) || Map() // Always return a map\n}\n\nexport const hasHost = createSelector(\n spec,\n spec => {\n const host = spec.get(\"host\")\n return typeof host === \"string\" && host.length > 0 && host[0] !== \"/\"\n }\n)\n\n// Get the parameter values, that the user filled out\nexport function parameterValues(state, pathMethod, isXml) {\n pathMethod = pathMethod || []\n let paramValues = operationWithMeta(state, ...pathMethod).get(\"parameters\", List())\n return paramValues.reduce( (hash, p) => {\n let value = isXml && p.get(\"in\") === \"body\" ? p.get(\"value_xml\") : p.get(\"value\")\n return hash.set(paramToIdentifier(p, { allowHashes: false }), value)\n }, fromJS({}))\n}\n\n// True if any parameter includes `in: ?`\nexport function parametersIncludeIn(parameters, inValue=\"\") {\n if(List.isList(parameters)) {\n return parameters.some( p => Map.isMap(p) && p.get(\"in\") === inValue )\n }\n}\n\n// True if any parameter includes `type: ?`\nexport function parametersIncludeType(parameters, typeValue=\"\") {\n if(List.isList(parameters)) {\n return parameters.some( p => Map.isMap(p) && p.get(\"type\") === typeValue )\n }\n}\n\n// Get the consumes/produces value that the user selected\nexport function contentTypeValues(state, pathMethod) {\n pathMethod = pathMethod || []\n let op = specJsonWithResolvedSubtrees(state).getIn([\"paths\", ...pathMethod], fromJS({}))\n let meta = state.getIn([\"meta\", \"paths\", ...pathMethod], fromJS({}))\n let producesValue = currentProducesFor(state, pathMethod)\n\n const parameters = op.get(\"parameters\") || new List()\n\n const requestContentType = (\n meta.get(\"consumes_value\") ? meta.get(\"consumes_value\")\n : parametersIncludeType(parameters, \"file\") ? \"multipart/form-data\"\n : parametersIncludeType(parameters, \"formData\") ? \"application/x-www-form-urlencoded\"\n : undefined\n )\n\n return fromJS({\n requestContentType,\n responseContentType: producesValue\n })\n}\n\n// Get the currently selected produces value for an operation\nexport function currentProducesFor(state, pathMethod) {\n pathMethod = pathMethod || []\n\n const operation = specJsonWithResolvedSubtrees(state).getIn([ \"paths\", ...pathMethod], null)\n\n if(operation === null) {\n // return nothing if the operation does not exist\n return\n }\n\n const currentProducesValue = state.getIn([\"meta\", \"paths\", ...pathMethod, \"produces_value\"], null)\n const firstProducesArrayItem = operation.getIn([\"produces\", 0], null)\n\n return currentProducesValue || firstProducesArrayItem || \"application/json\"\n\n}\n\n// Get the produces options for an operation\nexport function producesOptionsFor(state, pathMethod) {\n pathMethod = pathMethod || []\n\n const spec = specJsonWithResolvedSubtrees(state)\n const operation = spec.getIn([ \"paths\", ...pathMethod], null)\n\n if(operation === null) {\n // return nothing if the operation does not exist\n return\n }\n\n const [path] = pathMethod\n\n const operationProduces = operation.get(\"produces\", null)\n const pathItemProduces = spec.getIn([\"paths\", path, \"produces\"], null)\n const globalProduces = spec.getIn([\"produces\"], null)\n\n return operationProduces || pathItemProduces || globalProduces\n}\n\n// Get the consumes options for an operation\nexport function consumesOptionsFor(state, pathMethod) {\n pathMethod = pathMethod || []\n\n const spec = specJsonWithResolvedSubtrees(state)\n const operation = spec.getIn([\"paths\", ...pathMethod], null)\n\n if (operation === null) {\n // return nothing if the operation does not exist\n return\n }\n\n const [path] = pathMethod\n\n const operationConsumes = operation.get(\"consumes\", null)\n const pathItemConsumes = spec.getIn([\"paths\", path, \"consumes\"], null)\n const globalConsumes = spec.getIn([\"consumes\"], null)\n\n return operationConsumes || pathItemConsumes || globalConsumes\n}\n\nexport const operationScheme = ( state, path, method ) => {\n let url = state.get(\"url\")\n let matchResult = url.match(/^([a-z][a-z0-9+\\-.]*):/)\n let urlScheme = Array.isArray(matchResult) ? matchResult[1] : null\n\n return state.getIn([\"scheme\", path, method]) || state.getIn([\"scheme\", \"_defaultScheme\"]) || urlScheme || \"\"\n}\n\nexport const canExecuteScheme = ( state, path, method ) => {\n return [\"http\", \"https\"].indexOf(operationScheme(state, path, method)) > -1\n}\n\nexport const validateBeforeExecute = ( state, pathMethod ) => {\n pathMethod = pathMethod || []\n let paramValues = state.getIn([\"meta\", \"paths\", ...pathMethod, \"parameters\"], fromJS([]))\n let isValid = true\n\n paramValues.forEach( (p) => {\n let errors = p.get(\"errors\")\n if ( errors && errors.count() ) {\n isValid = false\n }\n })\n\n return isValid\n}\n\nexport const getOAS3RequiredRequestBodyContentType = (state, pathMethod) => {\n let requiredObj = {\n requestBody: false,\n requestContentType: {}\n }\n let requestBody = state.getIn([\"resolvedSubtrees\", \"paths\", ...pathMethod, \"requestBody\"], fromJS([]))\n if (requestBody.size < 1) {\n return requiredObj\n }\n if (requestBody.getIn([\"required\"])) {\n requiredObj.requestBody = requestBody.getIn([\"required\"])\n }\n requestBody.getIn([\"content\"]).entrySeq().forEach((contentType) => { // e.g application/json\n const key = contentType[0]\n if (contentType[1].getIn([\"schema\", \"required\"])) {\n const val = contentType[1].getIn([\"schema\", \"required\"]).toJS()\n requiredObj.requestContentType[key] = val\n }\n })\n return requiredObj\n}\n\nexport const isMediaTypeSchemaPropertiesEqual = ( state, pathMethod, currentMediaType, targetMediaType) => {\n if((currentMediaType || targetMediaType) && currentMediaType === targetMediaType ) {\n return true\n }\n let requestBodyContent = state.getIn([\"resolvedSubtrees\", \"paths\", ...pathMethod, \"requestBody\", \"content\"], fromJS([]))\n if (requestBodyContent.size < 2 || !currentMediaType || !targetMediaType) {\n // nothing to compare\n return false\n }\n let currentMediaTypeSchemaProperties = requestBodyContent.getIn([currentMediaType, \"schema\", \"properties\"], fromJS([]))\n let targetMediaTypeSchemaProperties = requestBodyContent.getIn([targetMediaType, \"schema\", \"properties\"], fromJS([]))\n return !!currentMediaTypeSchemaProperties.equals(targetMediaTypeSchemaProperties)\n}\n\nfunction returnSelfOrNewMap(obj) {\n // returns obj if obj is an Immutable map, else returns a new Map\n return Map.isMap(obj) ? obj : new Map()\n}\n","import get from \"lodash/get\"\n\nexport const updateSpec = (ori, {specActions}) => (...args) => {\n ori(...args)\n specActions.parseToJson(...args)\n}\n\nexport const updateJsonSpec = (ori, {specActions}) => (...args) => {\n ori(...args)\n\n specActions.invalidateResolvedSubtreeCache()\n\n // Trigger resolution of any path-level $refs.\n const [json] = args\n const pathItems = get(json, [\"paths\"]) || {}\n const pathItemKeys = Object.keys(pathItems)\n\n pathItemKeys.forEach(k => {\n const val = get(pathItems, [k])\n\n if(val.$ref) {\n specActions.requestResolvedSubtree([\"paths\", k])\n }\n })\n\n // Trigger resolution of any securitySchemes-level $refs.\n specActions.requestResolvedSubtree([\"components\", \"securitySchemes\"])\n}\n\n// Log the request ( just for debugging, shouldn't affect prod )\nexport const executeRequest = (ori, { specActions }) => (req) => {\n specActions.logRequest(req)\n return ori(req)\n}\n\nexport const validateParams = (ori, { specSelectors }) => (req) => {\n return ori(req, specSelectors.isOAS3())\n}\n","export const loaded = (ori, system) => (...args) => {\n ori(...args)\n const value = system.getConfigs().withCredentials\n \n if(value !== undefined) {\n system.fn.fetch.withCredentials = typeof value === \"string\" ? (value === \"true\") : !!value\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_f879c638__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"buildRequest\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_execute_d486d3d6__.buildRequest, [\"execute\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_execute_d486d3d6__.execute });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_http_69655560__[\"default\"], [\"makeHttp\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_http_69655560__.makeHttp, [\"serializeRes\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_http_69655560__.serializeRes });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_subtree_resolver_741cb9d9__[\"default\"] });","import resolve from \"swagger-client/es/resolver\"\nimport { execute, buildRequest } from \"swagger-client/es/execute\"\nimport Http, { makeHttp, serializeRes } from \"swagger-client/es/http\"\nimport resolveSubtree from \"swagger-client/es/subtree-resolver\"\nimport { opId } from \"swagger-client/es/helpers\"\nimport { loaded } from \"./configs-wrap-actions\"\n\nexport default function({ configs, getConfigs }) {\n return {\n fn: {\n fetch: makeHttp(Http, configs.preFetch, configs.postFetch),\n buildRequest,\n execute,\n resolve,\n resolveSubtree: (obj, path, opts, ...rest) => {\n if(opts === undefined) {\n const freshConfigs = getConfigs()\n opts = {\n modelPropertyMacro: freshConfigs.modelPropertyMacro,\n parameterMacro: freshConfigs.parameterMacro,\n requestInterceptor: freshConfigs.requestInterceptor,\n responseInterceptor: freshConfigs.responseInterceptor\n }\n }\n\n return resolveSubtree(obj, path, opts, ...rest)\n },\n serializeRes,\n opId\n },\n statePlugins: {\n configs: {\n wrapActions: {\n loaded,\n }\n }\n },\n }\n}\n","import { shallowEqualKeys } from \"core/utils\"\n\nexport default function() {\n return {\n fn: { shallowEqualKeys }\n }\n}\n","export const getDisplayName = (WrappedComponent) => WrappedComponent.displayName || WrappedComponent.name || \"Component\"\n","import { memoize } from \"core/utils\"\n\nimport { getComponent, render, withMappedContainer } from \"./root-injects\"\nimport { getDisplayName } from \"./fn\"\nimport memoizeN from \"../../../helpers/memoizeN\"\n\nconst memoizeForGetComponent = (fn) => {\n const resolver = (...args) => JSON.stringify(args)\n return memoize(fn, resolver)\n}\n\nconst memoizeForWithMappedContainer = (fn) => {\n const resolver = (...args) => args\n return memoizeN(fn, resolver)\n}\n\nconst viewPlugin = ({getComponents, getStore, getSystem}) => {\n // getComponent should be passed into makeMappedContainer, _already_ memoized... otherwise we have a big performance hit ( think, really big )\n const memGetComponent = memoizeForGetComponent(getComponent(getSystem, getStore, getComponents))\n const memMakeMappedContainer = memoizeForWithMappedContainer(withMappedContainer(getSystem, getStore, memGetComponent))\n\n return {\n rootInjects: {\n getComponent: memGetComponent,\n makeMappedContainer: memMakeMappedContainer,\n render: render(getSystem, getStore, getComponent, getComponents),\n },\n fn: {\n getDisplayName,\n },\n }\n}\n\nexport default viewPlugin\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_dom_7dac9eee__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Provider\"]: () => __WEBPACK_EXTERNAL_MODULE_react_redux_87be03b0__.Provider, [\"connect\"]: () => __WEBPACK_EXTERNAL_MODULE_react_redux_87be03b0__.connect });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_omit_d930e0f3__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_identity_75ffe4a7__[\"default\"] });","import React, { Component } from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { compose } from \"redux\"\nimport { connect, Provider } from \"react-redux\"\nimport omit from \"lodash/omit\"\nimport identity from \"lodash/identity\"\n\nconst withSystem = (getSystem) => (WrappedComponent) => {\n const { fn } = getSystem()\n\n class WithSystem extends Component {\n render() {\n return <WrappedComponent {...getSystem()} {...this.props} {...this.context} />\n }\n }\n WithSystem.displayName = `WithSystem(${fn.getDisplayName(WrappedComponent)})`\n return WithSystem\n}\n\nconst withRoot = (getSystem, reduxStore) => (WrappedComponent) => {\n const { fn } = getSystem()\n\n class WithRoot extends Component {\n render() {\n return (\n <Provider store={reduxStore}>\n <WrappedComponent {...this.props} {...this.context} />\n </Provider>\n )\n }\n }\n WithRoot.displayName = `WithRoot(${fn.getDisplayName(WrappedComponent)})`\n return WithRoot\n}\n\nconst withConnect = (getSystem, WrappedComponent, reduxStore) => {\n const mapStateToProps = (state, ownProps) => {\n const props = {...ownProps, ...getSystem()}\n const customMapStateToProps = WrappedComponent.prototype?.mapStateToProps || (state => ({state}))\n return customMapStateToProps(state, props)\n }\n\n return compose(\n reduxStore ? withRoot(getSystem, reduxStore) : identity,\n connect(mapStateToProps),\n withSystem(getSystem),\n )(WrappedComponent)\n}\n\nconst handleProps = (getSystem, mapping, props, oldProps) => {\n for (const prop in mapping) {\n const fn = mapping[prop]\n\n if (typeof fn === \"function\") {\n fn(props[prop], oldProps[prop], getSystem())\n }\n }\n}\n\nexport const withMappedContainer = (getSystem, getStore, memGetComponent) => (componentName, mapping) => {\n const { fn } = getSystem()\n const WrappedComponent = memGetComponent(componentName, \"root\")\n\n class WithMappedContainer extends Component {\n constructor(props, context) {\n super(props, context)\n handleProps(getSystem, mapping, props, {})\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n handleProps(getSystem, mapping, nextProps, this.props)\n }\n\n render() {\n const cleanProps = omit(this.props, mapping ? Object.keys(mapping) : [])\n return <WrappedComponent {...cleanProps} />\n }\n }\n WithMappedContainer.displayName = `WithMappedContainer(${fn.getDisplayName(WrappedComponent)})`\n return WithMappedContainer\n}\n\nexport const render = (getSystem, getStore, getComponent, getComponents) => (domNode) => {\n const App = getComponent(getSystem, getStore, getComponents)(\"App\", \"root\")\n ReactDOM.render(<App/>, domNode)\n}\n\nexport const getComponent = (getSystem, getStore, getComponents) => (componentName, container, config = {}) => {\n\n if (typeof componentName !== \"string\")\n throw new TypeError(\"Need a string, to fetch a component. Was given a \" + typeof componentName)\n\n // getComponent has a config object as a third, optional parameter\n // using the config object requires the presence of the second parameter, container\n // e.g. getComponent(\"JsonSchema_string_whatever\", false, { failSilently: true })\n const component = getComponents(componentName)\n\n if (!component) {\n if (!config.failSilently) {\n getSystem().log.warn(\"Could not find component:\", componentName)\n }\n return null\n }\n\n if(!container) {\n return component\n }\n\n if(container === \"root\") {\n return withConnect(getSystem, component, getStore())\n }\n\n // container == truthy\n return withConnect(getSystem, component)\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_light_746e1958__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_javascript_e22911f7__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_json_b876afc5__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_xml_a81c807b__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_bash_1621c621__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_yaml_02838f34__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_http_4e924b23__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_powershell_d51eb4f6__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_agate_99a46aa2__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_arta_570691fc__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_monokai_2529bafb__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_nord_5bfa1099__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_obsidian_a278dd52__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_tomorrow_night_63765df9__[\"default\"] });","import SyntaxHighlighter from \"react-syntax-highlighter/dist/esm/light\"\nimport js from \"react-syntax-highlighter/dist/esm/languages/hljs/javascript\"\nimport json from \"react-syntax-highlighter/dist/esm/languages/hljs/json\"\nimport xml from \"react-syntax-highlighter/dist/esm/languages/hljs/xml\"\nimport bash from \"react-syntax-highlighter/dist/esm/languages/hljs/bash\"\nimport yaml from \"react-syntax-highlighter/dist/esm/languages/hljs/yaml\"\nimport http from \"react-syntax-highlighter/dist/esm/languages/hljs/http\"\nimport powershell from \"react-syntax-highlighter/dist/esm/languages/hljs/powershell\"\nimport javascript from \"react-syntax-highlighter/dist/esm/languages/hljs/javascript\"\n\nimport agate from \"react-syntax-highlighter/dist/esm/styles/hljs/agate\"\nimport arta from \"react-syntax-highlighter/dist/esm/styles/hljs/arta\"\nimport monokai from \"react-syntax-highlighter/dist/esm/styles/hljs/monokai\"\nimport nord from \"react-syntax-highlighter/dist/esm/styles/hljs/nord\"\nimport obsidian from \"react-syntax-highlighter/dist/esm/styles/hljs/obsidian\"\nimport tomorrowNight from \"react-syntax-highlighter/dist/esm/styles/hljs/tomorrow-night\"\n\nSyntaxHighlighter.registerLanguage(\"json\", json)\nSyntaxHighlighter.registerLanguage(\"js\", js)\nSyntaxHighlighter.registerLanguage(\"xml\", xml)\nSyntaxHighlighter.registerLanguage(\"yaml\", yaml)\nSyntaxHighlighter.registerLanguage(\"http\", http)\nSyntaxHighlighter.registerLanguage(\"bash\", bash)\nSyntaxHighlighter.registerLanguage(\"powershell\", powershell)\nSyntaxHighlighter.registerLanguage(\"javascript\", javascript)\n\nconst styles = {agate, arta, monokai, nord, obsidian, \"tomorrow-night\": tomorrowNight}\nexport const availableStyles = Object.keys(styles)\n\nexport const getStyle = name => {\n if (!availableStyles.includes(name)) {\n console.warn(`Request style '${name}' is not available, returning default instead`)\n return agate\n }\n return styles[name]\n}\n\nexport {SyntaxHighlighter, styles}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"sanitizeUrl\"]: () => __WEBPACK_EXTERNAL_MODULE__braintree_sanitize_url_2340607f__.sanitizeUrl });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_camelCase_81fadc19__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_upperFirst_9993ecb4__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_find_e8ecc2cb__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_some_5cd47809__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_eq_b41b823a__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_css_escape_2d301448__[\"default\"] });","/*\n ATTENTION! This file (but not the functions within) is deprecated.\n\n You should probably add a new file to `./helpers/` instead of adding a new\n function here.\n\n One-function-per-file is a better pattern than what we have here.\n\n If you're refactoring something in here, feel free to break it out to a file\n in `./helpers` if you have the time.\n*/\n\nimport Im, { fromJS, Set } from \"immutable\"\nimport { sanitizeUrl as braintreeSanitizeUrl } from \"@braintree/sanitize-url\"\nimport camelCase from \"lodash/camelCase\"\nimport upperFirst from \"lodash/upperFirst\"\nimport _memoize from \"lodash/memoize\"\nimport find from \"lodash/find\"\nimport some from \"lodash/some\"\nimport eq from \"lodash/eq\"\nimport isFunction from \"lodash/isFunction\"\nimport { memoizedSampleFromSchema, memoizedCreateXMLExample } from \"core/plugins/samples/fn\"\nimport win from \"./window\"\nimport cssEscape from \"css.escape\"\nimport getParameterSchema from \"../helpers/get-parameter-schema\"\nimport randomBytes from \"randombytes\"\nimport shaJs from \"sha.js\"\nimport YAML, { JSON_SCHEMA } from \"js-yaml\"\n\n\nconst DEFAULT_RESPONSE_KEY = \"default\"\n\nexport const isImmutable = (maybe) => Im.Iterable.isIterable(maybe)\n\nexport function objectify (thing) {\n if(!isObject(thing))\n return {}\n if(isImmutable(thing))\n return thing.toJS()\n return thing\n}\n\nexport function arrayify (thing) {\n if(!thing)\n return []\n\n if(thing.toArray)\n return thing.toArray()\n\n return normalizeArray(thing)\n}\n\nexport function fromJSOrdered(js) {\n if (isImmutable(js)) {\n return js // Can't do much here\n }\n if (js instanceof win.File) {\n return js\n }\n if (!isObject(js)) {\n return js\n }\n if (Array.isArray(js)) {\n return Im.Seq(js).map(fromJSOrdered).toList()\n }\n if (isFunction(js.entries)) {\n // handle multipart/form-data\n const objWithHashedKeys = createObjWithHashedKeys(js)\n return Im.OrderedMap(objWithHashedKeys).map(fromJSOrdered)\n }\n return Im.OrderedMap(js).map(fromJSOrdered)\n}\n\n/**\n * Convert a FormData object into plain object\n * Append a hashIdx and counter to the key name, if multiple exists\n * if single, key name = <original>\n * if multiple, key name = <original><hashIdx><count>\n * @example <caption>single entry for vegetable</caption>\n * fdObj.entries.vegtables: \"carrot\"\n * // returns newObj.vegetables : \"carrot\"\n * @example <caption>multiple entries for fruits[]</caption>\n * fdObj.entries.fruits[]: \"apple\"\n * // returns newObj.fruits[]_**[]1 : \"apple\"\n * fdObj.entries.fruits[]: \"banana\"\n * // returns newObj.fruits[]_**[]2 : \"banana\"\n * fdObj.entries.fruits[]: \"grape\"\n * // returns newObj.fruits[]_**[]3 : \"grape\"\n * @param {FormData} fdObj - a FormData object\n * @return {Object} - a plain object\n */\nexport function createObjWithHashedKeys (fdObj) {\n if (!isFunction(fdObj.entries)) {\n return fdObj // not a FormData object with iterable\n }\n const newObj = {}\n const hashIdx = \"_**[]\" // our internal identifier\n const trackKeys = {}\n for (let pair of fdObj.entries()) {\n if (!newObj[pair[0]] && !(trackKeys[pair[0]] && trackKeys[pair[0]].containsMultiple)) {\n newObj[pair[0]] = pair[1] // first key name: no hash required\n } else {\n if (!trackKeys[pair[0]]) {\n // initiate tracking key for multiple\n trackKeys[pair[0]] = {\n containsMultiple: true,\n length: 1\n }\n // \"reassign\" first pair to matching hashed format for multiple\n let hashedKeyFirst = `${pair[0]}${hashIdx}${trackKeys[pair[0]].length}`\n newObj[hashedKeyFirst] = newObj[pair[0]]\n // remove non-hashed key of multiple\n delete newObj[pair[0]] // first\n }\n trackKeys[pair[0]].length += 1\n let hashedKeyCurrent = `${pair[0]}${hashIdx}${trackKeys[pair[0]].length}`\n newObj[hashedKeyCurrent] = pair[1]\n }\n }\n return newObj\n}\n\nexport function bindToState(obj, state) {\n\tvar newObj = {}\n\tObject.keys(obj)\n .filter(key => typeof obj[key] === \"function\")\n .forEach(key => newObj[key] = obj[key].bind(null, state))\n\treturn newObj\n}\n\nexport function normalizeArray(arr) {\n if(Array.isArray(arr))\n return arr\n return [arr]\n}\n\nexport function isFn(fn) {\n return typeof fn === \"function\"\n}\n\nexport function isObject(obj) {\n return !!obj && typeof obj === \"object\"\n}\n\nexport function isFunc(thing) {\n return typeof(thing) === \"function\"\n}\n\nexport function isArray(thing) {\n return Array.isArray(thing)\n}\n\n// I've changed memoize libs more than once, so I'm using this a way to make that simpler\nexport const memoize = _memoize\n\nexport function objMap(obj, fn) {\n return Object.keys(obj).reduce((newObj, key) => {\n newObj[key] = fn(obj[key], key)\n return newObj\n }, {})\n}\n\nexport function objReduce(obj, fn) {\n return Object.keys(obj).reduce((newObj, key) => {\n let res = fn(obj[key], key)\n if(res && typeof res === \"object\")\n Object.assign(newObj, res)\n return newObj\n }, {})\n}\n\n// Redux middleware that exposes the system to async actions (like redux-thunk, but with out system instead of (dispatch, getState)\nexport function systemThunkMiddleware(getSystem) {\n return ({ dispatch, getState }) => { // eslint-disable-line no-unused-vars\n return next => action => {\n if (typeof action === \"function\") {\n return action(getSystem())\n }\n\n return next(action)\n }\n }\n}\n\nexport function defaultStatusCode ( responses ) {\n let codes = responses.keySeq()\n return codes.contains(DEFAULT_RESPONSE_KEY) ? DEFAULT_RESPONSE_KEY : codes.filter( key => (key+\"\")[0] === \"2\").sort().first()\n}\n\n\n/**\n * Returns an Immutable List, safely\n * @param {Immutable.Iterable} iterable the iterable to get the key from\n * @param {String|[String]} key either an array of keys, or a single key\n * @returns {Immutable.List} either iterable.get(keys) or an empty Immutable.List\n */\nexport function getList(iterable, keys) {\n if(!Im.Iterable.isIterable(iterable)) {\n return Im.List()\n }\n let val = iterable.getIn(Array.isArray(keys) ? keys : [keys])\n return Im.List.isList(val) ? val : Im.List()\n}\n\n/**\n * Take an immutable map, and convert to a list.\n * Where the keys are merged with the value objects\n * @param {Immutable.Map} map, the map to convert\n * @param {String} key the key to use, when merging the `key`\n * @returns {Immutable.List}\n */\nexport function mapToList(map, keyNames=\"key\", collectedKeys=Im.Map()) {\n if(!Im.Map.isMap(map) || !map.size) {\n return Im.List()\n }\n\n if(!Array.isArray(keyNames)) {\n keyNames = [ keyNames ]\n }\n\n if(keyNames.length < 1) {\n return map.merge(collectedKeys)\n }\n\n // I need to avoid `flatMap` from merging in the Maps, as well as the lists\n let list = Im.List()\n let keyName = keyNames[0]\n for(let entry of map.entries()) {\n let [key, val] = entry\n let nextList = mapToList(val, keyNames.slice(1), collectedKeys.set(keyName, key))\n if(Im.List.isList(nextList)) {\n list = list.concat(nextList)\n } else {\n list = list.push(nextList)\n }\n }\n\n return list\n}\n\nexport function extractFileNameFromContentDispositionHeader(value){\n let patterns = [\n /filename\\*=[^']+'\\w*'\"([^\"]+)\";?/i,\n /filename\\*=[^']+'\\w*'([^;]+);?/i,\n /filename=\"([^;]*);?\"/i,\n /filename=([^;]*);?/i\n ]\n\n let responseFilename\n patterns.some(regex => {\n responseFilename = regex.exec(value)\n return responseFilename !== null\n })\n\n if (responseFilename !== null && responseFilename.length > 1) {\n try {\n return decodeURIComponent(responseFilename[1])\n } catch(e) {\n console.error(e)\n }\n }\n\n return null\n}\n\n// PascalCase, aka UpperCamelCase\nexport function pascalCase(str) {\n return upperFirst(camelCase(str))\n}\n\n// Remove the ext of a filename, and pascalCase it\nexport function pascalCaseFilename(filename) {\n return pascalCase(filename.replace(/\\.[^./]*$/, \"\"))\n}\n\n// Check if ...\n// - new props\n// - If immutable, use .is()\n// - if in explicit objectList, then compare using _.eq\n// - else use ===\nexport const propChecker = (props, nextProps, objectList=[], ignoreList=[]) => {\n\n if(Object.keys(props).length !== Object.keys(nextProps).length) {\n return true\n }\n\n return (\n some(props, (a, name) => {\n if(ignoreList.includes(name)) {\n return false\n }\n let b = nextProps[name]\n\n if(Im.Iterable.isIterable(a)) {\n return !Im.is(a,b)\n }\n\n // Not going to compare objects\n if(typeof a === \"object\" && typeof b === \"object\") {\n return false\n }\n\n return a !== b\n })\n || objectList.some( objectPropName => !eq(props[objectPropName], nextProps[objectPropName])))\n}\n\nexport const validateMaximum = ( val, max ) => {\n if (val > max) {\n return `Value must be less than ${max}`\n }\n}\n\nexport const validateMinimum = ( val, min ) => {\n if (val < min) {\n return `Value must be greater than ${min}`\n }\n}\n\nexport const validateNumber = ( val ) => {\n if (!/^-?\\d+(\\.?\\d+)?$/.test(val)) {\n return \"Value must be a number\"\n }\n}\n\nexport const validateInteger = ( val ) => {\n if (!/^-?\\d+$/.test(val)) {\n return \"Value must be an integer\"\n }\n}\n\nexport const validateFile = ( val ) => {\n if ( val && !(val instanceof win.File) ) {\n return \"Value must be a file\"\n }\n}\n\nexport const validateBoolean = ( val ) => {\n if ( !(val === \"true\" || val === \"false\" || val === true || val === false) ) {\n return \"Value must be a boolean\"\n }\n}\n\nexport const validateString = ( val ) => {\n if ( val && typeof val !== \"string\" ) {\n return \"Value must be a string\"\n }\n}\n\nexport const validateDateTime = (val) => {\n if (isNaN(Date.parse(val))) {\n return \"Value must be a DateTime\"\n }\n}\n\nexport const validateGuid = (val) => {\n val = val.toString().toLowerCase()\n if (!/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(val)) {\n return \"Value must be a Guid\"\n }\n}\n\nexport const validateMaxLength = (val, max) => {\n if (val.length > max) {\n return `Value must be no longer than ${max} character${max !== 1 ? \"s\" : \"\"}`\n }\n}\n\nexport const validateUniqueItems = (val, uniqueItems) => {\n if (!val) {\n return\n }\n if (uniqueItems === \"true\" || uniqueItems === true) {\n const list = fromJS(val)\n const set = list.toSet()\n const hasDuplicates = val.length > set.size\n if(hasDuplicates) {\n let errorsPerIndex = Set()\n list.forEach((item, i) => {\n if(list.filter(v => isFunc(v.equals) ? v.equals(item) : v === item).size > 1) {\n errorsPerIndex = errorsPerIndex.add(i)\n }\n })\n if(errorsPerIndex.size !== 0) {\n return errorsPerIndex.map(i => ({index: i, error: \"No duplicates allowed.\"})).toArray()\n }\n }\n }\n}\n\nexport const validateMinItems = (val, min) => {\n if (!val && min >= 1 || val && val.length < min) {\n return `Array must contain at least ${min} item${min === 1 ? \"\" : \"s\"}`\n }\n}\n\nexport const validateMaxItems = (val, max) => {\n if (val && val.length > max) {\n return `Array must not contain more then ${max} item${max === 1 ? \"\" : \"s\"}`\n }\n}\n\nexport const validateMinLength = (val, min) => {\n if (val.length < min) {\n return `Value must be at least ${min} character${min !== 1 ? \"s\" : \"\"}`\n }\n}\n\nexport const validatePattern = (val, rxPattern) => {\n var patt = new RegExp(rxPattern)\n if (!patt.test(val)) {\n return \"Value must follow pattern \" + rxPattern\n }\n}\n\nfunction validateValueBySchema(value, schema, requiredByParam, bypassRequiredCheck, parameterContentMediaType) {\n if(!schema) return []\n let errors = []\n let nullable = schema.get(\"nullable\")\n let requiredBySchema = schema.get(\"required\")\n let maximum = schema.get(\"maximum\")\n let minimum = schema.get(\"minimum\")\n let type = schema.get(\"type\")\n let format = schema.get(\"format\")\n let maxLength = schema.get(\"maxLength\")\n let minLength = schema.get(\"minLength\")\n let uniqueItems = schema.get(\"uniqueItems\")\n let maxItems = schema.get(\"maxItems\")\n let minItems = schema.get(\"minItems\")\n let pattern = schema.get(\"pattern\")\n\n const schemaRequiresValue = requiredByParam || requiredBySchema === true\n const hasValue = value !== undefined && value !== null\n const isValidEmpty = !schemaRequiresValue && !hasValue\n\n const needsExplicitConstraintValidation = hasValue && type === \"array\"\n\n const requiresFurtherValidation =\n schemaRequiresValue\n || needsExplicitConstraintValidation\n || !isValidEmpty\n\n const isValidNullable = nullable && value === null\n\n // will not be included in the request or [schema / value] does not [allow / require] further analysis.\n const noFurtherValidationNeeded =\n isValidNullable\n || !type\n || !requiresFurtherValidation\n\n if(noFurtherValidationNeeded) {\n return []\n }\n\n // Further this point the parameter is considered worth to validate\n let stringCheck = type === \"string\" && value\n let arrayCheck = type === \"array\" && Array.isArray(value) && value.length\n let arrayListCheck = type === \"array\" && Im.List.isList(value) && value.count()\n let arrayStringCheck = type === \"array\" && typeof value === \"string\" && value\n let fileCheck = type === \"file\" && value instanceof win.File\n let booleanCheck = type === \"boolean\" && (value || value === false)\n let numberCheck = type === \"number\" && (value || value === 0)\n let integerCheck = type === \"integer\" && (value || value === 0)\n let objectCheck = type === \"object\" && typeof value === \"object\" && value !== null\n let objectStringCheck = type === \"object\" && typeof value === \"string\" && value\n\n const allChecks = [\n stringCheck, arrayCheck, arrayListCheck, arrayStringCheck, fileCheck,\n booleanCheck, numberCheck, integerCheck, objectCheck, objectStringCheck,\n ]\n\n const passedAnyCheck = allChecks.some(v => !!v)\n\n if (schemaRequiresValue && !passedAnyCheck && !bypassRequiredCheck) {\n errors.push(\"Required field is not provided\")\n return errors\n }\n if (\n type === \"object\" &&\n (parameterContentMediaType === null ||\n parameterContentMediaType === \"application/json\")\n ) {\n let objectVal = value\n if(typeof value === \"string\") {\n try {\n objectVal = JSON.parse(value)\n } catch (e) {\n errors.push(\"Parameter string value must be valid JSON\")\n return errors\n }\n }\n if(schema && schema.has(\"required\") && isFunc(requiredBySchema.isList) && requiredBySchema.isList()) {\n requiredBySchema.forEach(key => {\n if(objectVal[key] === undefined) {\n errors.push({ propKey: key, error: \"Required property not found\" })\n }\n })\n }\n if(schema && schema.has(\"properties\")) {\n schema.get(\"properties\").forEach((val, key) => {\n const errs = validateValueBySchema(objectVal[key], val, false, bypassRequiredCheck, parameterContentMediaType)\n errors.push(...errs\n .map((error) => ({ propKey: key, error })))\n })\n }\n }\n\n if (pattern) {\n let err = validatePattern(value, pattern)\n if (err) errors.push(err)\n }\n\n if (minItems) {\n if (type === \"array\") {\n let err = validateMinItems(value, minItems)\n if (err) errors.push(err)\n }\n }\n\n if (maxItems) {\n if (type === \"array\") {\n let err = validateMaxItems(value, maxItems)\n if (err) errors.push({ needRemove: true, error: err })\n }\n }\n\n if (uniqueItems) {\n if (type === \"array\") {\n let errorPerItem = validateUniqueItems(value, uniqueItems)\n if (errorPerItem) errors.push(...errorPerItem)\n }\n }\n\n if (maxLength || maxLength === 0) {\n let err = validateMaxLength(value, maxLength)\n if (err) errors.push(err)\n }\n\n if (minLength) {\n let err = validateMinLength(value, minLength)\n if (err) errors.push(err)\n }\n\n if (maximum || maximum === 0) {\n let err = validateMaximum(value, maximum)\n if (err) errors.push(err)\n }\n\n if (minimum || minimum === 0) {\n let err = validateMinimum(value, minimum)\n if (err) errors.push(err)\n }\n\n if (type === \"string\") {\n let err\n if (format === \"date-time\") {\n err = validateDateTime(value)\n } else if (format === \"uuid\") {\n err = validateGuid(value)\n } else {\n err = validateString(value)\n }\n if (!err) return errors\n errors.push(err)\n } else if (type === \"boolean\") {\n let err = validateBoolean(value)\n if (!err) return errors\n errors.push(err)\n } else if (type === \"number\") {\n let err = validateNumber(value)\n if (!err) return errors\n errors.push(err)\n } else if (type === \"integer\") {\n let err = validateInteger(value)\n if (!err) return errors\n errors.push(err)\n } else if (type === \"array\") {\n if (!(arrayCheck || arrayListCheck)) {\n return errors\n }\n if(value) {\n value.forEach((item, i) => {\n const errs = validateValueBySchema(item, schema.get(\"items\"), false, bypassRequiredCheck, parameterContentMediaType)\n errors.push(...errs\n .map((err) => ({ index: i, error: err })))\n })\n }\n } else if (type === \"file\") {\n let err = validateFile(value)\n if (!err) return errors\n errors.push(err)\n }\n\n return errors\n}\n\n// validation of parameters before execute\nexport const validateParam = (param, value, { isOAS3 = false, bypassRequiredCheck = false } = {}) => {\n\n let paramRequired = param.get(\"required\")\n\n let { schema: paramDetails, parameterContentMediaType } = getParameterSchema(param, { isOAS3 })\n\n return validateValueBySchema(value, paramDetails, paramRequired, bypassRequiredCheck, parameterContentMediaType)\n}\n\nconst getXmlSampleSchema = (schema, config, exampleOverride) => {\n if (schema && (!schema.xml || !schema.xml.name)) {\n schema.xml = schema.xml || {}\n\n if (schema.$$ref) {\n let match = schema.$$ref.match(/\\S*\\/(\\S+)$/)\n schema.xml.name = match[1]\n } else if (schema.type || schema.items || schema.properties || schema.additionalProperties) {\n return \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<!-- XML example cannot be generated; root element name is undefined -->\"\n } else {\n return null\n }\n }\n return memoizedCreateXMLExample(schema, config, exampleOverride)\n}\n\nconst shouldStringifyTypesConfig = [\n {\n when: /json/,\n shouldStringifyTypes: [\"string\"]\n }\n]\n\nconst defaultStringifyTypes = [\"object\"]\n\nconst getStringifiedSampleForSchema = (schema, config, contentType, exampleOverride) => {\n const res = memoizedSampleFromSchema(schema, config, exampleOverride)\n const resType = typeof res\n\n const typesToStringify = shouldStringifyTypesConfig.reduce(\n (types, nextConfig) => nextConfig.when.test(contentType)\n ? [...types, ...nextConfig.shouldStringifyTypes]\n : types,\n defaultStringifyTypes)\n\n return some(typesToStringify, x => x === resType)\n ? JSON.stringify(res, null, 2)\n : res\n}\n\nconst getYamlSampleSchema = (schema, config, contentType, exampleOverride) => {\n const jsonExample = getStringifiedSampleForSchema(schema, config, contentType, exampleOverride)\n let yamlString\n try {\n yamlString = YAML.dump(YAML.load(jsonExample), {\n\n lineWidth: -1 // don't generate line folds\n }, { schema: JSON_SCHEMA })\n if(yamlString[yamlString.length - 1] === \"\\n\") {\n yamlString = yamlString.slice(0, yamlString.length - 1)\n }\n } catch (e) {\n console.error(e)\n return \"error: could not generate yaml example\"\n }\n return yamlString\n .replace(/\\t/g, \" \")\n}\n\nexport const getSampleSchema = (schema, contentType=\"\", config={}, exampleOverride = undefined) => {\n if(schema && isFunc(schema.toJS))\n schema = schema.toJS()\n if(exampleOverride && isFunc(exampleOverride.toJS))\n exampleOverride = exampleOverride.toJS()\n\n if (/xml/.test(contentType)) {\n return getXmlSampleSchema(schema, config, exampleOverride)\n }\n if (/(yaml|yml)/.test(contentType)) {\n return getYamlSampleSchema(schema, config, contentType, exampleOverride)\n }\n return getStringifiedSampleForSchema(schema, config, contentType, exampleOverride)\n}\n\nexport const parseSearch = () => {\n let map = {}\n let search = win.location.search\n\n if(!search)\n return {}\n\n if ( search != \"\" ) {\n let params = search.substr(1).split(\"&\")\n\n for (let i in params) {\n if (!Object.prototype.hasOwnProperty.call(params, i)) {\n continue\n }\n i = params[i].split(\"=\")\n map[decodeURIComponent(i[0])] = (i[1] && decodeURIComponent(i[1])) || \"\"\n }\n }\n\n return map\n}\n\nexport const serializeSearch = (searchMap) => {\n return Object.keys(searchMap).map(k => {\n return encodeURIComponent(k) + \"=\" + encodeURIComponent(searchMap[k])\n }).join(\"&\")\n}\n\nexport const btoa = (str) => {\n let buffer\n\n if (str instanceof Buffer) {\n buffer = str\n } else {\n buffer = Buffer.from(str.toString(), \"utf-8\")\n }\n\n return buffer.toString(\"base64\")\n}\n\nexport const sorters = {\n operationsSorter: {\n alpha: (a, b) => a.get(\"path\").localeCompare(b.get(\"path\")),\n method: (a, b) => a.get(\"method\").localeCompare(b.get(\"method\"))\n },\n tagsSorter: {\n alpha: (a, b) => a.localeCompare(b)\n }\n}\n\nexport const buildFormData = (data) => {\n let formArr = []\n\n for (let name in data) {\n let val = data[name]\n if (val !== undefined && val !== \"\") {\n formArr.push([name, \"=\", encodeURIComponent(val).replace(/%20/g,\"+\")].join(\"\"))\n }\n }\n return formArr.join(\"&\")\n}\n\n// Is this really required as a helper? Perhaps. TODO: expose the system of presets.apis in docs, so we know what is supported\nexport const shallowEqualKeys = (a,b, keys) => {\n return !!find(keys, (key) => {\n return eq(a[key], b[key])\n })\n}\n\nexport function sanitizeUrl(url) {\n if(typeof url !== \"string\" || url === \"\") {\n return \"\"\n }\n\n return braintreeSanitizeUrl(url)\n}\n\nexport function requiresValidationURL(uri) {\n if (!uri || uri.indexOf(\"localhost\") >= 0 || uri.indexOf(\"127.0.0.1\") >= 0 || uri === \"none\") {\n return false\n }\n return true\n}\n\n\nexport function getAcceptControllingResponse(responses) {\n if(!Im.OrderedMap.isOrderedMap(responses)) {\n // wrong type!\n return null\n }\n\n if(!responses.size) {\n // responses is empty\n return null\n }\n\n const suitable2xxResponse = responses.find((res, k) => {\n return k.startsWith(\"2\") && Object.keys(res.get(\"content\") || {}).length > 0\n })\n\n // try to find a suitable `default` responses\n const defaultResponse = responses.get(\"default\") || Im.OrderedMap()\n const defaultResponseMediaTypes = (defaultResponse.get(\"content\") || Im.OrderedMap()).keySeq().toJS()\n const suitableDefaultResponse = defaultResponseMediaTypes.length ? defaultResponse : null\n\n return suitable2xxResponse || suitableDefaultResponse\n}\n\n// suitable for use in URL fragments\nexport const createDeepLinkPath = (str) => typeof str == \"string\" || str instanceof String ? str.trim().replace(/\\s/g, \"%20\") : \"\"\n// suitable for use in CSS classes and ids\nexport const escapeDeepLinkPath = (str) => cssEscape( createDeepLinkPath(str).replace(/%20/g, \"_\") )\n\nexport const getExtensions = (defObj) => defObj.filter((v, k) => /^x-/.test(k))\nexport const getCommonExtensions = (defObj) => defObj.filter((v, k) => /^pattern|maxLength|minLength|maximum|minimum/.test(k))\n\n// Deeply strips a specific key from an object.\n//\n// `predicate` can be used to discriminate the stripping further,\n// by preserving the key's place in the object based on its value.\nexport function deeplyStripKey(input, keyToStrip, predicate = () => true) {\n if(typeof input !== \"object\" || Array.isArray(input) || input === null || !keyToStrip) {\n return input\n }\n\n const obj = Object.assign({}, input)\n\n Object.keys(obj).forEach(k => {\n if(k === keyToStrip && predicate(obj[k], k)) {\n delete obj[k]\n return\n }\n obj[k] = deeplyStripKey(obj[k], keyToStrip, predicate)\n })\n\n return obj\n}\n\nexport function stringify(thing) {\n if (typeof thing === \"string\") {\n return thing\n }\n\n if (thing && thing.toJS) {\n thing = thing.toJS()\n }\n\n if (typeof thing === \"object\" && thing !== null) {\n try {\n return JSON.stringify(thing, null, 2)\n }\n catch (e) {\n return String(thing)\n }\n }\n\n if(thing === null || thing === undefined) {\n return \"\"\n }\n\n return thing.toString()\n}\n\nexport function numberToString(thing) {\n if(typeof thing === \"number\") {\n return thing.toString()\n }\n\n return thing\n}\n\nexport function paramToIdentifier(param, { returnAll = false, allowHashes = true } = {}) {\n if(!Im.Map.isMap(param)) {\n throw new Error(\"paramToIdentifier: received a non-Im.Map parameter as input\")\n }\n const paramName = param.get(\"name\")\n const paramIn = param.get(\"in\")\n\n let generatedIdentifiers = []\n\n // Generate identifiers in order of most to least specificity\n\n if (param && param.hashCode && paramIn && paramName && allowHashes) {\n generatedIdentifiers.push(`${paramIn}.${paramName}.hash-${param.hashCode()}`)\n }\n\n if(paramIn && paramName) {\n generatedIdentifiers.push(`${paramIn}.${paramName}`)\n }\n\n generatedIdentifiers.push(paramName)\n\n // Return the most preferred identifier, or all if requested\n\n return returnAll ? generatedIdentifiers : (generatedIdentifiers[0] || \"\")\n}\n\nexport function paramToValue(param, paramValues) {\n const allIdentifiers = paramToIdentifier(param, { returnAll: true })\n\n // Map identifiers to values in the provided value hash, filter undefined values,\n // and return the first value found\n const values = allIdentifiers\n .map(id => {\n return paramValues[id]\n })\n .filter(value => value !== undefined)\n\n return values[0]\n}\n\n// adapted from https://auth0.com/docs/flows/guides/auth-code-pkce/includes/create-code-verifier\nexport function generateCodeVerifier() {\n return b64toB64UrlEncoded(\n randomBytes(32).toString(\"base64\")\n )\n}\n\nexport function createCodeChallenge(codeVerifier) {\n return b64toB64UrlEncoded(\n shaJs(\"sha256\")\n .update(codeVerifier)\n .digest(\"base64\")\n )\n}\n\nfunction b64toB64UrlEncoded(str) {\n return str\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=/g, \"\")\n}\n\nexport const isEmptyValue = (value) => {\n if (!value) {\n return true\n }\n\n if (isImmutable(value) && value.isEmpty()) {\n return true\n }\n\n return false\n}\n","export function canJsonParse(str) {\n try {\n let testValueForJson = JSON.parse(str)\n return testValueForJson ? true : false\n } catch (e) {\n // exception: string is not valid json\n return null\n }\n}\n\nexport function getKnownSyntaxHighlighterLanguage(val) {\n // to start, only check for json. can expand as needed in future\n const isValidJson = canJsonParse(val)\n return isValidJson ? \"json\" : null\n}\n","function makeWindow() {\n var win = {\n location: {},\n history: {},\n open: () => {},\n close: () => {},\n File: function() {}\n }\n\n if(typeof window === \"undefined\") {\n return win\n }\n\n try {\n win = window\n var props = [\"File\", \"Blob\", \"FormData\"]\n for (var prop of props) {\n if (prop in window) {\n win[prop] = window[prop]\n }\n }\n } catch( e ) {\n console.error(e)\n }\n\n return win\n}\n\nexport default makeWindow()\n","/**\n * @prettier\n */\n\nimport Im from \"immutable\"\n\nconst swagger2SchemaKeys = Im.Set.of(\n \"type\",\n \"format\",\n \"items\",\n \"default\",\n \"maximum\",\n \"exclusiveMaximum\",\n \"minimum\",\n \"exclusiveMinimum\",\n \"maxLength\",\n \"minLength\",\n \"pattern\",\n \"maxItems\",\n \"minItems\",\n \"uniqueItems\",\n \"enum\",\n \"multipleOf\"\n)\n\n/**\n * @typedef {Object} ParameterSchemaDescriptor\n * @property {Immutable.Map} schema - the parameter schema\n * @property {string|null} parameterContentMediaType - the effective media type, for `content`-based OpenAPI 3.0 Parameters, or `null` otherwise\n */\n\n/**\n * Get the effective schema value for a parameter, or an empty Immutable.Map if\n * no suitable schema can be found.\n *\n * Supports OpenAPI 3.0 `Parameter.content` priority -- since a Parameter Object\n * cannot have both `schema` and `content`, this function ignores `schema` when\n * `content` is present.\n *\n * @param {Immutable.Map} parameter The parameter to identify a schema for\n * @param {object} config\n * @param {boolean} config.isOAS3 Whether the parameter is from an OpenAPI 2.0\n * or OpenAPI 3.0 definition\n * @return {ParameterSchemaDescriptor} Information about the parameter schema\n */\nexport default function getParameterSchema(parameter, { isOAS3 } = {}) {\n // Return empty Map if `parameter` isn't a Map\n if (!Im.Map.isMap(parameter)) {\n return {\n schema: Im.Map(),\n parameterContentMediaType: null,\n }\n }\n\n if (!isOAS3) {\n // Swagger 2.0\n if (parameter.get(\"in\") === \"body\") {\n return {\n schema: parameter.get(\"schema\", Im.Map()),\n parameterContentMediaType: null,\n }\n } else {\n return {\n schema: parameter.filter((v, k) => swagger2SchemaKeys.includes(k)),\n parameterContentMediaType: null,\n }\n }\n }\n\n // If we've reached here, the parameter is OpenAPI 3.0\n\n if (parameter.get(\"content\")) {\n const parameterContentMediaTypes = parameter\n .get(\"content\", Im.Map({}))\n .keySeq()\n\n const parameterContentMediaType = parameterContentMediaTypes.first()\n\n return {\n schema: parameter.getIn(\n [\"content\", parameterContentMediaType, \"schema\"],\n Im.Map()\n ),\n parameterContentMediaType,\n }\n }\n\n return {\n schema: parameter.get(\"schema\", Im.Map()),\n parameterContentMediaType: null,\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_get_80914616__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_getPrototypeOf_c21fe081__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_wrapNativeSuper_31d78c7a__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_find_index_99e05360__[\"default\"] });","import memoize from \"lodash/memoize\"\n\n/**\n * This function is extension on top of lodash.memoize.\n * It uses all the arguments of the `fn` as the cache key instead of just the first one.\n * If resolver is provided, it determines the cache key for\n * storing the result based on the arguments provided to the memoized function.\n */\n\nconst shallowArrayEquals = (a) => (b) => {\n return Array.isArray(a) && Array.isArray(b)\n && a.length === b.length\n && a.every((val, index) => val === b[index])\n}\n\nconst list = (...args) => args\n\nclass Cache extends Map {\n delete(key) {\n const keys = Array.from(this.keys())\n const foundKey = keys.find(shallowArrayEquals(key))\n return super.delete(foundKey)\n }\n\n get(key) {\n const keys = Array.from(this.keys())\n const foundKey = keys.find(shallowArrayEquals(key))\n return super.get(foundKey)\n }\n\n has(key) {\n const keys = Array.from(this.keys())\n return keys.findIndex(shallowArrayEquals(key)) !== -1\n }\n}\n\nconst memoizeN = (fn, resolver = list) => {\n const { Cache: OriginalCache } = memoize\n memoize.Cache = Cache\n\n const memoized = memoize(fn, resolver)\n\n memoize.Cache = OriginalCache\n\n return memoized\n}\n\nexport default memoizeN\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","require('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (USE_NATIVE && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind timers to global for call from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);\n // wrap global constructors for prevent changs in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && !targetPrototype[key]) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = true;\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = {};\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.20.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.20.3/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","var parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","/*!\n * @description Recursive object extending\n * @author Viacheslav Lotsmanov <lotsmanov89@gmail.com>\n * @license MIT\n *\n * The MIT License (MIT)\n *\n * Copyright (c) 2013-2018 Viacheslav Lotsmanov\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n'use strict';\n\nfunction isSpecificValue(val) {\n\treturn (\n\t\tval instanceof Buffer\n\t\t|| val instanceof Date\n\t\t|| val instanceof RegExp\n\t) ? true : false;\n}\n\nfunction cloneSpecificValue(val) {\n\tif (val instanceof Buffer) {\n\t\tvar x = Buffer.alloc\n\t\t\t? Buffer.alloc(val.length)\n\t\t\t: new Buffer(val.length);\n\t\tval.copy(x);\n\t\treturn x;\n\t} else if (val instanceof Date) {\n\t\treturn new Date(val.getTime());\n\t} else if (val instanceof RegExp) {\n\t\treturn new RegExp(val);\n\t} else {\n\t\tthrow new Error('Unexpected situation');\n\t}\n}\n\n/**\n * Recursive cloning array.\n */\nfunction deepCloneArray(arr) {\n\tvar clone = [];\n\tarr.forEach(function (item, index) {\n\t\tif (typeof item === 'object' && item !== null) {\n\t\t\tif (Array.isArray(item)) {\n\t\t\t\tclone[index] = deepCloneArray(item);\n\t\t\t} else if (isSpecificValue(item)) {\n\t\t\t\tclone[index] = cloneSpecificValue(item);\n\t\t\t} else {\n\t\t\t\tclone[index] = deepExtend({}, item);\n\t\t\t}\n\t\t} else {\n\t\t\tclone[index] = item;\n\t\t}\n\t});\n\treturn clone;\n}\n\nfunction safeGetProperty(object, property) {\n\treturn property === '__proto__' ? undefined : object[property];\n}\n\n/**\n * Extening object that entered in first argument.\n *\n * Returns extended object or false if have no target object or incorrect type.\n *\n * If you wish to clone source object (without modify it), just use empty new\n * object as first argument, like this:\n * deepExtend({}, yourObj_1, [yourObj_N]);\n */\nvar deepExtend = module.exports = function (/*obj_1, [obj_2], [obj_N]*/) {\n\tif (arguments.length < 1 || typeof arguments[0] !== 'object') {\n\t\treturn false;\n\t}\n\n\tif (arguments.length < 2) {\n\t\treturn arguments[0];\n\t}\n\n\tvar target = arguments[0];\n\n\t// convert arguments to array and cut off target object\n\tvar args = Array.prototype.slice.call(arguments, 1);\n\n\tvar val, src, clone;\n\n\targs.forEach(function (obj) {\n\t\t// skip argument if isn't an object, is null, or is an array\n\t\tif (typeof obj !== 'object' || obj === null || Array.isArray(obj)) {\n\t\t\treturn;\n\t\t}\n\n\t\tObject.keys(obj).forEach(function (key) {\n\t\t\tsrc = safeGetProperty(target, key); // source value\n\t\t\tval = safeGetProperty(obj, key); // new value\n\n\t\t\t// recursion prevention\n\t\t\tif (val === target) {\n\t\t\t\treturn;\n\n\t\t\t/**\n\t\t\t * if new value isn't object then just overwrite by new value\n\t\t\t * instead of extending.\n\t\t\t */\n\t\t\t} else if (typeof val !== 'object' || val === null) {\n\t\t\t\ttarget[key] = val;\n\t\t\t\treturn;\n\n\t\t\t// just clone arrays (and recursive clone objects inside)\n\t\t\t} else if (Array.isArray(val)) {\n\t\t\t\ttarget[key] = deepCloneArray(val);\n\t\t\t\treturn;\n\n\t\t\t// custom cloning and overwrite for specific objects\n\t\t\t} else if (isSpecificValue(val)) {\n\t\t\t\ttarget[key] = cloneSpecificValue(val);\n\t\t\t\treturn;\n\n\t\t\t// overwrite by new value if source isn't object or array\n\t\t\t} else if (typeof src !== 'object' || src === null || Array.isArray(src)) {\n\t\t\t\ttarget[key] = deepExtend({}, val);\n\t\t\t\treturn;\n\n\t\t\t// source value and new value is objects both, extending...\n\t\t\t} else {\n\t\t\t\ttarget[key] = deepExtend(src, val);\n\t\t\t\treturn;\n\t\t\t}\n\t\t});\n\t});\n\n\treturn target;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict'\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = require('safe-buffer').Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/*<replacement>*/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/*</replacement>*/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/*<replacement>*/\n\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n/*<replacement>*/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\n\n\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/*<replacement>*/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/*</replacement>*/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* <replacement> */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\n\n\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n/*<replacement>*/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","\nvar XML_CHARACTER_MAP = {\n '&': '&',\n '\"': '"',\n \"'\": ''',\n '<': '<',\n '>': '>'\n};\n\nfunction escapeForXML(string) {\n return string && string.replace\n ? string.replace(/([&\"<>'])/g, function(str, item) {\n return XML_CHARACTER_MAP[item];\n })\n : string;\n}\n\nmodule.exports = escapeForXML;\n","var escapeForXML = require('./escapeForXML');\nvar Stream = require('stream').Stream;\n\nvar DEFAULT_INDENT = ' ';\n\nfunction xml(input, options) {\n\n if (typeof options !== 'object') {\n options = {\n indent: options\n };\n }\n\n var stream = options.stream ? new Stream() : null,\n output = \"\",\n interrupted = false,\n indent = !options.indent ? ''\n : options.indent === true ? DEFAULT_INDENT\n : options.indent,\n instant = true;\n\n\n function delay (func) {\n if (!instant) {\n func();\n } else {\n process.nextTick(func);\n }\n }\n\n function append (interrupt, out) {\n if (out !== undefined) {\n output += out;\n }\n if (interrupt && !interrupted) {\n stream = stream || new Stream();\n interrupted = true;\n }\n if (interrupt && interrupted) {\n var data = output;\n delay(function () { stream.emit('data', data) });\n output = \"\";\n }\n }\n\n function add (value, last) {\n format(append, resolve(value, indent, indent ? 1 : 0), last);\n }\n\n function end() {\n if (stream) {\n var data = output;\n delay(function () {\n stream.emit('data', data);\n stream.emit('end');\n stream.readable = false;\n stream.emit('close');\n });\n }\n }\n\n function addXmlDeclaration(declaration) {\n var encoding = declaration.encoding || 'UTF-8',\n attr = { version: '1.0', encoding: encoding };\n\n if (declaration.standalone) {\n attr.standalone = declaration.standalone\n }\n\n add({'?xml': { _attr: attr } });\n output = output.replace('/>', '?>');\n }\n\n // disable delay delayed\n delay(function () { instant = false });\n\n if (options.declaration) {\n addXmlDeclaration(options.declaration);\n }\n\n if (input && input.forEach) {\n input.forEach(function (value, i) {\n var last;\n if (i + 1 === input.length)\n last = end;\n add(value, last);\n });\n } else {\n add(input, end);\n }\n\n if (stream) {\n stream.readable = true;\n return stream;\n }\n return output;\n}\n\nfunction element (/*input, …*/) {\n var input = Array.prototype.slice.call(arguments),\n self = {\n _elem: resolve(input)\n };\n\n self.push = function (input) {\n if (!this.append) {\n throw new Error(\"not assigned to a parent!\");\n }\n var that = this;\n var indent = this._elem.indent;\n format(this.append, resolve(\n input, indent, this._elem.icount + (indent ? 1 : 0)),\n function () { that.append(true) });\n };\n\n self.close = function (input) {\n if (input !== undefined) {\n this.push(input);\n }\n if (this.end) {\n this.end();\n }\n };\n\n return self;\n}\n\nfunction create_indent(character, count) {\n return (new Array(count || 0).join(character || ''))\n}\n\nfunction resolve(data, indent, indent_count) {\n indent_count = indent_count || 0;\n var indent_spaces = create_indent(indent, indent_count);\n var name;\n var values = data;\n var interrupt = false;\n\n if (typeof data === 'object') {\n var keys = Object.keys(data);\n name = keys[0];\n values = data[name];\n\n if (values && values._elem) {\n values._elem.name = name;\n values._elem.icount = indent_count;\n values._elem.indent = indent;\n values._elem.indents = indent_spaces;\n values._elem.interrupt = values;\n return values._elem;\n }\n }\n\n var attributes = [],\n content = [];\n\n var isStringContent;\n\n function get_attributes(obj){\n var keys = Object.keys(obj);\n keys.forEach(function(key){\n attributes.push(attribute(key, obj[key]));\n });\n }\n\n switch(typeof values) {\n case 'object':\n if (values === null) break;\n\n if (values._attr) {\n get_attributes(values._attr);\n }\n\n if (values._cdata) {\n content.push(\n ('<![CDATA[' + values._cdata).replace(/\\]\\]>/g, ']]]]><![CDATA[>') + ']]>'\n );\n }\n\n if (values.forEach) {\n isStringContent = false;\n content.push('');\n values.forEach(function(value) {\n if (typeof value == 'object') {\n var _name = Object.keys(value)[0];\n\n if (_name == '_attr') {\n get_attributes(value._attr);\n } else {\n content.push(resolve(\n value, indent, indent_count + 1));\n }\n } else {\n //string\n content.pop();\n isStringContent=true;\n content.push(escapeForXML(value));\n }\n\n });\n if (!isStringContent) {\n content.push('');\n }\n }\n break;\n\n default:\n //string\n content.push(escapeForXML(values));\n\n }\n\n return {\n name: name,\n interrupt: interrupt,\n attributes: attributes,\n content: content,\n icount: indent_count,\n indents: indent_spaces,\n indent: indent\n };\n}\n\nfunction format(append, elem, end) {\n\n if (typeof elem != 'object') {\n return append(false, elem);\n }\n\n var len = elem.interrupt ? 1 : elem.content.length;\n\n function proceed () {\n while (elem.content.length) {\n var value = elem.content.shift();\n\n if (value === undefined) continue;\n if (interrupt(value)) return;\n\n format(append, value);\n }\n\n append(false, (len > 1 ? elem.indents : '')\n + (elem.name ? '</' + elem.name + '>' : '')\n + (elem.indent && !end ? '\\n' : ''));\n\n if (end) {\n end();\n }\n }\n\n function interrupt(value) {\n if (value.interrupt) {\n value.interrupt.append = append;\n value.interrupt.end = proceed;\n value.interrupt = false;\n append(true);\n return true;\n }\n return false;\n }\n\n append(false, elem.indents\n + (elem.name ? '<' + elem.name : '')\n + (elem.attributes.length ? ' ' + elem.attributes.join(' ') : '')\n + (len ? (elem.name ? '>' : '') : (elem.name ? '/>' : ''))\n + (elem.indent && len > 1 ? '\\n' : ''));\n\n if (!len) {\n return append(false, elem.indent ? '\\n' : '');\n }\n\n if (!interrupt(elem)) {\n proceed();\n }\n}\n\nfunction attribute(key, value) {\n return key + '=' + '\"' + escapeForXML(value) + '\"';\n}\n\nmodule.exports = xml;\nmodule.exports.element = module.exports.Element = element;\n","var map = {\n\t\"./all.js\": 5308,\n\t\"./auth/actions.js\": 5812,\n\t\"./auth/index.js\": 3705,\n\t\"./auth/reducers.js\": 3962,\n\t\"./auth/selectors.js\": 35,\n\t\"./auth/spec-wrap-actions.js\": 8302,\n\t\"./configs/actions.js\": 714,\n\t\"./configs/helpers.js\": 2256,\n\t\"./configs/index.js\": 1661,\n\t\"./configs/reducers.js\": 7743,\n\t\"./configs/selectors.js\": 9018,\n\t\"./configs/spec-actions.js\": 2698,\n\t\"./deep-linking/helpers.js\": 1970,\n\t\"./deep-linking/index.js\": 4980,\n\t\"./deep-linking/layout.js\": 5858,\n\t\"./deep-linking/operation-tag-wrapper.jsx\": 4584,\n\t\"./deep-linking/operation-wrapper.jsx\": 877,\n\t\"./download-url.js\": 8011,\n\t\"./err/actions.js\": 4966,\n\t\"./err/error-transformers/hook.js\": 6808,\n\t\"./err/error-transformers/transformers/not-of-type.js\": 2392,\n\t\"./err/error-transformers/transformers/parameter-oneof.js\": 1835,\n\t\"./err/index.js\": 7793,\n\t\"./err/reducers.js\": 3527,\n\t\"./err/selectors.js\": 7667,\n\t\"./filter/index.js\": 9978,\n\t\"./filter/opsFilter.js\": 4309,\n\t\"./layout/actions.js\": 5474,\n\t\"./layout/index.js\": 6821,\n\t\"./layout/reducers.js\": 5672,\n\t\"./layout/selectors.js\": 4400,\n\t\"./layout/spec-extensions/wrap-selector.js\": 8989,\n\t\"./logs/index.js\": 9150,\n\t\"./oas3/actions.js\": 7002,\n\t\"./oas3/auth-extensions/wrap-selectors.js\": 3723,\n\t\"./oas3/components/callbacks.jsx\": 3427,\n\t\"./oas3/components/http-auth.jsx\": 6775,\n\t\"./oas3/components/index.js\": 6467,\n\t\"./oas3/components/operation-link.jsx\": 5757,\n\t\"./oas3/components/operation-servers.jsx\": 6796,\n\t\"./oas3/components/request-body-editor.jsx\": 5327,\n\t\"./oas3/components/request-body.jsx\": 2458,\n\t\"./oas3/components/servers-container.jsx\": 9928,\n\t\"./oas3/components/servers.jsx\": 6617,\n\t\"./oas3/helpers.jsx\": 7779,\n\t\"./oas3/index.js\": 7451,\n\t\"./oas3/reducers.js\": 9666,\n\t\"./oas3/selectors.js\": 5065,\n\t\"./oas3/spec-extensions/selectors.js\": 1741,\n\t\"./oas3/spec-extensions/wrap-selectors.js\": 2044,\n\t\"./oas3/wrap-components/auth-item.jsx\": 356,\n\t\"./oas3/wrap-components/index.js\": 7761,\n\t\"./oas3/wrap-components/json-schema-string.jsx\": 287,\n\t\"./oas3/wrap-components/markdown.jsx\": 2460,\n\t\"./oas3/wrap-components/model.jsx\": 3499,\n\t\"./oas3/wrap-components/online-validator-badge.js\": 58,\n\t\"./oas3/wrap-components/version-stamp.jsx\": 9487,\n\t\"./on-complete/index.js\": 8560,\n\t\"./request-snippets/fn.js\": 4624,\n\t\"./request-snippets/index.js\": 6575,\n\t\"./request-snippets/request-snippets.jsx\": 4206,\n\t\"./request-snippets/selectors.js\": 4669,\n\t\"./safe-render/components/error-boundary.jsx\": 6195,\n\t\"./safe-render/components/fallback.jsx\": 9403,\n\t\"./safe-render/fn.jsx\": 6189,\n\t\"./safe-render/index.js\": 8102,\n\t\"./samples/fn.js\": 2473,\n\t\"./samples/index.js\": 8883,\n\t\"./spec/actions.js\": 1737,\n\t\"./spec/index.js\": 7038,\n\t\"./spec/reducers.js\": 32,\n\t\"./spec/selectors.js\": 3881,\n\t\"./spec/wrap-actions.js\": 7508,\n\t\"./swagger-js/configs-wrap-actions.js\": 4852,\n\t\"./swagger-js/index.js\": 2990,\n\t\"./util/index.js\": 8525,\n\t\"./view/fn.js\": 8347,\n\t\"./view/index.js\": 3420,\n\t\"./view/root-injects.jsx\": 5005,\n\t\"core/plugins/all.js\": 5308,\n\t\"core/plugins/auth/actions.js\": 5812,\n\t\"core/plugins/auth/index.js\": 3705,\n\t\"core/plugins/auth/reducers.js\": 3962,\n\t\"core/plugins/auth/selectors.js\": 35,\n\t\"core/plugins/auth/spec-wrap-actions.js\": 8302,\n\t\"core/plugins/configs/actions.js\": 714,\n\t\"core/plugins/configs/helpers.js\": 2256,\n\t\"core/plugins/configs/index.js\": 1661,\n\t\"core/plugins/configs/reducers.js\": 7743,\n\t\"core/plugins/configs/selectors.js\": 9018,\n\t\"core/plugins/configs/spec-actions.js\": 2698,\n\t\"core/plugins/deep-linking/helpers.js\": 1970,\n\t\"core/plugins/deep-linking/index.js\": 4980,\n\t\"core/plugins/deep-linking/layout.js\": 5858,\n\t\"core/plugins/deep-linking/operation-tag-wrapper.jsx\": 4584,\n\t\"core/plugins/deep-linking/operation-wrapper.jsx\": 877,\n\t\"core/plugins/download-url.js\": 8011,\n\t\"core/plugins/err/actions.js\": 4966,\n\t\"core/plugins/err/error-transformers/hook.js\": 6808,\n\t\"core/plugins/err/error-transformers/transformers/not-of-type.js\": 2392,\n\t\"core/plugins/err/error-transformers/transformers/parameter-oneof.js\": 1835,\n\t\"core/plugins/err/index.js\": 7793,\n\t\"core/plugins/err/reducers.js\": 3527,\n\t\"core/plugins/err/selectors.js\": 7667,\n\t\"core/plugins/filter/index.js\": 9978,\n\t\"core/plugins/filter/opsFilter.js\": 4309,\n\t\"core/plugins/layout/actions.js\": 5474,\n\t\"core/plugins/layout/index.js\": 6821,\n\t\"core/plugins/layout/reducers.js\": 5672,\n\t\"core/plugins/layout/selectors.js\": 4400,\n\t\"core/plugins/layout/spec-extensions/wrap-selector.js\": 8989,\n\t\"core/plugins/logs/index.js\": 9150,\n\t\"core/plugins/oas3/actions.js\": 7002,\n\t\"core/plugins/oas3/auth-extensions/wrap-selectors.js\": 3723,\n\t\"core/plugins/oas3/components/callbacks.jsx\": 3427,\n\t\"core/plugins/oas3/components/http-auth.jsx\": 6775,\n\t\"core/plugins/oas3/components/index.js\": 6467,\n\t\"core/plugins/oas3/components/operation-link.jsx\": 5757,\n\t\"core/plugins/oas3/components/operation-servers.jsx\": 6796,\n\t\"core/plugins/oas3/components/request-body-editor.jsx\": 5327,\n\t\"core/plugins/oas3/components/request-body.jsx\": 2458,\n\t\"core/plugins/oas3/components/servers-container.jsx\": 9928,\n\t\"core/plugins/oas3/components/servers.jsx\": 6617,\n\t\"core/plugins/oas3/helpers.jsx\": 7779,\n\t\"core/plugins/oas3/index.js\": 7451,\n\t\"core/plugins/oas3/reducers.js\": 9666,\n\t\"core/plugins/oas3/selectors.js\": 5065,\n\t\"core/plugins/oas3/spec-extensions/selectors.js\": 1741,\n\t\"core/plugins/oas3/spec-extensions/wrap-selectors.js\": 2044,\n\t\"core/plugins/oas3/wrap-components/auth-item.jsx\": 356,\n\t\"core/plugins/oas3/wrap-components/index.js\": 7761,\n\t\"core/plugins/oas3/wrap-components/json-schema-string.jsx\": 287,\n\t\"core/plugins/oas3/wrap-components/markdown.jsx\": 2460,\n\t\"core/plugins/oas3/wrap-components/model.jsx\": 3499,\n\t\"core/plugins/oas3/wrap-components/online-validator-badge.js\": 58,\n\t\"core/plugins/oas3/wrap-components/version-stamp.jsx\": 9487,\n\t\"core/plugins/on-complete/index.js\": 8560,\n\t\"core/plugins/request-snippets/fn.js\": 4624,\n\t\"core/plugins/request-snippets/index.js\": 6575,\n\t\"core/plugins/request-snippets/request-snippets.jsx\": 4206,\n\t\"core/plugins/request-snippets/selectors.js\": 4669,\n\t\"core/plugins/safe-render/components/error-boundary.jsx\": 6195,\n\t\"core/plugins/safe-render/components/fallback.jsx\": 9403,\n\t\"core/plugins/safe-render/fn.jsx\": 6189,\n\t\"core/plugins/safe-render/index.js\": 8102,\n\t\"core/plugins/samples/fn.js\": 2473,\n\t\"core/plugins/samples/index.js\": 8883,\n\t\"core/plugins/spec/actions.js\": 1737,\n\t\"core/plugins/spec/index.js\": 7038,\n\t\"core/plugins/spec/reducers.js\": 32,\n\t\"core/plugins/spec/selectors.js\": 3881,\n\t\"core/plugins/spec/wrap-actions.js\": 7508,\n\t\"core/plugins/swagger-js/configs-wrap-actions.js\": 4852,\n\t\"core/plugins/swagger-js/index.js\": 2990,\n\t\"core/plugins/util/index.js\": 8525,\n\t\"core/plugins/view/fn.js\": 8347,\n\t\"core/plugins/view/index.js\": 3420,\n\t\"core/plugins/view/root-injects.jsx\": 5005\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 5102;","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_array_from_6be643d1__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_array_is_array_6a843f38__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_bind_23a689fe__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_concat_ad403b1a__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_entries_97fed13d__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_every_ac7bb0bc__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_filter_13f270a8__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_find_0ad1164d__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_for_each_f55cb86b__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_includes_c33ad5d5__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_index_of_5fb826c6__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_keys_3b8fec80__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_map_868765ae__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_reduce_e87b61a7__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_slice_9832b507__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_some_50ff1b2d__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_sort_abe23e03__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_starts_with_a4b73998__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_trim_ca5b709e__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_json_stringify_1bf7a515__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_map_16a511c8__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_object_assign_e13b6141__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_object_keys_e09d3035__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_object_values_550c3b22__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_set_timeout_d31e8027__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_url_4cfab046__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_assertThisInitialized_d1aa492f__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_classCallCheck_bc61e5c4__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_createClass_e5c14ae7__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_createForOfIteratorHelper_d12c79e6__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_createSuper_c6ffd7da__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_defineProperty_807a2698__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_extends_d20d3ceb__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_inherits_12dd5677__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_objectSpread2_89fd8f56__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_objectWithoutProperties_9beedba5__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_slicedToArray_5206d485__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_toConsumableArray_8b04f6fd__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_typeof_f63a1f14__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_base64_js_f145eb6e__;","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_classnames__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_ieee754__;","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"List\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__.List, [\"Map\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__.Map, [\"OrderedMap\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__.OrderedMap, [\"Seq\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__.Seq, [\"Set\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__.Set, [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__[\"default\"], [\"fromJS\"]: () => __WEBPACK_EXTERNAL_MODULE_immutable__.fromJS });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"JSON_SCHEMA\"]: () => __WEBPACK_EXTERNAL_MODULE_js_yaml_78384032__.JSON_SCHEMA, [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_js_yaml_78384032__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_get_9427f899__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_isFunction_f90b20d6__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_memoize_2b5bc477__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_prop_types_adfe8e31__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"Component\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.Component, [\"PureComponent\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.PureComponent, [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react__[\"default\"], [\"useEffect\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useEffect, [\"useRef\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useRef, [\"useState\"]: () => __WEBPACK_EXTERNAL_MODULE_react__.useState });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"CopyToClipboard\"]: () => __WEBPACK_EXTERNAL_MODULE_react_copy_to_clipboard_5b11dd57__.CopyToClipboard });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_immutable_proptypes_89c7d083__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"applyMiddleware\"]: () => __WEBPACK_EXTERNAL_MODULE_redux__.applyMiddleware, [\"bindActionCreators\"]: () => __WEBPACK_EXTERNAL_MODULE_redux__.bindActionCreators, [\"compose\"]: () => __WEBPACK_EXTERNAL_MODULE_redux__.compose, [\"createStore\"]: () => __WEBPACK_EXTERNAL_MODULE_redux__.createStore });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"Remarkable\"]: () => __WEBPACK_EXTERNAL_MODULE_remarkable__.Remarkable });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"createSelector\"]: () => __WEBPACK_EXTERNAL_MODULE_reselect__.createSelector });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"serializeError\"]: () => __WEBPACK_EXTERNAL_MODULE_serialize_error_5f2df3e5__.serializeError });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"opId\"]: () => __WEBPACK_EXTERNAL_MODULE_swagger_client_es_helpers_4d7bea47__.opId });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nmodule.exports = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_url_parse_6456105f__[\"default\"] });","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_last_index_of_bbdfc000__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"combineReducers\"]: () => __WEBPACK_EXTERNAL_MODULE_redux_immutable_446c9f82__.combineReducers });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_merge_cf99375a__[\"default\"] });","import React from \"react\"\nimport { createStore, applyMiddleware, bindActionCreators, compose } from \"redux\"\nimport Im, { fromJS, Map } from \"immutable\"\nimport deepExtend from \"deep-extend\"\nimport { combineReducers } from \"redux-immutable\"\nimport { serializeError } from \"serialize-error\"\nimport merge from \"lodash/merge\"\nimport { NEW_THROWN_ERR } from \"corePlugins/err/actions\"\nimport win from \"core/window\"\n\nimport { systemThunkMiddleware, isFn, objMap, objReduce, isObject, isArray, isFunc } from \"core/utils\"\n\nconst idFn = a => a\n\n// Apply middleware that gets sandwitched between `dispatch` and the reducer function(s)\nfunction createStoreWithMiddleware(rootReducer, initialState, getSystem) {\n\n let middlwares = [\n // createLogger( {\n // stateTransformer: state => state && state.toJS()\n // } ),\n systemThunkMiddleware( getSystem )\n ]\n\n const composeEnhancers = win.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose\n\n return createStore(rootReducer, initialState, composeEnhancers(\n applyMiddleware( ...middlwares )\n ))\n}\n\nexport default class Store {\n\n constructor(opts={}) {\n deepExtend(this, {\n state: {},\n plugins: [],\n pluginsOptions: {},\n system: {\n configs: {},\n fn: {},\n components: {},\n rootInjects: {},\n statePlugins: {}\n },\n boundSystem: {},\n toolbox: {}\n }, opts)\n\n this.getSystem = this._getSystem.bind(this)\n\n // Bare system (nothing in it, besides the state)\n this.store = configureStore(idFn, fromJS(this.state), this.getSystem )\n\n // will be the system + Im, we can add more tools when we need to\n this.buildSystem(false)\n\n // Bootstrap plugins\n this.register(this.plugins)\n }\n\n getStore() {\n return this.store\n }\n\n register(plugins, rebuild=true) {\n var pluginSystem = combinePlugins(plugins, this.getSystem(), this.pluginsOptions)\n systemExtend(this.system, pluginSystem)\n if(rebuild) {\n this.buildSystem()\n }\n\n const needAnotherRebuild = callAfterLoad.call(this.system, plugins, this.getSystem())\n\n if(needAnotherRebuild) {\n this.buildSystem()\n }\n }\n\n buildSystem(buildReducer=true) {\n let dispatch = this.getStore().dispatch\n let getState = this.getStore().getState\n\n this.boundSystem = Object.assign({},\n this.getRootInjects(),\n this.getWrappedAndBoundActions(dispatch),\n this.getWrappedAndBoundSelectors(getState, this.getSystem),\n this.getStateThunks(getState),\n this.getFn(),\n this.getConfigs()\n )\n\n if(buildReducer)\n this.rebuildReducer()\n }\n\n _getSystem() {\n return this.boundSystem\n }\n\n getRootInjects() {\n return Object.assign({\n getSystem: this.getSystem,\n getStore: this.getStore.bind(this),\n getComponents: this.getComponents.bind(this),\n getState: this.getStore().getState,\n getConfigs: this._getConfigs.bind(this),\n Im,\n React\n }, this.system.rootInjects || {})\n }\n\n _getConfigs(){\n return this.system.configs\n }\n\n getConfigs() {\n return {\n configs: this.system.configs\n }\n }\n\n setConfigs(configs) {\n this.system.configs = configs\n }\n\n rebuildReducer() {\n this.store.replaceReducer(buildReducer(this.system.statePlugins))\n }\n\n /**\n * Generic getter from system.statePlugins\n *\n */\n getType(name) {\n let upName = name[0].toUpperCase() + name.slice(1)\n return objReduce(this.system.statePlugins, (val, namespace) => {\n let thing = val[name]\n if(thing)\n return {[namespace+upName]: thing}\n })\n }\n\n getSelectors() {\n return this.getType(\"selectors\")\n }\n\n getActions() {\n let actionHolders = this.getType(\"actions\")\n\n return objMap(actionHolders, (actions) => {\n return objReduce(actions, (action, actionName) => {\n if(isFn(action))\n return {[actionName]: action}\n })\n })\n }\n\n getWrappedAndBoundActions(dispatch) {\n let actionGroups = this.getBoundActions(dispatch)\n return objMap(actionGroups, (actions, actionGroupName) => {\n let wrappers = this.system.statePlugins[actionGroupName.slice(0,-7)].wrapActions\n if(wrappers) {\n return objMap(actions, (action, actionName) => {\n let wrap = wrappers[actionName]\n if(!wrap) {\n return action\n }\n\n if(!Array.isArray(wrap)) {\n wrap = [wrap]\n }\n return wrap.reduce((acc, fn) => {\n let newAction = (...args) => {\n return fn(acc, this.getSystem())(...args)\n }\n if(!isFn(newAction)) {\n throw new TypeError(\"wrapActions needs to return a function that returns a new function (ie the wrapped action)\")\n }\n return wrapWithTryCatch(newAction)\n }, action || Function.prototype)\n })\n }\n return actions\n })\n }\n\n getWrappedAndBoundSelectors(getState, getSystem) {\n let selectorGroups = this.getBoundSelectors(getState, getSystem)\n return objMap(selectorGroups, (selectors, selectorGroupName) => {\n let stateName = [selectorGroupName.slice(0, -9)] // selectors = 9 chars\n let wrappers = this.system.statePlugins[stateName].wrapSelectors\n if(wrappers) {\n return objMap(selectors, (selector, selectorName) => {\n let wrap = wrappers[selectorName]\n if(!wrap) {\n return selector\n }\n\n if(!Array.isArray(wrap)) {\n wrap = [wrap]\n }\n return wrap.reduce((acc, fn) => {\n let wrappedSelector = (...args) => {\n return fn(acc, this.getSystem())(getState().getIn(stateName), ...args)\n }\n if(!isFn(wrappedSelector)) {\n throw new TypeError(\"wrapSelector needs to return a function that returns a new function (ie the wrapped action)\")\n }\n return wrappedSelector\n }, selector || Function.prototype)\n })\n }\n return selectors\n })\n }\n\n getStates(state) {\n return Object.keys(this.system.statePlugins).reduce((obj, key) => {\n obj[key] = state.get(key)\n return obj\n }, {})\n }\n\n getStateThunks(getState) {\n return Object.keys(this.system.statePlugins).reduce((obj, key) => {\n obj[key] = ()=> getState().get(key)\n return obj\n }, {})\n }\n\n getFn() {\n return {\n fn: this.system.fn\n }\n }\n\n getComponents(component) {\n const res = this.system.components[component]\n\n if(Array.isArray(res)) {\n return res.reduce((ori, wrapper) => {\n return wrapper(ori, this.getSystem())\n })\n }\n if(typeof component !== \"undefined\") {\n return this.system.components[component]\n }\n\n return this.system.components\n }\n\n getBoundSelectors(getState, getSystem) {\n return objMap(this.getSelectors(), (obj, key) => {\n let stateName = [key.slice(0, -9)] // selectors = 9 chars\n const getNestedState = ()=> getState().getIn(stateName)\n\n return objMap(obj, (fn) => {\n return (...args) => {\n let res = wrapWithTryCatch(fn).apply(null, [getNestedState(), ...args])\n\n // If a selector returns a function, give it the system - for advanced usage\n if(typeof(res) === \"function\")\n res = wrapWithTryCatch(res)(getSystem())\n\n return res\n }\n })\n })\n }\n\n getBoundActions(dispatch) {\n\n dispatch = dispatch || this.getStore().dispatch\n\n const actions = this.getActions()\n\n const process = creator =>{\n if( typeof( creator ) !== \"function\" ) {\n return objMap(creator, prop => process(prop))\n }\n\n return ( ...args )=>{\n var action = null\n try{\n action = creator( ...args )\n }\n catch( e ){\n action = {type: NEW_THROWN_ERR, error: true, payload: serializeError(e) }\n }\n finally{\n return action // eslint-disable-line no-unsafe-finally\n }\n }\n\n }\n return objMap(actions, actionCreator => bindActionCreators( process( actionCreator ), dispatch ) )\n }\n\n getMapStateToProps() {\n return () => {\n return Object.assign({}, this.getSystem())\n }\n }\n\n getMapDispatchToProps(extras) {\n return (dispatch) => {\n return deepExtend({}, this.getWrappedAndBoundActions(dispatch), this.getFn(), extras)\n }\n }\n\n}\n\nfunction combinePlugins(plugins, toolbox, pluginOptions) {\n if(isObject(plugins) && !isArray(plugins)) {\n return merge({}, plugins)\n }\n\n if(isFunc(plugins)) {\n return combinePlugins(plugins(toolbox), toolbox, pluginOptions)\n }\n\n if(isArray(plugins)) {\n const dest = pluginOptions.pluginLoadType === \"chain\" ? toolbox.getComponents() : {}\n\n return plugins\n .map(plugin => combinePlugins(plugin, toolbox, pluginOptions))\n .reduce(systemExtend, dest)\n }\n\n return {}\n}\n\nfunction callAfterLoad(plugins, system, { hasLoaded } = {}) {\n let calledSomething = hasLoaded\n if(isObject(plugins) && !isArray(plugins)) {\n if(typeof plugins.afterLoad === \"function\") {\n calledSomething = true\n wrapWithTryCatch(plugins.afterLoad).call(this, system)\n }\n }\n\n if(isFunc(plugins))\n return callAfterLoad.call(this, plugins(system), system, { hasLoaded: calledSomething })\n\n if(isArray(plugins)) {\n return plugins.map(plugin => callAfterLoad.call(this, plugin, system, { hasLoaded: calledSomething }))\n }\n\n return calledSomething\n}\n\n// Wraps deepExtend, to account for certain fields, being wrappers.\n// Ie: we need to convert some fields into arrays, and append to them.\n// Rather than overwrite\nfunction systemExtend(dest={}, src={}) {\n\n if(!isObject(dest)) {\n return {}\n }\n if(!isObject(src)) {\n return dest\n }\n\n // Wrap components\n // Parses existing components in the system, and prepares them for wrapping via getComponents\n if(src.wrapComponents) {\n objMap(src.wrapComponents, (wrapperFn, key) => {\n const ori = dest.components && dest.components[key]\n if(ori && Array.isArray(ori)) {\n dest.components[key] = ori.concat([wrapperFn])\n delete src.wrapComponents[key]\n } else if(ori) {\n dest.components[key] = [ori, wrapperFn]\n delete src.wrapComponents[key]\n }\n })\n\n if(!Object.keys(src.wrapComponents).length) {\n // only delete wrapComponents if we've matched all of our wrappers to components\n // this handles cases where the component to wrap may be out of our scope,\n // but a higher recursive `combinePlugins` call will be able to handle it.\n delete src.wrapComponents\n }\n }\n\n\n // Account for wrapActions, make it an array and append to it\n // Modifies `src`\n // 80% of this code is just safe traversal. We need to address that ( ie: use a lib )\n const { statePlugins } = dest\n if(isObject(statePlugins)) {\n for(let namespace in statePlugins) {\n const namespaceObj = statePlugins[namespace]\n if(!isObject(namespaceObj)) {\n continue\n }\n\n const { wrapActions, wrapSelectors } = namespaceObj\n\n // process action wrapping\n if (isObject(wrapActions)) {\n for(let actionName in wrapActions) {\n let action = wrapActions[actionName]\n\n // This should only happen if dest is the first plugin, since invocations after that will ensure its an array\n if(!Array.isArray(action)) {\n action = [action]\n wrapActions[actionName] = action // Put the value inside an array\n }\n\n if(src && src.statePlugins && src.statePlugins[namespace] && src.statePlugins[namespace].wrapActions && src.statePlugins[namespace].wrapActions[actionName]) {\n src.statePlugins[namespace].wrapActions[actionName] = wrapActions[actionName].concat(src.statePlugins[namespace].wrapActions[actionName])\n }\n\n }\n }\n\n // process selector wrapping\n if (isObject(wrapSelectors)) {\n for(let selectorName in wrapSelectors) {\n let selector = wrapSelectors[selectorName]\n\n // This should only happen if dest is the first plugin, since invocations after that will ensure its an array\n if(!Array.isArray(selector)) {\n selector = [selector]\n wrapSelectors[selectorName] = selector // Put the value inside an array\n }\n\n if(src && src.statePlugins && src.statePlugins[namespace] && src.statePlugins[namespace].wrapSelectors && src.statePlugins[namespace].wrapSelectors[selectorName]) {\n src.statePlugins[namespace].wrapSelectors[selectorName] = wrapSelectors[selectorName].concat(src.statePlugins[namespace].wrapSelectors[selectorName])\n }\n\n }\n }\n }\n }\n\n return deepExtend(dest, src)\n}\n\nfunction buildReducer(states) {\n let reducerObj = objMap(states, (val) => {\n return val.reducers\n })\n return allReducers(reducerObj)\n}\n\nfunction allReducers(reducerSystem) {\n let reducers = Object.keys(reducerSystem).reduce((obj, key) => {\n obj[key] = makeReducer(reducerSystem[key])\n return obj\n },{})\n\n if(!Object.keys(reducers).length) {\n return idFn\n }\n\n return combineReducers(reducers)\n}\n\nfunction makeReducer(reducerObj) {\n return (state = new Map(), action) => {\n if(!reducerObj)\n return state\n\n let redFn = (reducerObj[action.type])\n if(redFn) {\n const res = wrapWithTryCatch(redFn)(state, action)\n // If the try/catch wrapper kicks in, we'll get null back...\n // in that case, we want to avoid making any changes to state\n return res === null ? state : res\n }\n return state\n }\n}\n\nfunction wrapWithTryCatch(fn, {\n logErrors = true\n} = {}) {\n if(typeof fn !== \"function\") {\n return fn\n }\n\n return function(...args) {\n try {\n return fn.call(this, ...args)\n } catch(e) {\n if(logErrors) {\n console.error(e)\n }\n return null\n }\n }\n}\n\nfunction configureStore(rootReducer, initialState, getSystem) {\n const store = createStoreWithMiddleware(rootReducer, initialState, getSystem)\n\n // if (module.hot) {\n // // Enable Webpack hot module replacement for reducers\n // module.hot.accept(\"reducers/index\", () => {\n // const nextRootReducer = require(\"reducers/index\")\n // store.replaceReducer(nextRootReducer)\n // })\n // }\n\n return store\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { opId } from \"swagger-client/es/helpers\"\nimport { Iterable, fromJS, Map } from \"immutable\"\n\nexport default class OperationContainer extends PureComponent {\n constructor(props, context) {\n super(props, context)\n\n const { tryItOutEnabled } = props.getConfigs()\n\n this.state = {\n tryItOutEnabled: tryItOutEnabled === true || tryItOutEnabled === \"true\",\n executeInProgress: false\n }\n }\n\n static propTypes = {\n op: PropTypes.instanceOf(Iterable).isRequired,\n tag: PropTypes.string.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n operationId: PropTypes.string.isRequired,\n showSummary: PropTypes.bool.isRequired,\n isShown: PropTypes.bool.isRequired,\n jumpToKey: PropTypes.string.isRequired,\n allowTryItOut: PropTypes.bool,\n displayOperationId: PropTypes.bool,\n isAuthorized: PropTypes.bool,\n displayRequestDuration: PropTypes.bool,\n response: PropTypes.instanceOf(Iterable),\n request: PropTypes.instanceOf(Iterable),\n security: PropTypes.instanceOf(Iterable),\n isDeepLinkingEnabled: PropTypes.bool.isRequired,\n specPath: ImPropTypes.list.isRequired,\n getComponent: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n oas3Actions: PropTypes.object,\n oas3Selectors: PropTypes.object,\n authSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired,\n getConfigs: PropTypes.func.isRequired\n }\n\n static defaultProps = {\n showSummary: true,\n response: null,\n allowTryItOut: true,\n displayOperationId: false,\n displayRequestDuration: false\n }\n\n mapStateToProps(nextState, props) {\n const { op, layoutSelectors, getConfigs } = props\n const { docExpansion, deepLinking, displayOperationId, displayRequestDuration, supportedSubmitMethods } = getConfigs()\n const showSummary = layoutSelectors.showSummary()\n const operationId = op.getIn([\"operation\", \"__originalOperationId\"]) || op.getIn([\"operation\", \"operationId\"]) || opId(op.get(\"operation\"), props.path, props.method) || op.get(\"id\")\n const isShownKey = [\"operations\", props.tag, operationId]\n const isDeepLinkingEnabled = deepLinking && deepLinking !== \"false\"\n const allowTryItOut = supportedSubmitMethods.indexOf(props.method) >= 0 && (typeof props.allowTryItOut === \"undefined\" ?\n props.specSelectors.allowTryItOutFor(props.path, props.method) : props.allowTryItOut)\n const security = op.getIn([\"operation\", \"security\"]) || props.specSelectors.security()\n\n return {\n operationId,\n isDeepLinkingEnabled,\n showSummary,\n displayOperationId,\n displayRequestDuration,\n allowTryItOut,\n security,\n isAuthorized: props.authSelectors.isAuthorized(security),\n isShown: layoutSelectors.isShown(isShownKey, docExpansion === \"full\" ),\n jumpToKey: `paths.${props.path}.${props.method}`,\n response: props.specSelectors.responseFor(props.path, props.method),\n request: props.specSelectors.requestFor(props.path, props.method)\n }\n }\n\n componentDidMount() {\n const { isShown } = this.props\n const resolvedSubtree = this.getResolvedSubtree()\n\n if(isShown && resolvedSubtree === undefined) {\n this.requestResolvedSubtree()\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { response, isShown } = nextProps\n const resolvedSubtree = this.getResolvedSubtree()\n\n if(response !== this.props.response) {\n this.setState({ executeInProgress: false })\n }\n\n if(isShown && resolvedSubtree === undefined) {\n this.requestResolvedSubtree()\n }\n }\n\n toggleShown =() => {\n let { layoutActions, tag, operationId, isShown } = this.props\n const resolvedSubtree = this.getResolvedSubtree()\n if(!isShown && resolvedSubtree === undefined) {\n // transitioning from collapsed to expanded\n this.requestResolvedSubtree()\n }\n layoutActions.show([\"operations\", tag, operationId], !isShown)\n }\n\n onCancelClick=() => {\n this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})\n }\n\n onTryoutClick =() => {\n this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})\n }\n\n onExecute = () => {\n this.setState({ executeInProgress: true })\n }\n\n getResolvedSubtree = () => {\n const {\n specSelectors,\n path,\n method,\n specPath\n } = this.props\n\n if(specPath) {\n return specSelectors.specResolvedSubtree(specPath.toJS())\n }\n\n return specSelectors.specResolvedSubtree([\"paths\", path, method])\n }\n\n requestResolvedSubtree = () => {\n const {\n specActions,\n path,\n method,\n specPath\n } = this.props\n\n\n if(specPath) {\n return specActions.requestResolvedSubtree(specPath.toJS())\n }\n\n return specActions.requestResolvedSubtree([\"paths\", path, method])\n }\n\n render() {\n let {\n op: unresolvedOp,\n tag,\n path,\n method,\n security,\n isAuthorized,\n operationId,\n showSummary,\n isShown,\n jumpToKey,\n allowTryItOut,\n response,\n request,\n displayOperationId,\n displayRequestDuration,\n isDeepLinkingEnabled,\n specPath,\n specSelectors,\n specActions,\n getComponent,\n getConfigs,\n layoutSelectors,\n layoutActions,\n authActions,\n authSelectors,\n oas3Actions,\n oas3Selectors,\n fn\n } = this.props\n\n const Operation = getComponent( \"operation\" )\n\n const resolvedSubtree = this.getResolvedSubtree() || Map()\n\n const operationProps = fromJS({\n op: resolvedSubtree,\n tag,\n path,\n summary: unresolvedOp.getIn([\"operation\", \"summary\"]) || \"\",\n deprecated: resolvedSubtree.get(\"deprecated\") || unresolvedOp.getIn([\"operation\", \"deprecated\"]) || false,\n method,\n security,\n isAuthorized,\n operationId,\n originalOperationId: resolvedSubtree.getIn([\"operation\", \"__originalOperationId\"]),\n showSummary,\n isShown,\n jumpToKey,\n allowTryItOut,\n request,\n displayOperationId,\n displayRequestDuration,\n isDeepLinkingEnabled,\n executeInProgress: this.state.executeInProgress,\n tryItOutEnabled: this.state.tryItOutEnabled\n })\n\n return (\n <Operation\n operation={operationProps}\n response={response}\n request={request}\n isShown={isShown}\n\n toggleShown={this.toggleShown}\n onTryoutClick={this.onTryoutClick}\n onCancelClick={this.onCancelClick}\n onExecute={this.onExecute}\n specPath={specPath}\n\n specActions={ specActions }\n specSelectors={ specSelectors }\n oas3Actions={oas3Actions}\n oas3Selectors={oas3Selectors}\n layoutActions={ layoutActions }\n layoutSelectors={ layoutSelectors }\n authActions={ authActions }\n authSelectors={ authSelectors }\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n fn={fn}\n />\n )\n }\n\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class App extends React.Component {\n\n getLayout() {\n let { getComponent, layoutSelectors } = this.props\n const layoutName = layoutSelectors.current()\n const Component = getComponent(layoutName, true)\n return Component ? Component : ()=> <h1> No layout defined for "{layoutName}" </h1>\n }\n\n render() {\n const Layout = this.getLayout()\n\n return (\n <Layout/>\n )\n }\n}\n\nApp.propTypes = {\n getComponent: PropTypes.func.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n}\n\nApp.defaultProps = {\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthorizationPopup extends React.Component {\n close =() => {\n let { authActions } = this.props\n\n authActions.showDefinitions(false)\n }\n\n render() {\n let { authSelectors, authActions, getComponent, errSelectors, specSelectors, fn: { AST = {} } } = this.props\n let definitions = authSelectors.shownDefinitions()\n const Auths = getComponent(\"auths\")\n\n return (\n <div className=\"dialog-ux\">\n <div className=\"backdrop-ux\"></div>\n <div className=\"modal-ux\">\n <div className=\"modal-dialog-ux\">\n <div className=\"modal-ux-inner\">\n <div className=\"modal-ux-header\">\n <h3>Available authorizations</h3>\n <button type=\"button\" className=\"close-modal\" onClick={ this.close }>\n <svg width=\"20\" height=\"20\">\n <use href=\"#close\" xlinkHref=\"#close\" />\n </svg>\n </button>\n </div>\n <div className=\"modal-ux-content\">\n\n {\n definitions.valueSeq().map(( definition, key ) => {\n return <Auths key={ key }\n AST={AST}\n definitions={ definition }\n getComponent={ getComponent }\n errSelectors={ errSelectors }\n authSelectors={ authSelectors }\n authActions={ authActions }\n specSelectors={ specSelectors }/>\n })\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n }\n\n static propTypes = {\n fn: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n authSelectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n errSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthorizeBtn extends React.Component {\n static propTypes = {\n onClick: PropTypes.func,\n isAuthorized: PropTypes.bool,\n showPopup: PropTypes.bool,\n getComponent: PropTypes.func.isRequired\n }\n\n render() {\n let { isAuthorized, showPopup, onClick, getComponent } = this.props\n\n //must be moved out of button component\n const AuthorizationPopup = getComponent(\"authorizationPopup\", true)\n\n return (\n <div className=\"auth-wrapper\">\n <button className={isAuthorized ? \"btn authorize locked\" : \"btn authorize unlocked\"} onClick={onClick}>\n <span>Authorize</span>\n <svg width=\"20\" height=\"20\">\n <use href={ isAuthorized ? \"#locked\" : \"#unlocked\" } xlinkHref={ isAuthorized ? \"#locked\" : \"#unlocked\" } />\n </svg>\n </button>\n { showPopup && <AuthorizationPopup /> }\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthorizeBtnContainer extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render () {\n const { authActions, authSelectors, specSelectors, getComponent} = this.props\n \n const securityDefinitions = specSelectors.securityDefinitions()\n const authorizableDefinitions = authSelectors.definitionsToAuthorize()\n\n const AuthorizeBtn = getComponent(\"authorizeBtn\")\n\n return securityDefinitions ? (\n <AuthorizeBtn\n onClick={() => authActions.showDefinitions(authorizableDefinitions)}\n isAuthorized={!!authSelectors.authorized().size}\n showPopup={!!authSelectors.shownDefinitions()}\n getComponent={getComponent}\n />\n ) : null\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthorizeOperationBtn extends React.Component {\n static propTypes = {\n isAuthorized: PropTypes.bool.isRequired,\n onClick: PropTypes.func\n }\n\n onClick =(e) => {\n e.stopPropagation()\n let { onClick } = this.props\n\n if(onClick) {\n onClick()\n }\n }\n\n render() {\n let { isAuthorized } = this.props\n\n return (\n <button className={isAuthorized ? \"authorization__btn locked\" : \"authorization__btn unlocked\"}\n aria-label={isAuthorized ? \"authorization button locked\" : \"authorization button unlocked\"}\n onClick={this.onClick}>\n <svg width=\"20\" height=\"20\">\n <use href={ isAuthorized ? \"#locked\" : \"#unlocked\" } xlinkHref={ isAuthorized ? \"#locked\" : \"#unlocked\" } />\n </svg>\n </button>\n\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class Auths extends React.Component {\n static propTypes = {\n definitions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n authSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired\n }\n\n constructor(props, context) {\n super(props, context)\n\n this.state = {}\n }\n\n onAuthChange =(auth) => {\n let { name } = auth\n\n this.setState({ [name]: auth })\n }\n\n submitAuth =(e) => {\n e.preventDefault()\n\n let { authActions } = this.props\n authActions.authorizeWithPersistOption(this.state)\n }\n\n logoutClick =(e) => {\n e.preventDefault()\n\n let { authActions, definitions } = this.props\n let auths = definitions.map( (val, key) => {\n return key\n }).toArray()\n\n this.setState(auths.reduce((prev, auth) => {\n prev[auth] = \"\"\n return prev\n }, {}))\n\n authActions.logoutWithPersistOption(auths)\n }\n\n close =(e) => {\n e.preventDefault()\n let { authActions } = this.props\n\n authActions.showDefinitions(false)\n }\n\n render() {\n let { definitions, getComponent, authSelectors, errSelectors } = this.props\n const AuthItem = getComponent(\"AuthItem\")\n const Oauth2 = getComponent(\"oauth2\", true)\n const Button = getComponent(\"Button\")\n\n let authorized = authSelectors.authorized()\n\n let authorizedAuth = definitions.filter( (definition, key) => {\n return !!authorized.get(key)\n })\n\n let nonOauthDefinitions = definitions.filter( schema => schema.get(\"type\") !== \"oauth2\")\n let oauthDefinitions = definitions.filter( schema => schema.get(\"type\") === \"oauth2\")\n\n return (\n <div className=\"auth-container\">\n {\n !!nonOauthDefinitions.size && <form onSubmit={ this.submitAuth }>\n {\n nonOauthDefinitions.map( (schema, name) => {\n return <AuthItem\n key={name}\n schema={schema}\n name={name}\n getComponent={getComponent}\n onAuthChange={this.onAuthChange}\n authorized={authorized}\n errSelectors={errSelectors}\n />\n }).toArray()\n }\n <div className=\"auth-btn-wrapper\">\n {\n nonOauthDefinitions.size === authorizedAuth.size ? <Button className=\"btn modal-btn auth\" onClick={ this.logoutClick }>Logout</Button>\n : <Button type=\"submit\" className=\"btn modal-btn auth authorize\">Authorize</Button>\n }\n <Button className=\"btn modal-btn auth btn-done\" onClick={ this.close }>Close</Button>\n </div>\n </form>\n }\n\n {\n oauthDefinitions && oauthDefinitions.size ? <div>\n <div className=\"scope-def\">\n <p>Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.</p>\n <p>API requires the following scopes. Select which ones you want to grant to Swagger UI.</p>\n </div>\n {\n definitions.filter( schema => schema.get(\"type\") === \"oauth2\")\n .map( (schema, name) =>{\n return (<div key={ name }>\n <Oauth2 authorized={ authorized }\n schema={ schema }\n name={ name } />\n </div>)\n }\n ).toArray()\n }\n </div> : null\n }\n\n </div>\n )\n }\n\n static propTypes = {\n errSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n authSelectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n definitions: ImPropTypes.iterable.isRequired\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class Auths extends React.Component {\n static propTypes = {\n schema: ImPropTypes.orderedMap.isRequired,\n name: PropTypes.string.isRequired,\n onAuthChange: PropTypes.func.isRequired,\n authorized: ImPropTypes.orderedMap.isRequired\n }\n\n render() {\n let {\n schema,\n name,\n getComponent,\n onAuthChange,\n authorized,\n errSelectors\n } = this.props\n const ApiKeyAuth = getComponent(\"apiKeyAuth\")\n const BasicAuth = getComponent(\"basicAuth\")\n\n let authEl\n\n const type = schema.get(\"type\")\n\n switch(type) {\n case \"apiKey\": authEl = <ApiKeyAuth key={ name }\n schema={ schema }\n name={ name }\n errSelectors={ errSelectors }\n authorized={ authorized }\n getComponent={ getComponent }\n onChange={ onAuthChange } />\n break\n case \"basic\": authEl = <BasicAuth key={ name }\n schema={ schema }\n name={ name }\n errSelectors={ errSelectors }\n authorized={ authorized }\n getComponent={ getComponent }\n onChange={ onAuthChange } />\n break\n default: authEl = <div key={ name }>Unknown security definition type { type }</div>\n }\n\n return (<div key={`${name}-jump`}>\n { authEl }\n </div>)\n }\n\n static propTypes = {\n errSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n authSelectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n definitions: ImPropTypes.iterable.isRequired\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class AuthError extends React.Component {\n\n static propTypes = {\n error: PropTypes.object.isRequired\n }\n\n render() {\n let { error } = this.props\n\n let level = error.get(\"level\")\n let message = error.get(\"message\")\n let source = error.get(\"source\")\n\n return (\n <div className=\"errors\">\n <b>{ source } { level }</b>\n <span>{ message }</span>\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class ApiKeyAuth extends React.Component {\n static propTypes = {\n authorized: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n errSelectors: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func\n }\n\n constructor(props, context) {\n super(props, context)\n let { name, schema } = this.props\n let value = this.getValue()\n\n this.state = {\n name: name,\n schema: schema,\n value: value\n }\n }\n\n getValue () {\n let { name, authorized } = this.props\n\n return authorized && authorized.getIn([name, \"value\"])\n }\n\n onChange =(e) => {\n let { onChange } = this.props\n let value = e.target.value\n let newState = Object.assign({}, this.state, { value: value })\n\n this.setState(newState)\n onChange(newState)\n }\n\n render() {\n let { schema, getComponent, errSelectors, name } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const AuthError = getComponent(\"authError\")\n const Markdown = getComponent(\"Markdown\", true)\n const JumpToPath = getComponent(\"JumpToPath\", true)\n let value = this.getValue()\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n\n return (\n <div>\n <h4>\n <code>{ name || schema.get(\"name\") }</code> (apiKey)\n <JumpToPath path={[ \"securityDefinitions\", name ]} />\n </h4>\n { value && <h6>Authorized</h6>}\n <Row>\n <Markdown source={ schema.get(\"description\") } />\n </Row>\n <Row>\n <p>Name: <code>{ schema.get(\"name\") }</code></p>\n </Row>\n <Row>\n <p>In: <code>{ schema.get(\"in\") }</code></p>\n </Row>\n <Row>\n <label>Value:</label>\n {\n value ? <code> ****** </code>\n : <Col><Input type=\"text\" onChange={ this.onChange } autoFocus/></Col>\n }\n </Row>\n {\n errors.valueSeq().map( (error, key) => {\n return <AuthError error={ error }\n key={ key }/>\n } )\n }\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class BasicAuth extends React.Component {\n static propTypes = {\n authorized: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired\n }\n\n constructor(props, context) {\n super(props, context)\n let { schema, name } = this.props\n\n let value = this.getValue()\n let username = value.username\n\n this.state = {\n name: name,\n schema: schema,\n value: !username ? {} : {\n username: username\n }\n }\n }\n\n getValue () {\n let { authorized, name } = this.props\n\n return authorized && authorized.getIn([name, \"value\"]) || {}\n }\n\n onChange =(e) => {\n let { onChange } = this.props\n let { value, name } = e.target\n\n let newValue = this.state.value\n newValue[name] = value\n\n this.setState({ value: newValue })\n\n onChange(this.state)\n }\n\n render() {\n let { schema, getComponent, name, errSelectors } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const AuthError = getComponent(\"authError\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n let username = this.getValue().username\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n\n return (\n <div>\n <h4>Basic authorization<JumpToPath path={[ \"securityDefinitions\", name ]} /></h4>\n { username && <h6>Authorized</h6> }\n <Row>\n <Markdown source={ schema.get(\"description\") } />\n </Row>\n <Row>\n <label>Username:</label>\n {\n username ? <code> { username } </code>\n : <Col><Input type=\"text\" required=\"required\" name=\"username\" onChange={ this.onChange } autoFocus/></Col>\n }\n </Row>\n <Row>\n <label>Password:</label>\n {\n username ? <code> ****** </code>\n : <Col><Input autoComplete=\"new-password\"\n name=\"password\"\n type=\"password\"\n onChange={ this.onChange }/></Col>\n }\n </Row>\n {\n errors.valueSeq().map( (error, key) => {\n return <AuthError error={ error }\n key={ key }/>\n } )\n }\n </div>\n )\n }\n\n static propTypes = {\n name: PropTypes.string.isRequired,\n errSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n onChange: PropTypes.func,\n schema: ImPropTypes.map,\n authorized: ImPropTypes.map\n }\n}\n","/**\n * @prettier\n */\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { stringify } from \"core/utils\"\n\nexport default function Example(props) {\n const { example, showValue, getComponent, getConfigs } = props\n\n const Markdown = getComponent(\"Markdown\", true)\n const HighlightCode = getComponent(\"highlightCode\")\n\n if(!example) return null\n\n return (\n <div className=\"example\">\n {example.get(\"description\") ? (\n <section className=\"example__section\">\n <div className=\"example__section-header\">Example Description</div>\n <p>\n <Markdown source={example.get(\"description\")} />\n </p>\n </section>\n ) : null}\n {showValue && example.has(\"value\") ? (\n <section className=\"example__section\">\n <div className=\"example__section-header\">Example Value</div>\n <HighlightCode getConfigs={ getConfigs } value={stringify(example.get(\"value\"))} />\n </section>\n ) : null}\n </div>\n )\n}\n\nExample.propTypes = {\n example: ImPropTypes.map.isRequired,\n showValue: PropTypes.bool,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.getConfigs,\n}\n","/**\n * @prettier\n */\n\nimport React from \"react\"\nimport Im from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class ExamplesSelect extends React.PureComponent {\n static propTypes = {\n examples: ImPropTypes.map.isRequired,\n onSelect: PropTypes.func,\n currentExampleKey: PropTypes.string,\n isModifiedValueAvailable: PropTypes.bool,\n isValueModified: PropTypes.bool,\n showLabels: PropTypes.bool,\n }\n\n static defaultProps = {\n examples: Im.Map({}),\n onSelect: (...args) =>\n console.log( // eslint-disable-line no-console\n // FIXME: remove before merging to master...\n `DEBUG: ExamplesSelect was not given an onSelect callback`,\n ...args\n ),\n currentExampleKey: null,\n showLabels: true,\n }\n\n _onSelect = (key, { isSyntheticChange = false } = {}) => {\n if (typeof this.props.onSelect === \"function\") {\n this.props.onSelect(key, {\n isSyntheticChange,\n })\n }\n }\n\n _onDomSelect = e => {\n if (typeof this.props.onSelect === \"function\") {\n const element = e.target.selectedOptions[0]\n const key = element.getAttribute(\"value\")\n\n this._onSelect(key, {\n isSyntheticChange: false,\n })\n }\n }\n\n getCurrentExample = () => {\n const { examples, currentExampleKey } = this.props\n\n const currentExamplePerProps = examples.get(currentExampleKey)\n\n const firstExamplesKey = examples.keySeq().first()\n const firstExample = examples.get(firstExamplesKey)\n\n return currentExamplePerProps || firstExample || Map({})\n }\n\n componentDidMount() {\n // this is the not-so-great part of ExamplesSelect... here we're\n // artificially kicking off an onSelect event in order to set a default\n // value in state. the consumer has the option to avoid this by checking\n // `isSyntheticEvent`, but we should really be doing this in a selector.\n // TODO: clean this up\n // FIXME: should this only trigger if `currentExamplesKey` is nullish?\n const { onSelect, examples } = this.props\n\n if (typeof onSelect === \"function\") {\n const firstExample = examples.first()\n const firstExampleKey = examples.keyOf(firstExample)\n\n this._onSelect(firstExampleKey, {\n isSyntheticChange: true,\n })\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { currentExampleKey, examples } = nextProps\n if (examples !== this.props.examples && !examples.has(currentExampleKey)) {\n // examples have changed from under us, and the currentExampleKey is no longer\n // valid.\n const firstExample = examples.first()\n const firstExampleKey = examples.keyOf(firstExample)\n\n this._onSelect(firstExampleKey, {\n isSyntheticChange: true,\n })\n }\n }\n\n render() {\n const {\n examples,\n currentExampleKey,\n isValueModified,\n isModifiedValueAvailable,\n showLabels,\n } = this.props\n\n return (\n <div className=\"examples-select\">\n {\n showLabels ? (\n <span className=\"examples-select__section-label\">Examples: </span>\n ) : null\n }\n <select\n className=\"examples-select-element\"\n onChange={this._onDomSelect}\n value={\n isModifiedValueAvailable && isValueModified\n ? \"__MODIFIED__VALUE__\"\n : (currentExampleKey || \"\")\n }\n >\n {isModifiedValueAvailable ? (\n <option value=\"__MODIFIED__VALUE__\">[Modified value]</option>\n ) : null}\n {examples\n .map((example, exampleName) => {\n return (\n <option\n key={exampleName} // for React\n value={exampleName} // for matching to select's `value`\n >\n {example.get(\"summary\") || exampleName}\n </option>\n )\n })\n .valueSeq()}\n </select>\n </div>\n )\n }\n}\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport { Map, List } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nimport { stringify } from \"core/utils\"\n\n// This stateful component lets us avoid writing competing values (user\n// modifications vs example values) into global state, and the mess that comes\n// with that: tracking which of the two values are currently used for\n// Try-It-Out, which example a modified value came from, etc...\n//\n// The solution here is to retain the last user-modified value in\n// ExamplesSelectValueRetainer's component state, so that our global state can stay\n// clean, always simply being the source of truth for what value should be both\n// displayed to the user and used as a value during request execution.\n//\n// This approach/tradeoff was chosen in order to encapsulate the particular\n// logic of Examples within the Examples component tree, and to avoid\n// regressions within our current implementation elsewhere (non-Examples\n// definitions, OpenAPI 2.0, etc). A future refactor to global state might make\n// this component unnecessary.\n//\n// TL;DR: this is not our usual approach, but the choice was made consciously.\n\n// Note that `currentNamespace` isn't currently used anywhere!\n\nconst stringifyUnlessList = input =>\n List.isList(input) ? input : stringify(input)\n\nexport default class ExamplesSelectValueRetainer extends React.PureComponent {\n static propTypes = {\n examples: ImPropTypes.map,\n onSelect: PropTypes.func,\n updateValue: PropTypes.func, // mechanism to update upstream value\n userHasEditedBody: PropTypes.bool,\n getComponent: PropTypes.func.isRequired,\n currentUserInputValue: PropTypes.any,\n currentKey: PropTypes.string,\n currentNamespace: PropTypes.string,\n setRetainRequestBodyValueFlag: PropTypes.func.isRequired,\n // (also proxies props for Examples)\n }\n\n static defaultProps = {\n userHasEditedBody: false,\n examples: Map({}),\n currentNamespace: \"__DEFAULT__NAMESPACE__\",\n setRetainRequestBodyValueFlag: () => {\n // NOOP\n },\n onSelect: (...args) =>\n console.log( // eslint-disable-line no-console\n \"ExamplesSelectValueRetainer: no `onSelect` function was provided\",\n ...args\n ),\n updateValue: (...args) =>\n console.log( // eslint-disable-line no-console\n \"ExamplesSelectValueRetainer: no `updateValue` function was provided\",\n ...args\n ),\n }\n\n constructor(props) {\n super(props)\n\n const valueFromExample = this._getCurrentExampleValue()\n\n this.state = {\n // user edited: last value that came from the world around us, and didn't\n // match the current example's value\n // internal: last value that came from user selecting an Example\n [props.currentNamespace]: Map({\n lastUserEditedValue: this.props.currentUserInputValue,\n lastDownstreamValue: valueFromExample,\n isModifiedValueSelected:\n // valueFromExample !== undefined &&\n this.props.userHasEditedBody ||\n this.props.currentUserInputValue !== valueFromExample,\n }),\n }\n }\n\n componentWillUnmount() {\n this.props.setRetainRequestBodyValueFlag(false)\n }\n\n _getStateForCurrentNamespace = () => {\n const { currentNamespace } = this.props\n\n return (this.state[currentNamespace] || Map()).toObject()\n }\n\n _setStateForCurrentNamespace = obj => {\n const { currentNamespace } = this.props\n\n return this._setStateForNamespace(currentNamespace, obj)\n }\n\n _setStateForNamespace = (namespace, obj) => {\n const oldStateForNamespace = this.state[namespace] || Map()\n const newStateForNamespace = oldStateForNamespace.mergeDeep(obj)\n return this.setState({\n [namespace]: newStateForNamespace,\n })\n }\n\n _isCurrentUserInputSameAsExampleValue = () => {\n const { currentUserInputValue } = this.props\n\n const valueFromExample = this._getCurrentExampleValue()\n\n return valueFromExample === currentUserInputValue\n }\n\n _getValueForExample = (exampleKey, props) => {\n // props are accepted so that this can be used in UNSAFE_componentWillReceiveProps,\n // which has access to `nextProps`\n const { examples } = props || this.props\n return stringifyUnlessList(\n (examples || Map({})).getIn([exampleKey, \"value\"])\n )\n }\n\n _getCurrentExampleValue = props => {\n // props are accepted so that this can be used in UNSAFE_componentWillReceiveProps,\n // which has access to `nextProps`\n const { currentKey } = props || this.props\n return this._getValueForExample(currentKey, props || this.props)\n }\n\n _onExamplesSelect = (key, { isSyntheticChange } = {}, ...otherArgs) => {\n const {\n onSelect,\n updateValue,\n currentUserInputValue,\n userHasEditedBody,\n } = this.props\n const { lastUserEditedValue } = this._getStateForCurrentNamespace()\n\n const valueFromExample = this._getValueForExample(key)\n\n if (key === \"__MODIFIED__VALUE__\") {\n updateValue(stringifyUnlessList(lastUserEditedValue))\n return this._setStateForCurrentNamespace({\n isModifiedValueSelected: true,\n })\n }\n\n if (typeof onSelect === \"function\") {\n onSelect(key, { isSyntheticChange }, ...otherArgs)\n }\n\n this._setStateForCurrentNamespace({\n lastDownstreamValue: valueFromExample,\n isModifiedValueSelected:\n (isSyntheticChange && userHasEditedBody) ||\n (!!currentUserInputValue && currentUserInputValue !== valueFromExample),\n })\n\n // we never want to send up value updates from synthetic changes\n if (isSyntheticChange) return\n\n if (typeof updateValue === \"function\") {\n updateValue(stringifyUnlessList(valueFromExample))\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n // update `lastUserEditedValue` as new currentUserInput values come in\n\n const {\n currentUserInputValue: newValue,\n examples,\n onSelect,\n userHasEditedBody,\n } = nextProps\n\n const {\n lastUserEditedValue,\n lastDownstreamValue,\n } = this._getStateForCurrentNamespace()\n\n const valueFromCurrentExample = this._getValueForExample(\n nextProps.currentKey,\n nextProps\n )\n\n const examplesMatchingNewValue = examples.filter(\n (example) =>\n example.get(\"value\") === newValue ||\n // sometimes data is stored as a string (e.g. in Request Bodies), so\n // let's check against a stringified version of our example too\n stringify(example.get(\"value\")) === newValue\n )\n\n if (examplesMatchingNewValue.size) {\n let key\n if(examplesMatchingNewValue.has(nextProps.currentKey))\n {\n key = nextProps.currentKey\n } else {\n key = examplesMatchingNewValue.keySeq().first()\n }\n onSelect(key, {\n isSyntheticChange: true,\n })\n } else if (\n newValue !== this.props.currentUserInputValue && // value has changed\n newValue !== lastUserEditedValue && // value isn't already tracked\n newValue !== lastDownstreamValue // value isn't what we've seen on the other side\n ) {\n this.props.setRetainRequestBodyValueFlag(true)\n this._setStateForNamespace(nextProps.currentNamespace, {\n lastUserEditedValue: nextProps.currentUserInputValue,\n isModifiedValueSelected:\n userHasEditedBody || newValue !== valueFromCurrentExample,\n })\n }\n }\n\n render() {\n const {\n currentUserInputValue,\n examples,\n currentKey,\n getComponent,\n userHasEditedBody,\n } = this.props\n const {\n lastDownstreamValue,\n lastUserEditedValue,\n isModifiedValueSelected,\n } = this._getStateForCurrentNamespace()\n\n const ExamplesSelect = getComponent(\"ExamplesSelect\")\n\n return (\n <ExamplesSelect\n examples={examples}\n currentExampleKey={currentKey}\n onSelect={this._onExamplesSelect}\n isModifiedValueAvailable={\n !!lastUserEditedValue && lastUserEditedValue !== lastDownstreamValue\n }\n isValueModified={\n (currentUserInputValue !== undefined &&\n isModifiedValueSelected &&\n currentUserInputValue !== this._getCurrentExampleValue()) ||\n userHasEditedBody\n }\n />\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport oauth2Authorize from \"core/oauth2-authorize\"\n\nexport default class Oauth2 extends React.Component {\n static propTypes = {\n name: PropTypes.string,\n authorized: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n schema: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n errSelectors: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n errActions: PropTypes.object.isRequired,\n getConfigs: PropTypes.any\n }\n\n constructor(props, context) {\n super(props, context)\n let { name, schema, authorized, authSelectors } = this.props\n let auth = authorized && authorized.get(name)\n let authConfigs = authSelectors.getConfigs() || {}\n let username = auth && auth.get(\"username\") || \"\"\n let clientId = auth && auth.get(\"clientId\") || authConfigs.clientId || \"\"\n let clientSecret = auth && auth.get(\"clientSecret\") || authConfigs.clientSecret || \"\"\n let passwordType = auth && auth.get(\"passwordType\") || \"basic\"\n let scopes = auth && auth.get(\"scopes\") || authConfigs.scopes || []\n if (typeof scopes === \"string\") {\n scopes = scopes.split(authConfigs.scopeSeparator || \" \")\n }\n\n this.state = {\n appName: authConfigs.appName,\n name: name,\n schema: schema,\n scopes: scopes,\n clientId: clientId,\n clientSecret: clientSecret,\n username: username,\n password: \"\",\n passwordType: passwordType\n }\n }\n\n close = (e) => {\n e.preventDefault()\n let { authActions } = this.props\n\n authActions.showDefinitions(false)\n }\n\n authorize =() => {\n let { authActions, errActions, getConfigs, authSelectors, oas3Selectors } = this.props\n let configs = getConfigs()\n let authConfigs = authSelectors.getConfigs()\n\n errActions.clear({authId: name,type: \"auth\", source: \"auth\"})\n oauth2Authorize({\n auth: this.state,\n currentServer: oas3Selectors.serverEffectiveValue(oas3Selectors.selectedServer()),\n authActions,\n errActions,\n configs,\n authConfigs\n })\n }\n\n onScopeChange =(e) => {\n let { target } = e\n let { checked } = target\n let scope = target.dataset.value\n\n if ( checked && this.state.scopes.indexOf(scope) === -1 ) {\n let newScopes = this.state.scopes.concat([scope])\n this.setState({ scopes: newScopes })\n } else if ( !checked && this.state.scopes.indexOf(scope) > -1) {\n this.setState({ scopes: this.state.scopes.filter((val) => val !== scope) })\n }\n }\n\n onInputChange =(e) => {\n let { target : { dataset : { name }, value } } = e\n let state = {\n [name]: value\n }\n\n this.setState(state)\n }\n\n selectScopes =(e) => {\n if (e.target.dataset.all) {\n this.setState({\n scopes: Array.from((this.props.schema.get(\"allowedScopes\") || this.props.schema.get(\"scopes\")).keys())\n })\n } else {\n this.setState({ scopes: [] })\n }\n }\n\n logout =(e) => {\n e.preventDefault()\n let { authActions, errActions, name } = this.props\n\n errActions.clear({authId: name, type: \"auth\", source: \"auth\"})\n authActions.logoutWithPersistOption([ name ])\n }\n\n render() {\n let {\n schema, getComponent, authSelectors, errSelectors, name, specSelectors\n } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const Button = getComponent(\"Button\")\n const AuthError = getComponent(\"authError\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n const InitializedInput = getComponent(\"InitializedInput\")\n\n const { isOAS3 } = specSelectors\n\n let oidcUrl = isOAS3() ? schema.get(\"openIdConnectUrl\") : null\n\n // Auth type consts\n const AUTH_FLOW_IMPLICIT = \"implicit\"\n const AUTH_FLOW_PASSWORD = \"password\"\n const AUTH_FLOW_ACCESS_CODE = isOAS3() ? (oidcUrl ? \"authorization_code\" : \"authorizationCode\") : \"accessCode\"\n const AUTH_FLOW_APPLICATION = isOAS3() ? (oidcUrl ? \"client_credentials\" : \"clientCredentials\") : \"application\"\n\n let authConfigs = authSelectors.getConfigs() || {}\n let isPkceCodeGrant = !!authConfigs.usePkceWithAuthorizationCodeGrant\n\n let flow = schema.get(\"flow\")\n let flowToDisplay = flow === AUTH_FLOW_ACCESS_CODE && isPkceCodeGrant ? flow + \" with PKCE\" : flow\n let scopes = schema.get(\"allowedScopes\") || schema.get(\"scopes\")\n let authorizedAuth = authSelectors.authorized().get(name)\n let isAuthorized = !!authorizedAuth\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n let isValid = !errors.filter( err => err.get(\"source\") === \"validation\").size\n let description = schema.get(\"description\")\n\n return (\n <div>\n <h4>{name} (OAuth2, { flowToDisplay }) <JumpToPath path={[ \"securityDefinitions\", name ]} /></h4>\n { !this.state.appName ? null : <h5>Application: { this.state.appName } </h5> }\n { description && <Markdown source={ schema.get(\"description\") } /> }\n\n { isAuthorized && <h6>Authorized</h6> }\n\n { oidcUrl && <p>OpenID Connect URL: <code>{ oidcUrl }</code></p> }\n { ( flow === AUTH_FLOW_IMPLICIT || flow === AUTH_FLOW_ACCESS_CODE ) && <p>Authorization URL: <code>{ schema.get(\"authorizationUrl\") }</code></p> }\n { ( flow === AUTH_FLOW_PASSWORD || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_APPLICATION ) && <p>Token URL:<code> { schema.get(\"tokenUrl\") }</code></p> }\n <p className=\"flow\">Flow: <code>{ flowToDisplay }</code></p>\n\n {\n flow !== AUTH_FLOW_PASSWORD ? null\n : <Row>\n <Row>\n <label htmlFor=\"oauth_username\">username:</label>\n {\n isAuthorized ? <code> { this.state.username } </code>\n : <Col tablet={10} desktop={10}>\n <input id=\"oauth_username\" type=\"text\" data-name=\"username\" onChange={ this.onInputChange } autoFocus/>\n </Col>\n }\n </Row>\n {\n\n }\n <Row>\n <label htmlFor=\"oauth_password\">password:</label>\n {\n isAuthorized ? <code> ****** </code>\n : <Col tablet={10} desktop={10}>\n <input id=\"oauth_password\" type=\"password\" data-name=\"password\" onChange={ this.onInputChange }/>\n </Col>\n }\n </Row>\n <Row>\n <label htmlFor=\"password_type\">Client credentials location:</label>\n {\n isAuthorized ? <code> { this.state.passwordType } </code>\n : <Col tablet={10} desktop={10}>\n <select id=\"password_type\" data-name=\"passwordType\" onChange={ this.onInputChange }>\n <option value=\"basic\">Authorization header</option>\n <option value=\"request-body\">Request body</option>\n </select>\n </Col>\n }\n </Row>\n </Row>\n }\n {\n ( flow === AUTH_FLOW_APPLICATION || flow === AUTH_FLOW_IMPLICIT || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_PASSWORD ) &&\n ( !isAuthorized || isAuthorized && this.state.clientId) && <Row>\n <label htmlFor=\"client_id\">client_id:</label>\n {\n isAuthorized ? <code> ****** </code>\n : <Col tablet={10} desktop={10}>\n <InitializedInput id=\"client_id\"\n type=\"text\"\n required={ flow === AUTH_FLOW_PASSWORD }\n initialValue={ this.state.clientId }\n data-name=\"clientId\"\n onChange={ this.onInputChange }/>\n </Col>\n }\n </Row>\n }\n\n {\n ( (flow === AUTH_FLOW_APPLICATION || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_PASSWORD) && !isPkceCodeGrant && <Row>\n <label htmlFor=\"client_secret\">client_secret:</label>\n {\n isAuthorized ? <code> ****** </code>\n : <Col tablet={10} desktop={10}>\n <InitializedInput id=\"client_secret\"\n initialValue={ this.state.clientSecret }\n type=\"password\"\n data-name=\"clientSecret\"\n onChange={ this.onInputChange }/>\n </Col>\n }\n\n </Row>\n )}\n\n {\n !isAuthorized && scopes && scopes.size ? <div className=\"scopes\">\n <h2>\n Scopes:\n <a onClick={this.selectScopes} data-all={true}>select all</a>\n <a onClick={this.selectScopes}>select none</a>\n </h2>\n { scopes.map((description, name) => {\n return (\n <Row key={ name }>\n <div className=\"checkbox\">\n <Input data-value={ name }\n id={`${name}-${flow}-checkbox-${this.state.name}`}\n disabled={ isAuthorized }\n checked={ this.state.scopes.includes(name) }\n type=\"checkbox\"\n onChange={ this.onScopeChange }/>\n <label htmlFor={`${name}-${flow}-checkbox-${this.state.name}`}>\n <span className=\"item\"></span>\n <div className=\"text\">\n <p className=\"name\">{name}</p>\n <p className=\"description\">{description}</p>\n </div>\n </label>\n </div>\n </Row>\n )\n }).toArray()\n }\n </div> : null\n }\n\n {\n errors.valueSeq().map( (error, key) => {\n return <AuthError error={ error }\n key={ key }/>\n } )\n }\n <div className=\"auth-btn-wrapper\">\n { isValid &&\n ( isAuthorized ? <Button className=\"btn modal-btn auth authorize\" onClick={ this.logout }>Logout</Button>\n : <Button className=\"btn modal-btn auth authorize\" onClick={ this.authorize }>Authorize</Button>\n )\n }\n <Button className=\"btn modal-btn auth btn-done\" onClick={ this.close }>Close</Button>\n </div>\n\n </div>\n )\n }\n}\n","import parseUrl from \"url-parse\"\nimport Im from \"immutable\"\nimport { btoa, sanitizeUrl, generateCodeVerifier, createCodeChallenge } from \"core/utils\"\n\nexport default function authorize ( { auth, authActions, errActions, configs, authConfigs={}, currentServer } ) {\n let { schema, scopes, name, clientId } = auth\n let flow = schema.get(\"flow\")\n let query = []\n\n switch (flow) {\n case \"password\":\n authActions.authorizePassword(auth)\n return\n\n case \"application\":\n authActions.authorizeApplication(auth)\n return\n\n case \"accessCode\":\n query.push(\"response_type=code\")\n break\n\n case \"implicit\":\n query.push(\"response_type=token\")\n break\n\n case \"clientCredentials\":\n case \"client_credentials\":\n // OAS3\n authActions.authorizeApplication(auth)\n return\n\n case \"authorizationCode\":\n case \"authorization_code\":\n // OAS3\n query.push(\"response_type=code\")\n break\n }\n\n if (typeof clientId === \"string\") {\n query.push(\"client_id=\" + encodeURIComponent(clientId))\n }\n\n let redirectUrl = configs.oauth2RedirectUrl\n\n // todo move to parser\n if (typeof redirectUrl === \"undefined\") {\n errActions.newAuthErr( {\n authId: name,\n source: \"validation\",\n level: \"error\",\n message: \"oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed.\"\n })\n return\n }\n query.push(\"redirect_uri=\" + encodeURIComponent(redirectUrl))\n\n let scopesArray = []\n if (Array.isArray(scopes)) {\n scopesArray = scopes\n } else if (Im.List.isList(scopes)) {\n scopesArray = scopes.toArray()\n }\n\n if (scopesArray.length > 0) {\n let scopeSeparator = authConfigs.scopeSeparator || \" \"\n\n query.push(\"scope=\" + encodeURIComponent(scopesArray.join(scopeSeparator)))\n }\n\n let state = btoa(new Date())\n\n query.push(\"state=\" + encodeURIComponent(state))\n\n if (typeof authConfigs.realm !== \"undefined\") {\n query.push(\"realm=\" + encodeURIComponent(authConfigs.realm))\n }\n\n if ((flow === \"authorizationCode\" || flow === \"authorization_code\" || flow === \"accessCode\") && authConfigs.usePkceWithAuthorizationCodeGrant) {\n const codeVerifier = generateCodeVerifier()\n const codeChallenge = createCodeChallenge(codeVerifier)\n\n query.push(\"code_challenge=\" + codeChallenge)\n query.push(\"code_challenge_method=S256\")\n\n // storing the Code Verifier so it can be sent to the token endpoint\n // when exchanging the Authorization Code for an Access Token\n auth.codeVerifier = codeVerifier\n }\n\n let { additionalQueryStringParams } = authConfigs\n\n for (let key in additionalQueryStringParams) {\n if (typeof additionalQueryStringParams[key] !== \"undefined\") {\n query.push([key, additionalQueryStringParams[key]].map(encodeURIComponent).join(\"=\"))\n }\n }\n\n const authorizationUrl = schema.get(\"authorizationUrl\")\n let sanitizedAuthorizationUrl\n if (currentServer) {\n // OpenAPI 3\n sanitizedAuthorizationUrl = parseUrl(\n sanitizeUrl(authorizationUrl),\n currentServer,\n true\n ).toString()\n } else {\n sanitizedAuthorizationUrl = sanitizeUrl(authorizationUrl)\n }\n let url = [sanitizedAuthorizationUrl, query.join(\"&\")].join(authorizationUrl.indexOf(\"?\") === -1 ? \"?\" : \"&\")\n\n // pass action authorizeOauth2 and authentication data through window\n // to authorize with oauth2\n\n let callback\n if (flow === \"implicit\") {\n callback = authActions.preAuthorizeImplicit\n } else if (authConfigs.useBasicAuthenticationWithAccessCodeGrant) {\n callback = authActions.authorizeAccessCodeWithBasicAuthentication\n } else {\n callback = authActions.authorizeAccessCodeWithFormParams\n }\n\n authActions.authPopup(url, {\n auth: auth,\n state: state,\n redirectUrl: redirectUrl,\n callback: callback,\n errCb: errActions.newAuthErr\n })\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Clear extends Component {\n\n onClick =() => {\n let { specActions, path, method } = this.props\n specActions.clearResponse( path, method )\n specActions.clearRequest( path, method )\n }\n\n render(){\n return (\n <button className=\"btn btn-clear opblock-control__btn\" onClick={ this.onClick }>\n Clear\n </button>\n )\n }\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { Iterable } from \"immutable\"\n\nconst Headers = ( { headers } )=>{\n return (\n <div>\n <h5>Response headers</h5>\n <pre className=\"microlight\">{headers}</pre>\n </div>)\n}\nHeaders.propTypes = {\n headers: PropTypes.array.isRequired\n}\n\nconst Duration = ( { duration } ) => {\n return (\n <div>\n <h5>Request duration</h5>\n <pre className=\"microlight\">{duration} ms</pre>\n </div>\n )\n}\nDuration.propTypes = {\n duration: PropTypes.number.isRequired\n}\n\n\nexport default class LiveResponse extends React.Component {\n static propTypes = {\n response: PropTypes.instanceOf(Iterable).isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n displayRequestDuration: PropTypes.bool.isRequired,\n specSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired\n }\n\n shouldComponentUpdate(nextProps) {\n // BUG: props.response is always coming back as a new Immutable instance\n // same issue as responses.jsx (tryItOutResponse)\n return this.props.response !== nextProps.response\n || this.props.path !== nextProps.path\n || this.props.method !== nextProps.method\n || this.props.displayRequestDuration !== nextProps.displayRequestDuration\n }\n\n render() {\n const { response, getComponent, getConfigs, displayRequestDuration, specSelectors, path, method } = this.props\n const { showMutatedRequest, requestSnippetsEnabled } = getConfigs()\n\n const curlRequest = showMutatedRequest ? specSelectors.mutatedRequestFor(path, method) : specSelectors.requestFor(path, method)\n const status = response.get(\"status\")\n const url = curlRequest.get(\"url\")\n const headers = response.get(\"headers\").toJS()\n const notDocumented = response.get(\"notDocumented\")\n const isError = response.get(\"error\")\n const body = response.get(\"text\")\n const duration = response.get(\"duration\")\n const headersKeys = Object.keys(headers)\n const contentType = headers[\"content-type\"] || headers[\"Content-Type\"]\n\n const ResponseBody = getComponent(\"responseBody\")\n const returnObject = headersKeys.map(key => {\n var joinedHeaders = Array.isArray(headers[key]) ? headers[key].join() : headers[key]\n return <span className=\"headerline\" key={key}> {key}: {joinedHeaders} </span>\n })\n const hasHeaders = returnObject.length !== 0\n const Markdown = getComponent(\"Markdown\", true)\n const RequestSnippets = getComponent(\"RequestSnippets\", true)\n const Curl = getComponent(\"curl\")\n\n return (\n <div>\n { curlRequest && (requestSnippetsEnabled === true || requestSnippetsEnabled === \"true\"\n ? <RequestSnippets request={ curlRequest }/>\n : <Curl request={ curlRequest } getConfigs={ getConfigs } />) }\n { url && <div>\n <div className=\"request-url\">\n <h4>Request URL</h4>\n <pre className=\"microlight\">{url}</pre>\n </div>\n </div>\n }\n <h4>Server response</h4>\n <table className=\"responses-table live-responses-table\">\n <thead>\n <tr className=\"responses-header\">\n <td className=\"col_header response-col_status\">Code</td>\n <td className=\"col_header response-col_description\">Details</td>\n </tr>\n </thead>\n <tbody>\n <tr className=\"response\">\n <td className=\"response-col_status\">\n { status }\n {\n notDocumented ? <div className=\"response-undocumented\">\n <i> Undocumented </i>\n </div>\n : null\n }\n </td>\n <td className=\"response-col_description\">\n {\n isError ? <Markdown source={`${response.get(\"name\") !== \"\" ? `${response.get(\"name\")}: ` : \"\"}${response.get(\"message\")}`}/>\n : null\n }\n {\n body ? <ResponseBody content={ body }\n contentType={ contentType }\n url={ url }\n headers={ headers }\n getConfigs={ getConfigs }\n getComponent={ getComponent }/>\n : null\n }\n {\n hasHeaders ? <Headers headers={ returnObject }/> : null\n }\n {\n displayRequestDuration && duration ? <Duration duration={ duration } /> : null\n }\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n )\n }\n\n static propTypes = {\n getComponent: PropTypes.func.isRequired,\n response: ImPropTypes.map\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Im from \"immutable\"\n\nconst SWAGGER2_OPERATION_METHODS = [\n \"get\", \"put\", \"post\", \"delete\", \"options\", \"head\", \"patch\"\n]\n\nconst OAS3_OPERATION_METHODS = SWAGGER2_OPERATION_METHODS.concat([\"trace\"])\n\n\nexport default class Operations extends React.Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n oas3Selectors: PropTypes.func.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired,\n getConfigs: PropTypes.func.isRequired,\n fn: PropTypes.func.isRequired\n };\n\n render() {\n let {\n specSelectors,\n } = this.props\n\n const taggedOps = specSelectors.taggedOperations()\n\n if(taggedOps.size === 0) {\n return <h3> No operations defined in spec!</h3>\n }\n\n return (\n <div>\n { taggedOps.map(this.renderOperationTag).toArray() }\n { taggedOps.size < 1 ? <h3> No operations defined in spec! </h3> : null }\n </div>\n )\n }\n\n renderOperationTag = (tagObj, tag) => {\n const {\n specSelectors,\n getComponent,\n oas3Selectors,\n layoutSelectors,\n layoutActions,\n getConfigs,\n } = this.props\n const OperationContainer = getComponent(\"OperationContainer\", true)\n const OperationTag = getComponent(\"OperationTag\")\n const operations = tagObj.get(\"operations\")\n return (\n <OperationTag\n key={\"operation-\" + tag}\n tagObj={tagObj}\n tag={tag}\n oas3Selectors={oas3Selectors}\n layoutSelectors={layoutSelectors}\n layoutActions={layoutActions}\n getConfigs={getConfigs}\n getComponent={getComponent}\n specUrl={specSelectors.url()}>\n <div className=\"operation-tag-content\">\n {\n operations.map(op => {\n const path = op.get(\"path\")\n const method = op.get(\"method\")\n const specPath = Im.List([\"paths\", path, method])\n\n\n // FIXME: (someday) this logic should probably be in a selector,\n // but doing so would require further opening up\n // selectors to the plugin system, to allow for dynamic\n // overriding of low-level selectors that other selectors\n // rely on. --KS, 12/17\n const validMethods = specSelectors.isOAS3() ?\n OAS3_OPERATION_METHODS : SWAGGER2_OPERATION_METHODS\n\n if (validMethods.indexOf(method) === -1) {\n return null\n }\n\n return (\n <OperationContainer\n key={`${path}-${method}`}\n specPath={specPath}\n op={op}\n path={path}\n method={method}\n tag={tag} />\n )\n }).toArray()\n }\n </div>\n </OperationTag>\n )\n }\n\n}\n\nOperations.propTypes = {\n layoutActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n fn: PropTypes.object.isRequired\n}\n","export function isAbsoluteUrl(url) {\n return url.match(/^(?:[a-z]+:)?\\/\\//i) // Matches http://, HTTP://, https://, ftp://, //example.com,\n}\n\nexport function addProtocol(url) {\n if (!url.match(/^\\/\\//i)) return url // Checks if protocol is missing e.g. //example.com\n\n return `${window.location.protocol}${url}`\n}\n\nexport function buildBaseUrl(selectedServer, specUrl) {\n if (!selectedServer) return specUrl\n if (isAbsoluteUrl(selectedServer)) return addProtocol(selectedServer)\n\n return new URL(selectedServer, specUrl).href\n}\n\nexport function buildUrl(url, specUrl, { selectedServer=\"\" } = {}) {\n if (!url) return undefined\n if (isAbsoluteUrl(url)) return url\n\n const baseUrl = buildBaseUrl(selectedServer, specUrl)\n if (!isAbsoluteUrl(baseUrl)) {\n return new URL(url, window.location.href).href\n }\n return new URL(url, baseUrl).href\n}\n\n/**\n * Safe version of buildUrl function. `selectedServer` can contain server variables\n * which can fail the URL resolution.\n */\nexport function safeBuildUrl(url, specUrl, { selectedServer=\"\" } = {}) {\n try {\n return buildUrl(url, specUrl, { selectedServer })\n } catch {\n return undefined\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport Im from \"immutable\"\nimport { createDeepLinkPath, escapeDeepLinkPath, sanitizeUrl } from \"core/utils\"\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { isFunc } from \"core/utils\"\n\nexport default class OperationTag extends React.Component {\n\n static defaultProps = {\n tagObj: Im.fromJS({}),\n tag: \"\",\n }\n\n static propTypes = {\n tagObj: ImPropTypes.map.isRequired,\n tag: PropTypes.string.isRequired,\n\n oas3Selectors: PropTypes.func.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n\n getConfigs: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n\n specUrl: PropTypes.string.isRequired,\n\n children: PropTypes.element,\n }\n\n render() {\n const {\n tagObj,\n tag,\n children,\n oas3Selectors,\n layoutSelectors,\n layoutActions,\n getConfigs,\n getComponent,\n specUrl,\n } = this.props\n\n let {\n docExpansion,\n deepLinking,\n } = getConfigs()\n\n const isDeepLinkingEnabled = deepLinking && deepLinking !== \"false\"\n\n const Collapse = getComponent(\"Collapse\")\n const Markdown = getComponent(\"Markdown\", true)\n const DeepLink = getComponent(\"DeepLink\")\n const Link = getComponent(\"Link\")\n\n let tagDescription = tagObj.getIn([\"tagDetails\", \"description\"], null)\n let tagExternalDocsDescription = tagObj.getIn([\"tagDetails\", \"externalDocs\", \"description\"])\n let rawTagExternalDocsUrl = tagObj.getIn([\"tagDetails\", \"externalDocs\", \"url\"])\n let tagExternalDocsUrl\n if (isFunc(oas3Selectors) && isFunc(oas3Selectors.selectedServer)) {\n tagExternalDocsUrl = safeBuildUrl(rawTagExternalDocsUrl, specUrl, { selectedServer: oas3Selectors.selectedServer() })\n } else {\n tagExternalDocsUrl = rawTagExternalDocsUrl\n }\n\n let isShownKey = [\"operations-tag\", tag]\n let showTag = layoutSelectors.isShown(isShownKey, docExpansion === \"full\" || docExpansion === \"list\")\n\n return (\n <div className={showTag ? \"opblock-tag-section is-open\" : \"opblock-tag-section\"} >\n\n <h3\n onClick={() => layoutActions.show(isShownKey, !showTag)}\n className={!tagDescription ? \"opblock-tag no-desc\" : \"opblock-tag\"}\n id={isShownKey.map(v => escapeDeepLinkPath(v)).join(\"-\")}\n data-tag={tag}\n data-is-open={showTag}\n >\n <DeepLink\n enabled={isDeepLinkingEnabled}\n isShown={showTag}\n path={createDeepLinkPath(tag)}\n text={tag} />\n {!tagDescription ? <small></small> :\n <small>\n <Markdown source={tagDescription} />\n </small>\n }\n\n {!tagExternalDocsDescription ? null :\n <div className=\"info__externaldocs\">\n <small>\n {tagExternalDocsDescription}\n {tagExternalDocsUrl ? \": \" : null}\n {tagExternalDocsUrl ?\n <Link\n href={sanitizeUrl(tagExternalDocsUrl)}\n onClick={(e) => e.stopPropagation()}\n target=\"_blank\"\n >{tagExternalDocsUrl}</Link> : null\n }\n </small>\n </div>\n }\n\n\n <button\n aria-expanded={showTag}\n className=\"expand-operation\"\n title={showTag ? \"Collapse operation\" : \"Expand operation\"}\n onClick={() => layoutActions.show(isShownKey, !showTag)}>\n\n <svg className=\"arrow\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\">\n <use href={showTag ? \"#large-arrow-up\" : \"#large-arrow-down\"} xlinkHref={showTag ? \"#large-arrow-up\" : \"#large-arrow-down\"} />\n </svg>\n </button>\n </h3>\n\n <Collapse isOpened={showTag}>\n {children}\n </Collapse>\n </div>\n )\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { getList } from \"core/utils\"\nimport { getExtensions, sanitizeUrl, escapeDeepLinkPath } from \"core/utils\"\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { Iterable, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\n\nexport default class Operation extends PureComponent {\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operation: PropTypes.instanceOf(Iterable).isRequired,\n summary: PropTypes.string,\n response: PropTypes.instanceOf(Iterable),\n request: PropTypes.instanceOf(Iterable),\n\n toggleShown: PropTypes.func.isRequired,\n onTryoutClick: PropTypes.func.isRequired,\n onCancelClick: PropTypes.func.isRequired,\n onExecute: PropTypes.func.isRequired,\n\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n authSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired\n }\n\n static defaultProps = {\n operation: null,\n response: null,\n request: null,\n specPath: List(),\n summary: \"\"\n }\n\n render() {\n let {\n specPath,\n response,\n request,\n toggleShown,\n onTryoutClick,\n onCancelClick,\n onExecute,\n fn,\n getComponent,\n getConfigs,\n specActions,\n specSelectors,\n authActions,\n authSelectors,\n oas3Actions,\n oas3Selectors\n } = this.props\n let operationProps = this.props.operation\n\n let {\n deprecated,\n isShown,\n path,\n method,\n op,\n tag,\n operationId,\n allowTryItOut,\n displayRequestDuration,\n tryItOutEnabled,\n executeInProgress\n } = operationProps.toJS()\n\n let {\n description,\n externalDocs,\n schemes\n } = op\n\n const externalDocsUrl = externalDocs ? safeBuildUrl(externalDocs.url, specSelectors.url(), { selectedServer: oas3Selectors.selectedServer() }) : \"\"\n let operation = operationProps.getIn([\"op\"])\n let responses = operation.get(\"responses\")\n let parameters = getList(operation, [\"parameters\"])\n let operationScheme = specSelectors.operationScheme(path, method)\n let isShownKey = [\"operations\", tag, operationId]\n let extensions = getExtensions(operation)\n\n const Responses = getComponent(\"responses\")\n const Parameters = getComponent( \"parameters\" )\n const Execute = getComponent( \"execute\" )\n const Clear = getComponent( \"clear\" )\n const Collapse = getComponent( \"Collapse\" )\n const Markdown = getComponent(\"Markdown\", true)\n const Schemes = getComponent( \"schemes\" )\n const OperationServers = getComponent( \"OperationServers\" )\n const OperationExt = getComponent( \"OperationExt\" )\n const OperationSummary = getComponent( \"OperationSummary\" )\n const Link = getComponent( \"Link\" )\n\n const { showExtensions } = getConfigs()\n\n // Merge in Live Response\n if(responses && response && response.size > 0) {\n let notDocumented = !responses.get(String(response.get(\"status\"))) && !responses.get(\"default\")\n response = response.set(\"notDocumented\", notDocumented)\n }\n\n let onChangeKey = [ path, method ] // Used to add values to _this_ operation ( indexed by path and method )\n\n return (\n <div className={deprecated ? \"opblock opblock-deprecated\" : isShown ? `opblock opblock-${method} is-open` : `opblock opblock-${method}`} id={escapeDeepLinkPath(isShownKey.join(\"-\"))} >\n <OperationSummary operationProps={operationProps} isShown={isShown} toggleShown={toggleShown} getComponent={getComponent} authActions={authActions} authSelectors={authSelectors} specPath={specPath} />\n <Collapse isOpened={isShown}>\n <div className=\"opblock-body\">\n { (operation && operation.size) || operation === null ? null :\n <img height={\"32px\"} width={\"32px\"} src={require(\"core/../img/rolling-load.svg\")} className=\"opblock-loading-animation\" />\n }\n { deprecated && <h4 className=\"opblock-title_normal\"> Warning: Deprecated</h4>}\n { description &&\n <div className=\"opblock-description-wrapper\">\n <div className=\"opblock-description\">\n <Markdown source={ description } />\n </div>\n </div>\n }\n {\n externalDocsUrl ?\n <div className=\"opblock-external-docs-wrapper\">\n <h4 className=\"opblock-title_normal\">Find more details</h4>\n <div className=\"opblock-external-docs\">\n <span className=\"opblock-external-docs__description\">\n <Markdown source={ externalDocs.description } />\n </span>\n <Link target=\"_blank\" className=\"opblock-external-docs__link\" href={sanitizeUrl(externalDocsUrl)}>{externalDocsUrl}</Link>\n </div>\n </div> : null\n }\n\n { !operation || !operation.size ? null :\n <Parameters\n parameters={parameters}\n specPath={specPath.push(\"parameters\")}\n operation={operation}\n onChangeKey={onChangeKey}\n onTryoutClick = { onTryoutClick }\n onCancelClick = { onCancelClick }\n tryItOutEnabled = { tryItOutEnabled }\n allowTryItOut={allowTryItOut}\n\n fn={fn}\n getComponent={ getComponent }\n specActions={ specActions }\n specSelectors={ specSelectors }\n pathMethod={ [path, method] }\n getConfigs={ getConfigs }\n oas3Actions={ oas3Actions }\n oas3Selectors={ oas3Selectors }\n />\n }\n\n { !tryItOutEnabled ? null :\n <OperationServers\n getComponent={getComponent}\n path={path}\n method={method}\n operationServers={operation.get(\"servers\")}\n pathServers={specSelectors.paths().getIn([path, \"servers\"])}\n getSelectedServer={oas3Selectors.selectedServer}\n setSelectedServer={oas3Actions.setSelectedServer}\n setServerVariableValue={oas3Actions.setServerVariableValue}\n getServerVariable={oas3Selectors.serverVariableValue}\n getEffectiveServerValue={oas3Selectors.serverEffectiveValue}\n />\n }\n\n {!tryItOutEnabled || !allowTryItOut ? null : schemes && schemes.size ? <div className=\"opblock-schemes\">\n <Schemes schemes={ schemes }\n path={ path }\n method={ method }\n specActions={ specActions }\n currentScheme={ operationScheme } />\n </div> : null\n }\n\n <div className={(!tryItOutEnabled || !response || !allowTryItOut) ? \"execute-wrapper\" : \"btn-group\"}>\n { !tryItOutEnabled || !allowTryItOut ? null :\n\n <Execute\n operation={ operation }\n specActions={ specActions }\n specSelectors={ specSelectors }\n oas3Selectors={ oas3Selectors }\n oas3Actions={ oas3Actions }\n path={ path }\n method={ method }\n onExecute={ onExecute }\n disabled={executeInProgress}/>\n }\n\n { (!tryItOutEnabled || !response || !allowTryItOut) ? null :\n <Clear\n specActions={ specActions }\n path={ path }\n method={ method }/>\n }\n </div>\n\n {executeInProgress ? <div className=\"loading-container\"><div className=\"loading\"></div></div> : null}\n\n { !responses ? null :\n <Responses\n responses={ responses }\n request={ request }\n tryItOutResponse={ response }\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n specSelectors={ specSelectors }\n oas3Actions={oas3Actions}\n oas3Selectors={oas3Selectors}\n specActions={ specActions }\n produces={specSelectors.producesOptionsFor([path, method]) }\n producesValue={ specSelectors.currentProducesFor([path, method]) }\n specPath={specPath.push(\"responses\")}\n path={ path }\n method={ method }\n displayRequestDuration={ displayRequestDuration }\n fn={fn} />\n }\n\n { !showExtensions || !extensions.size ? null :\n <OperationExt extensions={ extensions } getComponent={ getComponent } />\n }\n </div>\n </Collapse>\n </div>\n )\n }\n\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_toString_da931f05__[\"default\"] });","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport toString from \"lodash/toString\"\n\n\nexport default class OperationSummary extends PureComponent {\n\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n isShown: PropTypes.bool.isRequired,\n toggleShown: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n authSelectors: PropTypes.object,\n }\n\n static defaultProps = {\n operationProps: null,\n specPath: List(),\n summary: \"\"\n }\n\n render() {\n\n let {\n isShown,\n toggleShown,\n getComponent,\n authActions,\n authSelectors,\n operationProps,\n specPath,\n } = this.props\n\n let {\n summary,\n isAuthorized,\n method,\n op,\n showSummary,\n path,\n operationId,\n originalOperationId,\n displayOperationId,\n } = operationProps.toJS()\n\n let {\n summary: resolvedSummary,\n } = op\n\n let security = operationProps.get(\"security\")\n\n const AuthorizeOperationBtn = getComponent(\"authorizeOperationBtn\")\n const OperationSummaryMethod = getComponent(\"OperationSummaryMethod\")\n const OperationSummaryPath = getComponent(\"OperationSummaryPath\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n\n const hasSecurity = security && !!security.count()\n const securityIsOptional = hasSecurity && security.size === 1 && security.first().isEmpty()\n const allowAnonymous = !hasSecurity || securityIsOptional\n return (\n <div className={`opblock-summary opblock-summary-${method}`} >\n <button\n aria-label={`${method} ${path.replace(/\\//g, \"\\u200b/\")}`}\n aria-expanded={isShown}\n className=\"opblock-summary-control\"\n onClick={toggleShown}\n >\n <OperationSummaryMethod method={method} />\n <OperationSummaryPath getComponent={getComponent} operationProps={operationProps} specPath={specPath} />\n\n {!showSummary ? null :\n <div className=\"opblock-summary-description\">\n {toString(resolvedSummary || summary)}\n </div>\n }\n\n {displayOperationId && (originalOperationId || operationId) ? <span className=\"opblock-summary-operation-id\">{originalOperationId || operationId}</span> : null}\n\n <svg className=\"arrow\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\">\n <use href={isShown ? \"#large-arrow-up\" : \"#large-arrow-down\"} xlinkHref={isShown ? \"#large-arrow-up\" : \"#large-arrow-down\"} />\n </svg>\n </button>\n\n {\n allowAnonymous ? null :\n <AuthorizeOperationBtn\n isAuthorized={isAuthorized}\n onClick={() => {\n const applicableDefinitions = authSelectors.definitionsForRequirements(security)\n authActions.showDefinitions(applicableDefinitions)\n }}\n />\n }\n <JumpToPath path={specPath} />{/* TODO: use wrapComponents here, swagger-ui doesn't care about jumpToPath */}\n </div>\n )\n\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable } from \"immutable\"\n\nexport default class OperationSummaryMethod extends PureComponent {\n\n static propTypes = {\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n method: PropTypes.string.isRequired,\n }\n\n static defaultProps = {\n operationProps: null,\n }\n render() {\n\n let {\n method,\n } = this.props\n\n return (\n <span className=\"opblock-summary-method\">{method.toUpperCase()}</span>\n )\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_splice_d746fc5e__[\"default\"] });","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable } from \"immutable\"\nimport { createDeepLinkPath } from \"core/utils\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class OperationSummaryPath extends PureComponent{\n\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render(){\n let {\n getComponent,\n operationProps,\n } = this.props\n\n\n let {\n deprecated,\n isShown,\n path,\n tag,\n operationId,\n isDeepLinkingEnabled,\n } = operationProps.toJS()\n\n /**\n * Add <wbr> word-break elements between each segment, before the slash\n * to allow browsers an opportunity to break long paths into sensible segments.\n */\n const pathParts = path.split(/(?=\\/)/g)\n for (let i = 1; i < pathParts.length; i += 2) {\n pathParts.splice(i, 0, <wbr key={i} />)\n }\n\n const DeepLink = getComponent( \"DeepLink\" )\n\n return(\n <span className={ deprecated ? \"opblock-summary-path__deprecated\" : \"opblock-summary-path\" }\n data-path={path}>\n <DeepLink\n enabled={isDeepLinkingEnabled}\n isShown={isShown}\n path={createDeepLinkPath(`${tag}/${operationId}`)}\n text={pathParts} />\n </span>\n\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const OperationExt = ({ extensions, getComponent }) => {\n let OperationExtRow = getComponent(\"OperationExtRow\")\n return (\n <div className=\"opblock-section\">\n <div className=\"opblock-section-header\">\n <h4>Extensions</h4>\n </div>\n <div className=\"table-container\">\n\n <table>\n <thead>\n <tr>\n <td className=\"col_header\">Field</td>\n <td className=\"col_header\">Value</td>\n </tr>\n </thead>\n <tbody>\n {\n extensions.entrySeq().map(([k, v]) => <OperationExtRow key={`${k}-${v}`} xKey={k} xVal={v} />)\n }\n </tbody>\n </table>\n </div>\n </div>\n )\n}\nOperationExt.propTypes = {\n extensions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n}\n\nexport default OperationExt\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const OperationExtRow = ({ xKey, xVal }) => {\n const xNormalizedValue = !xVal ? null : xVal.toJS ? xVal.toJS() : xVal\n\n return (<tr>\n <td>{ xKey }</td>\n <td>{ JSON.stringify(xNormalizedValue) }</td>\n </tr>)\n}\nOperationExtRow.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default OperationExtRow\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_js_file_download_bd23dbb6__[\"default\"] });","import React, { useRef, useEffect } from \"react\"\nimport PropTypes from \"prop-types\"\nimport cx from \"classnames\"\nimport {SyntaxHighlighter, getStyle} from \"core/syntax-highlighting\"\nimport get from \"lodash/get\"\nimport isFunction from \"lodash/isFunction\"\nimport saveAs from \"js-file-download\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\n\nconst HighlightCode = ({value, fileName, className, downloadable, getConfigs, canCopy, language}) => {\n const config = isFunction(getConfigs) ? getConfigs() : null\n const canSyntaxHighlight = get(config, \"syntaxHighlight\") !== false && get(config, \"syntaxHighlight.activated\", true)\n const rootRef = useRef(null)\n\n useEffect(() => {\n const childNodes = Array\n .from(rootRef.current.childNodes)\n .filter(node => !!node.nodeType && node.classList.contains(\"microlight\"))\n\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.addEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement, { passive: false }))\n\n return () => {\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.removeEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement))\n }\n }, [value, className, language])\n\n const handleDownload = () => {\n saveAs(value, fileName)\n }\n\n const handlePreventYScrollingBeyondElement = (e) => {\n const { target, deltaY } = e\n const { scrollHeight: contentHeight, offsetHeight: visibleHeight, scrollTop } = target\n const scrollOffset = visibleHeight + scrollTop\n const isElementScrollable = contentHeight > visibleHeight\n const isScrollingPastTop = scrollTop === 0 && deltaY < 0\n const isScrollingPastBottom = scrollOffset >= contentHeight && deltaY > 0\n\n if (isElementScrollable && (isScrollingPastTop || isScrollingPastBottom)) {\n e.preventDefault()\n }\n }\n\n return (\n <div className=\"highlight-code\" ref={rootRef}>\n {!downloadable ? null :\n <div className=\"download-contents\" onClick={handleDownload}>\n Download\n </div>\n }\n\n {canCopy && (\n <div className=\"copy-to-clipboard\">\n <CopyToClipboard text={value}><button/></CopyToClipboard>\n </div>\n )}\n\n {canSyntaxHighlight\n ? <SyntaxHighlighter\n language={language}\n className={cx(className, \"microlight\")}\n style={getStyle(get(config, \"syntaxHighlight.theme\", \"agate\"))}\n >\n {value}\n </SyntaxHighlighter>\n : <pre className={cx(className, \"microlight\")}>{value}</pre>\n }\n\n </div>\n )\n}\n\nHighlightCode.propTypes = {\n value: PropTypes.string.isRequired,\n getConfigs: PropTypes.func.isRequired,\n className: PropTypes.string,\n downloadable: PropTypes.bool,\n fileName: PropTypes.string,\n language: PropTypes.string,\n canCopy: PropTypes.bool\n}\n\nHighlightCode.defaultProps = {\n fileName: \"response.txt\"\n}\n\nexport default HighlightCode\n","import React from \"react\"\nimport { fromJS, Iterable } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { defaultStatusCode, getAcceptControllingResponse } from \"core/utils\"\nimport createHtmlReadyId from \"../../helpers/create-html-ready-id\"\n\nexport default class Responses extends React.Component {\n static propTypes = {\n tryItOutResponse: PropTypes.instanceOf(Iterable),\n responses: PropTypes.instanceOf(Iterable).isRequired,\n produces: PropTypes.instanceOf(Iterable),\n producesValue: PropTypes.any,\n displayRequestDuration: PropTypes.bool.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n fn: PropTypes.object.isRequired\n }\n\n static defaultProps = {\n tryItOutResponse: null,\n produces: fromJS([\"application/json\"]),\n displayRequestDuration: false\n }\n\n // These performance-enhancing checks were disabled as part of Multiple Examples\n // because they were causing data-consistency issues\n //\n // shouldComponentUpdate(nextProps) {\n // // BUG: props.tryItOutResponse is always coming back as a new Immutable instance\n // let render = this.props.tryItOutResponse !== nextProps.tryItOutResponse\n // || this.props.responses !== nextProps.responses\n // || this.props.produces !== nextProps.produces\n // || this.props.producesValue !== nextProps.producesValue\n // || this.props.displayRequestDuration !== nextProps.displayRequestDuration\n // || this.props.path !== nextProps.path\n // || this.props.method !== nextProps.method\n // return render\n // }\n\n\tonChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val)\n\n onResponseContentTypeChange = ({ controlsAcceptHeader, value }) => {\n const { oas3Actions, path, method } = this.props\n if(controlsAcceptHeader) {\n oas3Actions.setResponseContentType({\n value,\n path,\n method\n })\n }\n }\n\n render() {\n let {\n responses,\n tryItOutResponse,\n getComponent,\n getConfigs,\n specSelectors,\n fn,\n producesValue,\n displayRequestDuration,\n specPath,\n path,\n method,\n oas3Selectors,\n oas3Actions,\n } = this.props\n let defaultCode = defaultStatusCode( responses )\n\n const ContentType = getComponent( \"contentType\" )\n const LiveResponse = getComponent( \"liveResponse\" )\n const Response = getComponent( \"response\" )\n\n let produces = this.props.produces && this.props.produces.size ? this.props.produces : Responses.defaultProps.produces\n\n const isSpecOAS3 = specSelectors.isOAS3()\n\n const acceptControllingResponse = isSpecOAS3 ?\n getAcceptControllingResponse(responses) : null\n\n const regionId = createHtmlReadyId(`${method}${path}_responses`)\n const controlId = `${regionId}_select`\n\n return (\n <div className=\"responses-wrapper\">\n <div className=\"opblock-section-header\">\n <h4>Responses</h4>\n { specSelectors.isOAS3() ? null : <label htmlFor={controlId}>\n <span>Response content type</span>\n <ContentType value={producesValue}\n ariaControls={regionId}\n ariaLabel=\"Response content type\"\n className=\"execute-content-type\"\n contentTypes={produces}\n controlId={controlId}\n onChange={this.onChangeProducesWrapper} />\n </label> }\n </div>\n <div className=\"responses-inner\">\n {\n !tryItOutResponse ? null\n : <div>\n <LiveResponse response={ tryItOutResponse }\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n specSelectors={ specSelectors }\n path={ this.props.path }\n method={ this.props.method }\n displayRequestDuration={ displayRequestDuration } />\n <h4>Responses</h4>\n </div>\n\n }\n\n <table aria-live=\"polite\" className=\"responses-table\" id={regionId} role=\"region\">\n <thead>\n <tr className=\"responses-header\">\n <td className=\"col_header response-col_status\">Code</td>\n <td className=\"col_header response-col_description\">Description</td>\n { specSelectors.isOAS3() ? <td className=\"col col_header response-col_links\">Links</td> : null }\n </tr>\n </thead>\n <tbody>\n {\n responses.entrySeq().map( ([code, response]) => {\n\n let className = tryItOutResponse && tryItOutResponse.get(\"status\") == code ? \"response_current\" : \"\"\n return (\n <Response key={ code }\n path={path}\n method={method}\n specPath={specPath.push(code)}\n isDefault={defaultCode === code}\n fn={fn}\n className={ className }\n code={ code }\n response={ response }\n specSelectors={ specSelectors }\n controlsAcceptHeader={response === acceptControllingResponse}\n onContentTypeChange={this.onResponseContentTypeChange}\n contentType={ producesValue }\n getConfigs={ getConfigs }\n activeExamplesKey={oas3Selectors.activeExamplesMember(\n path,\n method,\n \"responses\",\n code\n )}\n oas3Actions={oas3Actions}\n getComponent={ getComponent }/>\n )\n }).toArray()\n }\n </tbody>\n </table>\n </div>\n </div>\n )\n }\n}\n","/**\n * Replace invalid characters from a string to create an html-ready ID\n *\n * @param {string} id A string that may contain invalid characters for the HTML ID attribute\n * @param {string} [replacement=_] The string to replace invalid characters with; \"_\" by default\n * @return {string} Information about the parameter schema\n */\nexport default function createHtmlReadyId(id, replacement = \"_\") {\n return id.replace(/[^\\w-]/g, replacement)\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_values_a68750d2__[\"default\"] });","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport cx from \"classnames\"\nimport { fromJS, Seq, Iterable, List, Map } from \"immutable\"\nimport { getExtensions, getSampleSchema, fromJSOrdered, stringify } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\n\n\nconst getExampleComponent = ( sampleResponse, HighlightCode, getConfigs ) => {\n if (\n sampleResponse !== undefined &&\n sampleResponse !== null\n ) {\n let language = null\n let testValueForJson = getKnownSyntaxHighlighterLanguage(sampleResponse)\n if (testValueForJson) {\n language = \"json\"\n }\n return <div>\n <HighlightCode className=\"example\" getConfigs={ getConfigs } language={ language } value={ stringify(sampleResponse) } />\n </div>\n }\n return null\n}\n\nexport default class Response extends React.Component {\n constructor(props, context) {\n super(props, context)\n\n this.state = {\n responseContentType: \"\",\n }\n }\n\n static propTypes = {\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n code: PropTypes.string.isRequired,\n response: PropTypes.instanceOf(Iterable),\n className: PropTypes.string,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n fn: PropTypes.object.isRequired,\n contentType: PropTypes.string,\n activeExamplesKey: PropTypes.string,\n controlsAcceptHeader: PropTypes.bool,\n onContentTypeChange: PropTypes.func\n }\n\n static defaultProps = {\n response: fromJS({}),\n onContentTypeChange: () => {}\n };\n\n _onContentTypeChange = (value) => {\n const { onContentTypeChange, controlsAcceptHeader } = this.props\n this.setState({ responseContentType: value })\n onContentTypeChange({\n value: value,\n controlsAcceptHeader\n })\n }\n\n getTargetExamplesKey = () => {\n const { response, contentType, activeExamplesKey } = this.props\n\n const activeContentType = this.state.responseContentType || contentType\n const activeMediaType = response.getIn([\"content\", activeContentType], Map({}))\n const examplesForMediaType = activeMediaType.get(\"examples\", null)\n\n const firstExamplesKey = examplesForMediaType.keySeq().first()\n return activeExamplesKey || firstExamplesKey\n }\n\n render() {\n let {\n path,\n method,\n code,\n response,\n className,\n specPath,\n fn,\n getComponent,\n getConfigs,\n specSelectors,\n contentType,\n controlsAcceptHeader,\n oas3Actions,\n } = this.props\n\n let { inferSchema } = fn\n let isOAS3 = specSelectors.isOAS3()\n const { showExtensions } = getConfigs()\n\n let extensions = showExtensions ? getExtensions(response) : null\n let headers = response.get(\"headers\")\n let links = response.get(\"links\")\n const ResponseExtension = getComponent(\"ResponseExtension\")\n const Headers = getComponent(\"headers\")\n const HighlightCode = getComponent(\"highlightCode\")\n const ModelExample = getComponent(\"modelExample\")\n const Markdown = getComponent(\"Markdown\", true)\n const OperationLink = getComponent(\"operationLink\")\n const ContentType = getComponent(\"contentType\")\n const ExamplesSelect = getComponent(\"ExamplesSelect\")\n const Example = getComponent(\"Example\")\n\n\n var schema, specPathWithPossibleSchema\n\n const activeContentType = this.state.responseContentType || contentType\n const activeMediaType = response.getIn([\"content\", activeContentType], Map({}))\n const examplesForMediaType = activeMediaType.get(\"examples\", null)\n\n // Goal: find a schema value for `schema`\n if(isOAS3) {\n const oas3SchemaForContentType = activeMediaType.get(\"schema\")\n\n schema = oas3SchemaForContentType ? inferSchema(oas3SchemaForContentType.toJS()) : null\n specPathWithPossibleSchema = oas3SchemaForContentType ? List([\"content\", this.state.responseContentType, \"schema\"]) : specPath\n } else {\n schema = response.get(\"schema\")\n specPathWithPossibleSchema = response.has(\"schema\") ? specPath.push(\"schema\") : specPath\n }\n\n let mediaTypeExample\n let shouldOverrideSchemaExample = false\n let sampleSchema\n let sampleGenConfig = {\n includeReadOnly: true\n }\n\n // Goal: find an example value for `sampleResponse`\n if(isOAS3) {\n sampleSchema = activeMediaType.get(\"schema\")?.toJS()\n if(examplesForMediaType) {\n const targetExamplesKey = this.getTargetExamplesKey()\n const targetExample = examplesForMediaType\n .get(targetExamplesKey, Map({}))\n const getMediaTypeExample = (targetExample) =>\n targetExample.get(\"value\")\n mediaTypeExample = getMediaTypeExample(targetExample)\n if(mediaTypeExample === undefined) {\n mediaTypeExample = getMediaTypeExample(examplesForMediaType.values().next().value)\n }\n shouldOverrideSchemaExample = true\n } else if(activeMediaType.get(\"example\") !== undefined) {\n // use the example key's value\n mediaTypeExample = activeMediaType.get(\"example\")\n shouldOverrideSchemaExample = true\n }\n } else {\n sampleSchema = schema\n sampleGenConfig = {...sampleGenConfig, includeWriteOnly: true}\n const oldOASMediaTypeExample = response.getIn([\"examples\", activeContentType])\n if(oldOASMediaTypeExample) {\n mediaTypeExample = oldOASMediaTypeExample\n shouldOverrideSchemaExample = true\n }\n }\n\n const sampleResponse = getSampleSchema(\n sampleSchema,\n activeContentType,\n sampleGenConfig,\n shouldOverrideSchemaExample ? mediaTypeExample : undefined\n )\n\n let example = getExampleComponent( sampleResponse, HighlightCode, getConfigs )\n\n return (\n <tr className={ \"response \" + ( className || \"\") } data-code={code}>\n <td className=\"response-col_status\">\n { code }\n </td>\n <td className=\"response-col_description\">\n\n <div className=\"response-col_description__inner\">\n <Markdown source={ response.get( \"description\" ) } />\n </div>\n\n { !showExtensions || !extensions.size ? null : extensions.entrySeq().map(([key, v]) => <ResponseExtension key={`${key}-${v}`} xKey={key} xVal={v} /> )}\n\n {isOAS3 && response.get(\"content\") ? (\n <section className=\"response-controls\">\n <div\n className={cx(\"response-control-media-type\", {\n \"response-control-media-type--accept-controller\": controlsAcceptHeader\n })}\n >\n <small className=\"response-control-media-type__title\">\n Media type\n </small>\n <ContentType\n value={this.state.responseContentType}\n contentTypes={\n response.get(\"content\")\n ? response.get(\"content\").keySeq()\n : Seq()\n }\n onChange={this._onContentTypeChange}\n ariaLabel=\"Media Type\"\n />\n {controlsAcceptHeader ? (\n <small className=\"response-control-media-type__accept-message\">\n Controls <code>Accept</code> header.\n </small>\n ) : null}\n </div>\n {examplesForMediaType ? (\n <div className=\"response-control-examples\">\n <small className=\"response-control-examples__title\">\n Examples\n </small>\n <ExamplesSelect\n examples={examplesForMediaType}\n currentExampleKey={this.getTargetExamplesKey()}\n onSelect={key =>\n oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: [path, method],\n contextType: \"responses\",\n contextName: code\n })\n }\n showLabels={false}\n />\n </div>\n ) : null}\n </section>\n ) : null}\n\n { example || schema ? (\n <ModelExample\n specPath={specPathWithPossibleSchema}\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n specSelectors={ specSelectors }\n schema={ fromJSOrdered(schema) }\n example={ example }\n includeReadOnly={ true }/>\n ) : null }\n\n { isOAS3 && examplesForMediaType ? (\n <Example\n example={examplesForMediaType.get(this.getTargetExamplesKey(), Map({}))}\n getComponent={getComponent}\n getConfigs={getConfigs}\n omitValue={true}\n />\n ) : null}\n\n { headers ? (\n <Headers\n headers={ headers }\n getComponent={ getComponent }\n />\n ) : null}\n\n </td>\n {isOAS3 ? <td className=\"response-col_links\">\n { links ?\n links.toSeq().entrySeq().map(([key, link]) => {\n return <OperationLink key={key} name={key} link={ link } getComponent={getComponent}/>\n })\n : <i>No links</i>}\n </td> : null}\n </tr>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const ResponseExtension = ({ xKey, xVal }) => {\n return <div className=\"response__extension\">{ xKey }: { String(xVal) }</div>\n}\nResponseExtension.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default ResponseExtension\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_xml_but_prettier_2ed4d5cb__[\"default\"] });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_lodash_toLower_c29ee2b0__[\"default\"] });","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport formatXml from \"xml-but-prettier\"\nimport toLower from \"lodash/toLower\"\nimport { extractFileNameFromContentDispositionHeader } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\nimport win from \"core/window\"\n\nexport default class ResponseBody extends React.PureComponent {\n state = {\n parsedContent: null\n }\n\n static propTypes = {\n content: PropTypes.any.isRequired,\n contentType: PropTypes.string,\n getConfigs: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n headers: PropTypes.object,\n url: PropTypes.string\n }\n\n updateParsedContent = (prevContent) => {\n const { content } = this.props\n\n if(prevContent === content) {\n return\n }\n\n if(content && content instanceof Blob) {\n var reader = new FileReader()\n reader.onload = () => {\n this.setState({\n parsedContent: reader.result\n })\n }\n reader.readAsText(content)\n } else {\n this.setState({\n parsedContent: content.toString()\n })\n }\n }\n\n componentDidMount() {\n this.updateParsedContent(null)\n }\n\n componentDidUpdate(prevProps) {\n this.updateParsedContent(prevProps.content)\n }\n\n render() {\n let { content, contentType, url, headers={}, getConfigs, getComponent } = this.props\n const { parsedContent } = this.state\n const HighlightCode = getComponent(\"highlightCode\")\n const downloadName = \"response_\" + new Date().getTime()\n let body, bodyEl\n url = url || \"\"\n\n if (\n /^application\\/octet-stream/i.test(contentType) ||\n (headers[\"Content-Disposition\"] && (/attachment/i).test(headers[\"Content-Disposition\"])) ||\n (headers[\"content-disposition\"] && (/attachment/i).test(headers[\"content-disposition\"])) ||\n (headers[\"Content-Description\"] && (/File Transfer/i).test(headers[\"Content-Description\"])) ||\n (headers[\"content-description\"] && (/File Transfer/i).test(headers[\"content-description\"]))) {\n // Download\n\n if (\"Blob\" in window) {\n let type = contentType || \"text/html\"\n let blob = (content instanceof Blob) ? content : new Blob([content], {type: type})\n let href = window.URL.createObjectURL(blob)\n let fileName = url.substr(url.lastIndexOf(\"/\") + 1)\n let download = [type, fileName, href].join(\":\")\n\n // Use filename from response header,\n // First check if filename is quoted (e.g. contains space), if no, fallback to not quoted check\n let disposition = headers[\"content-disposition\"] || headers[\"Content-Disposition\"]\n if (typeof disposition !== \"undefined\") {\n let responseFilename = extractFileNameFromContentDispositionHeader(disposition)\n if (responseFilename !== null) {\n download = responseFilename\n }\n }\n\n if(win.navigator && win.navigator.msSaveOrOpenBlob) {\n bodyEl = <div><a href={ href } onClick={() => win.navigator.msSaveOrOpenBlob(blob, download)}>{ \"Download file\" }</a></div>\n } else {\n bodyEl = <div><a href={ href } download={ download }>{ \"Download file\" }</a></div>\n }\n } else {\n bodyEl = <pre className=\"microlight\">Download headers detected but your browser does not support downloading binary via XHR (Blob).</pre>\n }\n\n // Anything else (CORS)\n } else if (/json/i.test(contentType)) {\n // JSON\n let language = null\n let testValueForJson = getKnownSyntaxHighlighterLanguage(content)\n if (testValueForJson) {\n language = \"json\"\n }\n try {\n body = JSON.stringify(JSON.parse(content), null, \" \")\n } catch (error) {\n body = \"can't parse JSON. Raw result:\\n\\n\" + content\n }\n\n bodyEl = <HighlightCode language={language} downloadable fileName={`${downloadName}.json`} value={ body } getConfigs={ getConfigs } canCopy />\n\n // XML\n } else if (/xml/i.test(contentType)) {\n body = formatXml(content, {\n textNodesOnSameLine: true,\n indentor: \" \"\n })\n bodyEl = <HighlightCode downloadable fileName={`${downloadName}.xml`} value={ body } getConfigs={ getConfigs } canCopy />\n\n // HTML or Plain Text\n } else if (toLower(contentType) === \"text/html\" || /text\\/plain/.test(contentType)) {\n bodyEl = <HighlightCode downloadable fileName={`${downloadName}.html`} value={ content } getConfigs={ getConfigs } canCopy />\n\n // CSV\n } else if (toLower(contentType) === \"text/csv\" || /text\\/csv/.test(contentType)) {\n bodyEl = <HighlightCode downloadable fileName={`${downloadName}.csv`} value={ content } getConfigs={ getConfigs } canCopy />\n\n // Image\n } else if (/^image\\//i.test(contentType)) {\n if(contentType.includes(\"svg\")) {\n bodyEl = <div> { content } </div>\n } else {\n bodyEl = <img src={ window.URL.createObjectURL(content) } />\n }\n\n // Audio\n } else if (/^audio\\//i.test(contentType)) {\n bodyEl = <pre className=\"microlight\"><audio controls><source src={ url } type={ contentType } /></audio></pre>\n } else if (typeof content === \"string\") {\n bodyEl = <HighlightCode downloadable fileName={`${downloadName}.txt`} value={ content } getConfigs={ getConfigs } canCopy />\n } else if ( content.size > 0 ) {\n // We don't know the contentType, but there was some content returned\n if(parsedContent) {\n // We were able to squeeze something out of content\n // in `updateParsedContent`, so let's display it\n bodyEl = <div>\n <p className=\"i\">\n Unrecognized response type; displaying content as text.\n </p>\n <HighlightCode downloadable fileName={`${downloadName}.txt`} value={ parsedContent } getConfigs={ getConfigs } canCopy />\n </div>\n\n } else {\n // Give up\n bodyEl = <p className=\"i\">\n Unrecognized response type; unable to display.\n </p>\n }\n } else {\n // We don't know the contentType and there was no content returned\n bodyEl = null\n }\n\n return ( !bodyEl ? null : <div>\n <h5>Response body</h5>\n { bodyEl }\n </div>\n )\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Map, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class Parameters extends Component {\n\n constructor(props) {\n super(props)\n this.state = {\n callbackVisible: false,\n parametersVisible: true,\n }\n }\n\n static propTypes = {\n parameters: ImPropTypes.list.isRequired,\n operation: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired,\n tryItOutEnabled: PropTypes.bool,\n allowTryItOut: PropTypes.bool,\n onTryoutClick: PropTypes.func,\n onCancelClick: PropTypes.func,\n onChangeKey: PropTypes.array,\n pathMethod: PropTypes.array.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n }\n\n\n static defaultProps = {\n onTryoutClick: Function.prototype,\n onCancelClick: Function.prototype,\n tryItOutEnabled: false,\n allowTryItOut: true,\n onChangeKey: [],\n specPath: [],\n }\n\n onChange = (param, value, isXml) => {\n let {\n specActions: { changeParamByIdentity },\n onChangeKey,\n } = this.props\n\n changeParamByIdentity(onChangeKey, param, value, isXml)\n }\n\n onChangeConsumesWrapper = (val) => {\n let {\n specActions: { changeConsumesValue },\n onChangeKey,\n } = this.props\n\n changeConsumesValue(onChangeKey, val)\n }\n\n toggleTab = (tab) => {\n if (tab === \"parameters\") {\n return this.setState({\n parametersVisible: true,\n callbackVisible: false,\n })\n } else if (tab === \"callbacks\") {\n return this.setState({\n callbackVisible: true,\n parametersVisible: false,\n })\n }\n }\n\n onChangeMediaType = ({ value, pathMethod }) => {\n let { specActions, oas3Selectors, oas3Actions } = this.props\n const userHasEditedBody = oas3Selectors.hasUserEditedBody(...pathMethod)\n const shouldRetainRequestBodyValue = oas3Selectors.shouldRetainRequestBodyValue(...pathMethod)\n oas3Actions.setRequestContentType({ value, pathMethod })\n oas3Actions.initRequestBodyValidateError({ pathMethod })\n if (!userHasEditedBody) {\n if(!shouldRetainRequestBodyValue) {\n oas3Actions.setRequestBodyValue({ value: undefined, pathMethod })\n }\n specActions.clearResponse(...pathMethod)\n specActions.clearRequest(...pathMethod)\n specActions.clearValidateParams(pathMethod)\n }\n }\n\n render() {\n\n let {\n onTryoutClick,\n parameters,\n allowTryItOut,\n tryItOutEnabled,\n specPath,\n fn,\n getComponent,\n getConfigs,\n specSelectors,\n specActions,\n pathMethod,\n oas3Actions,\n oas3Selectors,\n operation,\n } = this.props\n\n const ParameterRow = getComponent(\"parameterRow\")\n const TryItOutButton = getComponent(\"TryItOutButton\")\n const ContentType = getComponent(\"contentType\")\n const Callbacks = getComponent(\"Callbacks\", true)\n const RequestBody = getComponent(\"RequestBody\", true)\n\n const isExecute = tryItOutEnabled && allowTryItOut\n const isOAS3 = specSelectors.isOAS3()\n\n\n const requestBody = operation.get(\"requestBody\")\n\n const groupedParametersArr = Object.values(parameters\n .reduce((acc, x) => {\n const key = x.get(\"in\")\n acc[key] ??= []\n acc[key].push(x)\n return acc\n }, {}))\n .reduce((acc, x) => acc.concat(x), [])\n\n const retainRequestBodyValueFlagForOperation = (f) => oas3Actions.setRetainRequestBodyValueFlag({ value: f, pathMethod })\n return (\n <div className=\"opblock-section\">\n <div className=\"opblock-section-header\">\n {isOAS3 ? (\n <div className=\"tab-header\">\n <div onClick={() => this.toggleTab(\"parameters\")}\n className={`tab-item ${this.state.parametersVisible && \"active\"}`}>\n <h4 className=\"opblock-title\"><span>Parameters</span></h4>\n </div>\n {operation.get(\"callbacks\") ?\n (\n <div onClick={() => this.toggleTab(\"callbacks\")}\n className={`tab-item ${this.state.callbackVisible && \"active\"}`}>\n <h4 className=\"opblock-title\"><span>Callbacks</span></h4>\n </div>\n ) : null\n }\n </div>\n ) : (\n <div className=\"tab-header\">\n <h4 className=\"opblock-title\">Parameters</h4>\n </div>\n )}\n {allowTryItOut ? (\n <TryItOutButton\n isOAS3={specSelectors.isOAS3()}\n hasUserEditedBody={oas3Selectors.hasUserEditedBody(...pathMethod)}\n enabled={tryItOutEnabled}\n onCancelClick={this.props.onCancelClick}\n onTryoutClick={onTryoutClick}\n onResetClick={() => oas3Actions.setRequestBodyValue({ value: undefined, pathMethod })}/>\n ) : null}\n </div>\n {this.state.parametersVisible ? <div className=\"parameters-container\">\n {!groupedParametersArr.length ? <div className=\"opblock-description-wrapper\"><p>No parameters</p></div> :\n <div className=\"table-container\">\n <table className=\"parameters\">\n <thead>\n <tr>\n <th className=\"col_header parameters-col_name\">Name</th>\n <th className=\"col_header parameters-col_description\">Description</th>\n </tr>\n </thead>\n <tbody>\n {\n groupedParametersArr.map((parameter, i) => (\n <ParameterRow\n fn={fn}\n specPath={specPath.push(i.toString())}\n getComponent={getComponent}\n getConfigs={getConfigs}\n rawParam={parameter}\n param={specSelectors.parameterWithMetaByIdentity(pathMethod, parameter)}\n key={`${parameter.get(\"in\")}.${parameter.get(\"name\")}`}\n onChange={this.onChange}\n onChangeConsumes={this.onChangeConsumesWrapper}\n specSelectors={specSelectors}\n specActions={specActions}\n oas3Actions={oas3Actions}\n oas3Selectors={oas3Selectors}\n pathMethod={pathMethod}\n isExecute={isExecute} />\n ))\n }\n </tbody>\n </table>\n </div>\n }\n </div> : null}\n\n {this.state.callbackVisible ? <div className=\"callbacks-container opblock-description-wrapper\">\n <Callbacks\n callbacks={Map(operation.get(\"callbacks\"))}\n specPath={specPath.slice(0, -1).push(\"callbacks\")}\n />\n </div> : null}\n {\n isOAS3 && requestBody && this.state.parametersVisible &&\n <div className=\"opblock-section opblock-section-request-body\">\n <div className=\"opblock-section-header\">\n <h4 className={`opblock-title parameter__name ${requestBody.get(\"required\") && \"required\"}`}>Request\n body</h4>\n <label>\n <ContentType\n value={oas3Selectors.requestContentType(...pathMethod)}\n contentTypes={requestBody.get(\"content\", List()).keySeq()}\n onChange={(value) => {\n this.onChangeMediaType({ value, pathMethod })\n }}\n className=\"body-param-content-type\" \n ariaLabel=\"Request content type\" />\n </label>\n </div>\n <div className=\"opblock-description-wrapper\">\n <RequestBody\n setRetainRequestBodyValueFlag={retainRequestBodyValueFlagForOperation}\n userHasEditedBody={oas3Selectors.hasUserEditedBody(...pathMethod)}\n specPath={specPath.slice(0, -1).push(\"requestBody\")}\n requestBody={requestBody}\n requestBodyValue={oas3Selectors.requestBodyValue(...pathMethod)}\n requestBodyInclusionSetting={oas3Selectors.requestBodyInclusionSetting(...pathMethod)}\n requestBodyErrors={oas3Selectors.requestBodyErrors(...pathMethod)}\n isExecute={isExecute}\n getConfigs={getConfigs}\n activeExamplesKey={oas3Selectors.activeExamplesMember(\n ...pathMethod,\n \"requestBody\",\n \"requestBody\", // RBs are currently not stored per-mediaType\n )}\n updateActiveExamplesKey={key => {\n this.props.oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: this.props.pathMethod,\n contextType: \"requestBody\",\n contextName: \"requestBody\", // RBs are currently not stored per-mediaType\n })\n }\n }\n onChange={(value, path) => {\n if (path) {\n const lastValue = oas3Selectors.requestBodyValue(...pathMethod)\n const usableValue = Map.isMap(lastValue) ? lastValue : Map()\n return oas3Actions.setRequestBodyValue({\n pathMethod,\n value: usableValue.setIn(path, value),\n })\n }\n oas3Actions.setRequestBodyValue({ value, pathMethod })\n }}\n onChangeIncludeEmpty={(name, value) => {\n oas3Actions.setRequestBodyInclusion({\n pathMethod,\n value,\n name,\n })\n }}\n contentType={oas3Selectors.requestContentType(...pathMethod)} />\n </div>\n </div>\n }\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const ParameterExt = ({ xKey, xVal }) => {\n return <div className=\"parameter__extension\">{ xKey }: { String(xVal) }</div>\n}\nParameterExt.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default ParameterExt\n","import React, { Component } from \"react\"\nimport cx from \"classnames\"\nimport PropTypes from \"prop-types\"\n\n\nconst noop = () => { }\n\nconst ParameterIncludeEmptyPropTypes = {\n isIncluded: PropTypes.bool.isRequired,\n isDisabled: PropTypes.bool.isRequired,\n isIncludedOptions: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n}\n\nconst ParameterIncludeEmptyDefaultProps = {\n onChange: noop,\n isIncludedOptions: {},\n}\nexport default class ParameterIncludeEmpty extends Component {\n static propTypes = ParameterIncludeEmptyPropTypes\n static defaultProps = ParameterIncludeEmptyDefaultProps\n\n componentDidMount() {\n const { isIncludedOptions, onChange } = this.props\n const { shouldDispatchInit, defaultValue } = isIncludedOptions\n if (shouldDispatchInit) {\n onChange(defaultValue)\n }\n }\n\n onCheckboxChange = e => {\n const { onChange } = this.props\n onChange(e.target.checked)\n }\n\n render() {\n let { isIncluded, isDisabled } = this.props\n\n return (\n <div>\n <label className={cx(\"parameter__empty_value_toggle\", {\n \"disabled\": isDisabled\n })}>\n <input type=\"checkbox\" \n disabled={isDisabled}\n checked={!isDisabled && isIncluded}\n onChange={this.onCheckboxChange} />\n Send empty value\n </label>\n </div>\n )\n }\n}\n","import React, { Component } from \"react\"\nimport { Map, List } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport win from \"core/window\"\nimport { getSampleSchema, getExtensions, getCommonExtensions, numberToString, stringify, isEmptyValue } from \"core/utils\"\nimport getParameterSchema from \"../../helpers/get-parameter-schema.js\"\n\nexport default class ParameterRow extends Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n param: PropTypes.object.isRequired,\n rawParam: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n fn: PropTypes.object.isRequired,\n isExecute: PropTypes.bool,\n onChangeConsumes: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n pathMethod: PropTypes.array.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n }\n\n constructor(props, context) {\n super(props, context)\n\n this.setDefaultValue()\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n let { specSelectors, pathMethod, rawParam } = props\n let isOAS3 = specSelectors.isOAS3()\n\n let parameterWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || new Map()\n // fallback, if the meta lookup fails\n parameterWithMeta = parameterWithMeta.isEmpty() ? rawParam : parameterWithMeta\n\n let enumValue\n\n if(isOAS3) {\n let { schema } = getParameterSchema(parameterWithMeta, { isOAS3 })\n enumValue = schema ? schema.get(\"enum\") : undefined\n } else {\n enumValue = parameterWithMeta ? parameterWithMeta.get(\"enum\") : undefined\n }\n let paramValue = parameterWithMeta ? parameterWithMeta.get(\"value\") : undefined\n\n let value\n\n if ( paramValue !== undefined ) {\n value = paramValue\n } else if ( rawParam.get(\"required\") && enumValue && enumValue.size ) {\n value = enumValue.first()\n }\n\n if ( value !== undefined && value !== paramValue ) {\n this.onChangeWrapper(numberToString(value))\n }\n // todo: could check if schema here; if not, do not call. impact?\n this.setDefaultValue()\n }\n\n onChangeWrapper = (value, isXml = false) => {\n let { onChange, rawParam } = this.props\n let valueForUpstream\n\n // Coerce empty strings and empty Immutable objects to null\n if(value === \"\" || (value && value.size === 0)) {\n valueForUpstream = null\n } else {\n valueForUpstream = value\n }\n\n return onChange(rawParam, valueForUpstream, isXml)\n }\n\n _onExampleSelect = (key, /* { isSyntheticChange } = {} */) => {\n this.props.oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: this.props.pathMethod,\n contextType: \"parameters\",\n contextName: this.getParamKey()\n })\n }\n\n onChangeIncludeEmpty = (newValue) => {\n let { specActions, param, pathMethod } = this.props\n const paramName = param.get(\"name\")\n const paramIn = param.get(\"in\")\n return specActions.updateEmptyParamInclusion(pathMethod, paramName, paramIn, newValue)\n }\n\n setDefaultValue = () => {\n let { specSelectors, pathMethod, rawParam, oas3Selectors } = this.props\n\n const paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || Map()\n const { schema } = getParameterSchema(paramWithMeta, { isOAS3: specSelectors.isOAS3() })\n const parameterMediaType = paramWithMeta\n .get(\"content\", Map())\n .keySeq()\n .first()\n\n // getSampleSchema could return null\n const generatedSampleValue = schema ? getSampleSchema(schema.toJS(), parameterMediaType, {\n\n includeWriteOnly: true\n }) : null\n\n if (!paramWithMeta || paramWithMeta.get(\"value\") !== undefined) {\n return\n }\n\n if( paramWithMeta.get(\"in\") !== \"body\" ) {\n let initialValue\n\n //// Find an initial value\n\n if (specSelectors.isSwagger2()) {\n initialValue =\n paramWithMeta.get(\"x-example\") !== undefined\n ? paramWithMeta.get(\"x-example\")\n : paramWithMeta.getIn([\"schema\", \"example\"]) !== undefined\n ? paramWithMeta.getIn([\"schema\", \"example\"])\n : (schema && schema.getIn([\"default\"]))\n } else if (specSelectors.isOAS3()) {\n const currentExampleKey = oas3Selectors.activeExamplesMember(...pathMethod, \"parameters\", this.getParamKey())\n initialValue =\n paramWithMeta.getIn([\"examples\", currentExampleKey, \"value\"]) !== undefined\n ? paramWithMeta.getIn([\"examples\", currentExampleKey, \"value\"])\n : paramWithMeta.getIn([\"content\", parameterMediaType, \"example\"]) !== undefined\n ? paramWithMeta.getIn([\"content\", parameterMediaType, \"example\"])\n : paramWithMeta.get(\"example\") !== undefined\n ? paramWithMeta.get(\"example\")\n : (schema && schema.get(\"example\")) !== undefined\n ? (schema && schema.get(\"example\"))\n : (schema && schema.get(\"default\")) !== undefined\n ? (schema && schema.get(\"default\"))\n : paramWithMeta.get(\"default\") // ensures support for `parameterMacro`\n }\n\n //// Process the initial value\n\n if(initialValue !== undefined && !List.isList(initialValue)) {\n // Stringify if it isn't a List\n initialValue = stringify(initialValue)\n }\n\n //// Dispatch the initial value\n\n if(initialValue !== undefined) {\n this.onChangeWrapper(initialValue)\n } else if(\n schema && schema.get(\"type\") === \"object\"\n && generatedSampleValue\n && !paramWithMeta.get(\"examples\")\n ) {\n // Object parameters get special treatment.. if the user doesn't set any\n // default or example values, we'll provide initial values generated from\n // the schema.\n // However, if `examples` exist for the parameter, we won't do anything,\n // so that the appropriate `examples` logic can take over.\n this.onChangeWrapper(\n List.isList(generatedSampleValue) ? (\n generatedSampleValue\n ) : (\n stringify(generatedSampleValue)\n )\n )\n }\n }\n }\n\n getParamKey() {\n const { param } = this.props\n\n if(!param) return null\n\n return `${param.get(\"name\")}-${param.get(\"in\")}`\n }\n\n render() {\n let {param, rawParam, getComponent, getConfigs, isExecute, fn, onChangeConsumes, specSelectors, pathMethod, specPath, oas3Selectors} = this.props\n\n let isOAS3 = specSelectors.isOAS3()\n\n const { showExtensions, showCommonExtensions } = getConfigs()\n\n if(!param) {\n param = rawParam\n }\n\n if(!rawParam) return null\n\n // const onChangeWrapper = (value) => onChange(param, value)\n const JsonSchemaForm = getComponent(\"JsonSchemaForm\")\n const ParamBody = getComponent(\"ParamBody\")\n let inType = param.get(\"in\")\n let bodyParam = inType !== \"body\" ? null\n : <ParamBody getComponent={getComponent}\n getConfigs={ getConfigs }\n fn={fn}\n param={param}\n consumes={ specSelectors.consumesOptionsFor(pathMethod) }\n consumesValue={ specSelectors.contentTypeValues(pathMethod).get(\"requestContentType\") }\n onChange={this.onChangeWrapper}\n onChangeConsumes={onChangeConsumes}\n isExecute={ isExecute }\n specSelectors={ specSelectors }\n pathMethod={ pathMethod }\n />\n\n const ModelExample = getComponent(\"modelExample\")\n const Markdown = getComponent(\"Markdown\", true)\n const ParameterExt = getComponent(\"ParameterExt\")\n const ParameterIncludeEmpty = getComponent(\"ParameterIncludeEmpty\")\n const ExamplesSelectValueRetainer = getComponent(\"ExamplesSelectValueRetainer\")\n const Example = getComponent(\"Example\")\n\n let { schema } = getParameterSchema(param, { isOAS3 })\n let paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || Map()\n\n let format = schema ? schema.get(\"format\") : null\n let type = schema ? schema.get(\"type\") : null\n let itemType = schema ? schema.getIn([\"items\", \"type\"]) : null\n let isFormData = inType === \"formData\"\n let isFormDataSupported = \"FormData\" in win\n let required = param.get(\"required\")\n\n let value = paramWithMeta ? paramWithMeta.get(\"value\") : \"\"\n let commonExt = showCommonExtensions ? getCommonExtensions(schema) : null\n let extensions = showExtensions ? getExtensions(param) : null\n\n let paramItems // undefined\n let paramEnum // undefined\n let paramDefaultValue // undefined\n let paramExample // undefined\n let isDisplayParamEnum = false\n\n if ( param !== undefined && schema ) {\n paramItems = schema.get(\"items\")\n }\n\n if (paramItems !== undefined) {\n paramEnum = paramItems.get(\"enum\")\n paramDefaultValue = paramItems.get(\"default\")\n } else if (schema) {\n paramEnum = schema.get(\"enum\")\n }\n\n if ( paramEnum && paramEnum.size && paramEnum.size > 0) {\n isDisplayParamEnum = true\n }\n\n // Default and Example Value for readonly doc\n if ( param !== undefined ) {\n if (schema) {\n paramDefaultValue = schema.get(\"default\")\n }\n if (paramDefaultValue === undefined) {\n paramDefaultValue = param.get(\"default\")\n }\n paramExample = param.get(\"example\")\n if (paramExample === undefined) {\n paramExample = param.get(\"x-example\")\n }\n }\n\n return (\n <tr data-param-name={param.get(\"name\")} data-param-in={param.get(\"in\")}>\n <td className=\"parameters-col_name\">\n <div className={required ? \"parameter__name required\" : \"parameter__name\"}>\n { param.get(\"name\") }\n { !required ? null : <span> *</span> }\n </div>\n <div className=\"parameter__type\">\n { type }\n { itemType && `[${itemType}]` }\n { format && <span className=\"prop-format\">(${format})</span>}\n </div>\n <div className=\"parameter__deprecated\">\n { isOAS3 && param.get(\"deprecated\") ? \"deprecated\": null }\n </div>\n <div className=\"parameter__in\">({ param.get(\"in\") })</div>\n { !showCommonExtensions || !commonExt.size ? null : commonExt.entrySeq().map(([key, v]) => <ParameterExt key={`${key}-${v}`} xKey={key} xVal={v} /> )}\n { !showExtensions || !extensions.size ? null : extensions.entrySeq().map(([key, v]) => <ParameterExt key={`${key}-${v}`} xKey={key} xVal={v} /> )}\n </td>\n\n <td className=\"parameters-col_description\">\n { param.get(\"description\") ? <Markdown source={ param.get(\"description\") }/> : null }\n\n { (bodyParam || !isExecute) && isDisplayParamEnum ?\n <Markdown className=\"parameter__enum\" source={\n \"<i>Available values</i> : \" + paramEnum.map(function(item) {\n return item\n }).toArray().join(\", \")}/>\n : null\n }\n\n { (bodyParam || !isExecute) && paramDefaultValue !== undefined ?\n <Markdown className=\"parameter__default\" source={\"<i>Default value</i> : \" + paramDefaultValue}/>\n : null\n }\n\n { (bodyParam || !isExecute) && paramExample !== undefined ?\n <Markdown source={\"<i>Example</i> : \" + paramExample}/>\n : null\n }\n\n {(isFormData && !isFormDataSupported) && <div>Error: your browser does not support FormData</div>}\n\n {\n isOAS3 && param.get(\"examples\") ? (\n <section className=\"parameter-controls\">\n <ExamplesSelectValueRetainer\n examples={param.get(\"examples\")}\n onSelect={this._onExampleSelect}\n updateValue={this.onChangeWrapper}\n getComponent={getComponent}\n defaultToFirstExample={true}\n currentKey={oas3Selectors.activeExamplesMember(...pathMethod, \"parameters\", this.getParamKey())}\n currentUserInputValue={value}\n />\n </section>\n ) : null\n }\n\n { bodyParam ? null\n : <JsonSchemaForm fn={fn}\n getComponent={getComponent}\n value={ value }\n required={ required }\n disabled={!isExecute}\n description={param.get(\"name\")}\n onChange={ this.onChangeWrapper }\n errors={ paramWithMeta.get(\"errors\") }\n schema={ schema }/>\n }\n\n\n {\n bodyParam && schema ? <ModelExample getComponent={ getComponent }\n specPath={specPath.push(\"schema\")}\n getConfigs={ getConfigs }\n isExecute={ isExecute }\n specSelectors={ specSelectors }\n schema={ schema }\n example={ bodyParam }\n includeWriteOnly={ true }/>\n : null\n }\n\n {\n !bodyParam && isExecute && param.get(\"allowEmptyValue\") ?\n <ParameterIncludeEmpty\n onChange={this.onChangeIncludeEmpty}\n isIncluded={specSelectors.parameterInclusionSettingFor(pathMethod, param.get(\"name\"), param.get(\"in\"))}\n isDisabled={!isEmptyValue(value)} />\n : null\n }\n\n {\n isOAS3 && param.get(\"examples\") ? (\n <Example\n example={param.getIn([\n \"examples\",\n oas3Selectors.activeExamplesMember(...pathMethod, \"parameters\", this.getParamKey())\n ])}\n getComponent={getComponent}\n getConfigs={getConfigs}\n />\n ) : null\n }\n\n </td>\n\n </tr>\n )\n\n }\n\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Execute extends Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n operation: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n onExecute: PropTypes.func,\n disabled: PropTypes.bool\n }\n\n handleValidateParameters = () => {\n let { specSelectors, specActions, path, method } = this.props\n specActions.validateParams([path, method])\n return specSelectors.validateBeforeExecute([path, method])\n }\n\n handleValidateRequestBody = () => {\n let { path, method, specSelectors, oas3Selectors, oas3Actions } = this.props\n let validationErrors = {\n missingBodyValue: false,\n missingRequiredKeys: []\n }\n // context: reset errors, then (re)validate\n oas3Actions.clearRequestBodyValidateError({ path, method })\n let oas3RequiredRequestBodyContentType = specSelectors.getOAS3RequiredRequestBodyContentType([path, method])\n let oas3RequestBodyValue = oas3Selectors.requestBodyValue(path, method)\n let oas3ValidateBeforeExecuteSuccess = oas3Selectors.validateBeforeExecute([path, method])\n let oas3RequestContentType = oas3Selectors.requestContentType(path, method)\n\n if (!oas3ValidateBeforeExecuteSuccess) {\n validationErrors.missingBodyValue = true\n oas3Actions.setRequestBodyValidateError({ path, method, validationErrors })\n return false\n }\n if (!oas3RequiredRequestBodyContentType) {\n return true\n }\n let missingRequiredKeys = oas3Selectors.validateShallowRequired({\n oas3RequiredRequestBodyContentType,\n oas3RequestContentType,\n oas3RequestBodyValue\n })\n if (!missingRequiredKeys || missingRequiredKeys.length < 1) {\n return true\n }\n missingRequiredKeys.forEach((missingKey) => {\n validationErrors.missingRequiredKeys.push(missingKey)\n })\n oas3Actions.setRequestBodyValidateError({ path, method, validationErrors })\n return false\n }\n\n handleValidationResultPass = () => {\n let { specActions, operation, path, method } = this.props\n if (this.props.onExecute) {\n // loading spinner\n this.props.onExecute()\n }\n specActions.execute({ operation, path, method })\n }\n\n handleValidationResultFail = () => {\n let { specActions, path, method } = this.props\n // deferred by 40ms, to give element class change time to settle.\n specActions.clearValidateParams([path, method])\n setTimeout(() => {\n specActions.validateParams([path, method])\n }, 40)\n }\n\n handleValidationResult = (isPass) => {\n if (isPass) {\n this.handleValidationResultPass()\n } else {\n this.handleValidationResultFail()\n }\n }\n\n onClick = () => {\n let paramsResult = this.handleValidateParameters()\n let requestBodyResult = this.handleValidateRequestBody()\n let isPass = paramsResult && requestBodyResult\n this.handleValidationResult(isPass)\n }\n\n onChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val)\n\n render(){\n const { disabled } = this.props\n return (\n <button className=\"btn execute opblock-control__btn\" onClick={ this.onClick } disabled={disabled}>\n Execute\n </button>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Im from \"immutable\"\n\nconst propClass = \"header-example\"\n\nexport default class Headers extends React.Component {\n static propTypes = {\n headers: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n };\n\n render() {\n let { headers, getComponent } = this.props\n\n const Property = getComponent(\"Property\")\n const Markdown = getComponent(\"Markdown\", true)\n\n if ( !headers || !headers.size )\n return null\n\n return (\n <div className=\"headers-wrapper\">\n <h4 className=\"headers__title\">Headers:</h4>\n <table className=\"headers\">\n <thead>\n <tr className=\"header-row\">\n <th className=\"header-col\">Name</th>\n <th className=\"header-col\">Description</th>\n <th className=\"header-col\">Type</th>\n </tr>\n </thead>\n <tbody>\n {\n headers.entrySeq().map( ([ key, header ]) => {\n if(!Im.Map.isMap(header)) {\n return null\n }\n\n const description = header.get(\"description\")\n const type = header.getIn([\"schema\"]) ? header.getIn([\"schema\", \"type\"]) : header.getIn([\"type\"])\n const schemaExample = header.getIn([\"schema\", \"example\"])\n\n return (<tr key={ key }>\n <td className=\"header-col\">{ key }</td>\n <td className=\"header-col\">{\n !description ? null : <Markdown source={ description } />\n }</td>\n <td className=\"header-col\">{ type } { schemaExample ? <Property propKey={ \"Example\" } propVal={ schemaExample } propClass={ propClass } /> : null }</td>\n </tr>)\n }).toArray()\n }\n </tbody>\n </table>\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List } from \"immutable\"\n\nexport default class Errors extends React.Component {\n\n static propTypes = {\n editorActions: PropTypes.object,\n errSelectors: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render() {\n let { editorActions, errSelectors, layoutSelectors, layoutActions, getComponent } = this.props\n\n const Collapse = getComponent(\"Collapse\")\n\n if(editorActions && editorActions.jumpToLine) {\n var jumpToLine = editorActions.jumpToLine\n }\n\n let errors = errSelectors.allErrors()\n\n // all thrown errors, plus error-level everything else\n let allErrorsToDisplay = errors.filter(err => err.get(\"type\") === \"thrown\" ? true :err.get(\"level\") === \"error\")\n\n if(!allErrorsToDisplay || allErrorsToDisplay.count() < 1) {\n return null\n }\n\n let isVisible = layoutSelectors.isShown([\"errorPane\"], true)\n let toggleVisibility = () => layoutActions.show([\"errorPane\"], !isVisible)\n\n let sortedJSErrors = allErrorsToDisplay.sortBy(err => err.get(\"line\"))\n\n return (\n <pre className=\"errors-wrapper\">\n <hgroup className=\"error\">\n <h4 className=\"errors__title\">Errors</h4>\n <button className=\"btn errors__clear-btn\" onClick={ toggleVisibility }>{ isVisible ? \"Hide\" : \"Show\" }</button>\n </hgroup>\n <Collapse isOpened={ isVisible } animated >\n <div className=\"errors\">\n { sortedJSErrors.map((err, i) => {\n let type = err.get(\"type\")\n if(type === \"thrown\" || type === \"auth\") {\n return <ThrownErrorItem key={ i } error={ err.get(\"error\") || err } jumpToLine={jumpToLine} />\n }\n if(type === \"spec\") {\n return <SpecErrorItem key={ i } error={ err } jumpToLine={jumpToLine} />\n }\n }) }\n </div>\n </Collapse>\n </pre>\n )\n }\n}\n\nconst ThrownErrorItem = ( { error, jumpToLine } ) => {\n if(!error) {\n return null\n }\n let errorLine = error.get(\"line\")\n\n return (\n <div className=\"error-wrapper\">\n { !error ? null :\n <div>\n <h4>{ (error.get(\"source\") && error.get(\"level\")) ?\n toTitleCase(error.get(\"source\")) + \" \" + error.get(\"level\") : \"\" }\n { error.get(\"path\") ? <small> at {error.get(\"path\")}</small>: null }</h4>\n <span className=\"message thrown\">\n { error.get(\"message\") }\n </span>\n <div className=\"error-line\">\n { errorLine && jumpToLine ? <a onClick={jumpToLine.bind(null, errorLine)}>Jump to line { errorLine }</a> : null }\n </div>\n </div>\n }\n </div>\n )\n }\n\nconst SpecErrorItem = ( { error, jumpToLine } ) => {\n let locationMessage = null\n\n if(error.get(\"path\")) {\n if(List.isList(error.get(\"path\"))) {\n locationMessage = <small>at { error.get(\"path\").join(\".\") }</small>\n } else {\n locationMessage = <small>at { error.get(\"path\") }</small>\n }\n } else if(error.get(\"line\") && !jumpToLine) {\n locationMessage = <small>on line { error.get(\"line\") }</small>\n }\n\n return (\n <div className=\"error-wrapper\">\n { !error ? null :\n <div>\n <h4>{ toTitleCase(error.get(\"source\")) + \" \" + error.get(\"level\") } { locationMessage }</h4>\n <span className=\"message\">{ error.get(\"message\") }</span>\n <div className=\"error-line\">\n { jumpToLine ? (\n <a onClick={jumpToLine.bind(null, error.get(\"line\"))}>Jump to line { error.get(\"line\") }</a>\n ) : null }\n </div>\n </div>\n }\n </div>\n )\n }\n\nfunction toTitleCase(str) {\n return (str || \"\")\n .split(\" \")\n .map(substr => substr[0].toUpperCase() + substr.slice(1))\n .join(\" \")\n}\n\nThrownErrorItem.propTypes = {\n error: PropTypes.object.isRequired,\n jumpToLine: PropTypes.func\n}\n\nThrownErrorItem.defaultProps = {\n jumpToLine: null\n}\n\nSpecErrorItem.propTypes = {\n error: PropTypes.object.isRequired,\n jumpToLine: PropTypes.func\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { fromJS } from \"immutable\"\n\nconst noop = ()=>{}\n\nexport default class ContentType extends React.Component {\n\n static propTypes = {\n ariaControls: PropTypes.string,\n contentTypes: PropTypes.oneOfType([ImPropTypes.list, ImPropTypes.set, ImPropTypes.seq]),\n controlId: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n className: PropTypes.string,\n ariaLabel: PropTypes.string\n }\n\n static defaultProps = {\n onChange: noop,\n value: null,\n contentTypes: fromJS([\"application/json\"]),\n }\n\n componentDidMount() {\n // Needed to populate the form, initially\n if(this.props.contentTypes) {\n this.props.onChange(this.props.contentTypes.first())\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if(!nextProps.contentTypes || !nextProps.contentTypes.size) {\n return\n }\n\n if(!nextProps.contentTypes.includes(nextProps.value)) {\n nextProps.onChange(nextProps.contentTypes.first())\n }\n }\n\n onChangeWrapper = e => this.props.onChange(e.target.value)\n\n render() {\n let { ariaControls, ariaLabel, className, contentTypes, controlId, value } = this.props\n\n if ( !contentTypes || !contentTypes.size )\n return null\n\n return (\n <div className={ \"content-type-wrapper \" + ( className || \"\" ) }>\n <select aria-controls={ariaControls} aria-label={ariaLabel} className=\"content-type\" id={controlId} onChange={this.onChangeWrapper} value={value || \"\"} >\n { contentTypes.map( (val) => {\n return <option key={ val } value={ val }>{ val }</option>\n }).toArray()}\n </select>\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nfunction xclass(...args) {\n return args.filter(a => !!a).join(\" \").trim()\n}\n\nexport class Container extends React.Component {\n render() {\n let { fullscreen, full, ...rest } = this.props\n // Normal element\n\n if(fullscreen)\n return <section {...rest}/>\n\n let containerClass = \"swagger-container\" + (full ? \"-full\" : \"\")\n return (\n <section {...rest} className={xclass(rest.className, containerClass)}/>\n )\n }\n}\n\nContainer.propTypes = {\n fullscreen: PropTypes.bool,\n full: PropTypes.bool,\n className: PropTypes.string\n}\n\nconst DEVICES = {\n \"mobile\": \"\",\n \"tablet\": \"-tablet\",\n \"desktop\": \"-desktop\",\n \"large\": \"-hd\"\n}\n\nexport class Col extends React.Component {\n\n render() {\n const {\n hide,\n keepContents,\n /* we don't want these in the `rest` object that passes to the final component,\n since React now complains. So we extract them */\n /* eslint-disable no-unused-vars */\n mobile,\n tablet,\n desktop,\n large,\n /* eslint-enable no-unused-vars */\n ...rest\n } = this.props\n\n if(hide && !keepContents)\n return <span/>\n\n let classesAr = []\n\n for (let device in DEVICES) {\n if (!Object.prototype.hasOwnProperty.call(DEVICES, device)) {\n continue\n }\n let deviceClass = DEVICES[device]\n if(device in this.props) {\n let val = this.props[device]\n\n if(val < 1) {\n classesAr.push(\"none\" + deviceClass)\n continue\n }\n\n classesAr.push(\"block\" + deviceClass)\n classesAr.push(\"col-\" + val + deviceClass)\n }\n }\n\n if (hide) {\n classesAr.push(\"hidden\")\n }\n\n let classes = xclass(rest.className, ...classesAr)\n\n return (\n <section {...rest} className={classes}/>\n )\n }\n\n}\n\nCol.propTypes = {\n hide: PropTypes.bool,\n keepContents: PropTypes.bool,\n mobile: PropTypes.number,\n tablet: PropTypes.number,\n desktop: PropTypes.number,\n large: PropTypes.number,\n className: PropTypes.string\n}\n\nexport class Row extends React.Component {\n\n render() {\n return <div {...this.props} className={xclass(this.props.className, \"wrapper\")} />\n }\n\n}\n\nRow.propTypes = {\n className: PropTypes.string\n}\n\nexport class Button extends React.Component {\n\n static propTypes = {\n className: PropTypes.string\n }\n\n static defaultProps = {\n className: \"\"\n }\n\n render() {\n return <button {...this.props} className={xclass(this.props.className, \"button\")} />\n }\n\n}\n\n\nexport const TextArea = (props) => <textarea {...props} />\n\nexport const Input = (props) => <input {...props} />\n\nexport class Select extends React.Component {\n static propTypes = {\n allowedValues: PropTypes.array,\n value: PropTypes.any,\n onChange: PropTypes.func,\n multiple: PropTypes.bool,\n allowEmptyValue: PropTypes.bool,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n }\n\n static defaultProps = {\n multiple: false,\n allowEmptyValue: true\n }\n\n constructor(props, context) {\n super(props, context)\n\n let value\n\n if (props.value) {\n value = props.value\n } else {\n value = props.multiple ? [\"\"] : \"\"\n }\n\n this.state = { value: value }\n }\n\n onChange = (e) => {\n let { onChange, multiple } = this.props\n let options = [].slice.call(e.target.options)\n let value\n\n\n if (multiple) {\n value = options.filter(function (option) {\n return option.selected\n })\n .map(function (option){\n return option.value\n })\n } else {\n value = e.target.value\n }\n\n this.setState({value: value})\n\n onChange && onChange(value)\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n // TODO: this puts us in a weird area btwn un/controlled selection... review\n if(nextProps.value !== this.props.value) {\n this.setState({ value: nextProps.value })\n }\n }\n\n render(){\n let { allowedValues, multiple, allowEmptyValue, disabled } = this.props\n let value = this.state.value?.toJS?.() || this.state.value\n\n return (\n <select className={this.props.className} multiple={ multiple } value={value} onChange={ this.onChange } disabled={disabled} >\n { allowEmptyValue ? <option value=\"\">--</option> : null }\n {\n allowedValues.map(function (item, key) {\n return <option key={ key } value={ String(item) }>{ String(item) }</option>\n })\n }\n </select>\n )\n }\n}\n\nexport class Link extends React.Component {\n\n render() {\n return <a {...this.props} rel=\"noopener noreferrer\" className={xclass(this.props.className, \"link\")}/>\n }\n\n}\n\nLink.propTypes = {\n className: PropTypes.string\n}\n\nconst NoMargin = ({children}) => <div className=\"no-margin\"> {children} </div>\n\nNoMargin.propTypes = {\n children: PropTypes.node\n}\n\nexport class Collapse extends React.Component {\n\n static propTypes = {\n isOpened: PropTypes.bool,\n children: PropTypes.node.isRequired,\n animated: PropTypes.bool\n }\n\n static defaultProps = {\n isOpened: false,\n animated: false\n }\n\n renderNotAnimated() {\n if(!this.props.isOpened)\n return <noscript/>\n return (\n <NoMargin>\n {this.props.children}\n </NoMargin>\n )\n }\n\n render() {\n let { animated, isOpened, children } = this.props\n\n if(!animated)\n return this.renderNotAnimated()\n\n children = isOpened ? children : null\n return (\n <NoMargin>\n {children}\n </NoMargin>\n )\n }\n\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Link } from \"core/components/layout-utils\"\n\nexport default class Overview extends React.Component {\n\n constructor(...args) {\n super(...args)\n this.setTagShown = this._setTagShown.bind(this)\n }\n\n _setTagShown(showTagId, shown) {\n this.props.layoutActions.show(showTagId, shown)\n }\n\n showOp(key, shown) {\n let { layoutActions } = this.props\n layoutActions.show(key, shown)\n }\n\n render() {\n let { specSelectors, layoutSelectors, layoutActions, getComponent } = this.props\n let taggedOps = specSelectors.taggedOperations()\n\n const Collapse = getComponent(\"Collapse\")\n\n return (\n <div>\n <h4 className=\"overview-title\">Overview</h4>\n\n {\n taggedOps.map( (tagObj, tag) => {\n let operations = tagObj.get(\"operations\")\n\n let showTagId = [\"overview-tags\", tag]\n let showTag = layoutSelectors.isShown(showTagId, true)\n let toggleShow = ()=> layoutActions.show(showTagId, !showTag)\n\n return (\n <div key={\"overview-\"+tag}>\n\n\n <h4 onClick={toggleShow} className=\"link overview-tag\"> {showTag ? \"-\" : \"+\"}{tag}</h4>\n\n <Collapse isOpened={showTag} animated>\n {\n operations.map( op => {\n let { path, method, id } = op.toObject() // toObject is shallow\n let showOpIdPrefix = \"operations\"\n let showOpId = id\n let shown = layoutSelectors.isShown([showOpIdPrefix, showOpId])\n return <OperationLink key={id}\n path={path}\n method={method}\n id={path + \"-\" + method}\n shown={shown}\n showOpId={showOpId}\n showOpIdPrefix={showOpIdPrefix}\n href={`#operation-${showOpId}`}\n onClick={layoutActions.show} />\n }).toArray()\n }\n </Collapse>\n\n </div>\n )\n }).toArray()\n }\n\n { taggedOps.size < 1 && <h3> No operations defined in spec! </h3> }\n </div>\n )\n }\n\n}\n\nOverview.propTypes = {\n layoutSelectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n}\n\nexport class OperationLink extends React.Component {\n\n constructor(props) {\n super(props)\n this.onClick = this._onClick.bind(this)\n }\n\n _onClick() {\n let { showOpId, showOpIdPrefix, onClick, shown } = this.props\n onClick([showOpIdPrefix, showOpId], !shown)\n }\n\n render() {\n let { id, method, shown, href } = this.props\n\n return (\n <Link href={ href } onClick={this.onClick} className={`block opblock-link ${shown ? \"shown\" : \"\"}`}>\n <div>\n <small className={`bold-label-${method}`}>{method.toUpperCase()}</small>\n <span className=\"bold-label\" >{id}</span>\n </div>\n </Link>\n )\n }\n\n}\n\nOperationLink.propTypes = {\n href: PropTypes.string,\n onClick: PropTypes.func,\n id: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n shown: PropTypes.bool.isRequired,\n showOpId: PropTypes.string.isRequired,\n showOpIdPrefix: PropTypes.string.isRequired\n}\n","// This component provides an interface that feels like an uncontrolled input\n// to consumers, while providing a `defaultValue` interface that initializes\n// the input's value using JavaScript value property APIs instead of React's \n// vanilla[0] implementation that uses HTML value attributes.\n//\n// This is useful in situations where we don't want to surface an input's value\n// into the HTML/CSS-exposed side of the DOM, for example to avoid sequential\n// input chaining attacks[1].\n// \n// [0]: https://github.com/facebook/react/blob/baff5cc2f69d30589a5dc65b089e47765437294b/fixtures/dom/src/components/fixtures/text-inputs/README.md\n// [1]: https://github.com/d0nutptr/sic\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class InitializedInput extends React.Component {\n componentDidMount() {\n // Set the element's `value` property (*not* the `value` attribute)\n // once, on mount, if an `initialValue` is provided.\n if(this.props.initialValue) {\n this.inputRef.value = this.props.initialValue\n }\n }\n\n render() {\n // Filter out `value` and `defaultValue`, since we have our own\n // `initialValue` interface that we provide.\n // eslint-disable-next-line no-unused-vars, react/prop-types\n const { value, defaultValue, initialValue, ...otherProps } = this.props\n return <input {...otherProps} ref={c => this.inputRef = c} />\n }\n}\n\nInitializedInput.propTypes = {\n initialValue: PropTypes.string\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { sanitizeUrl } from \"core/utils\"\nimport { safeBuildUrl } from \"core/utils/url\"\n\n\nexport class InfoBasePath extends React.Component {\n static propTypes = {\n host: PropTypes.string,\n basePath: PropTypes.string\n }\n\n render() {\n let { host, basePath } = this.props\n\n return (\n <pre className=\"base-url\">\n [ Base URL: {host}{basePath} ]\n </pre>\n )\n }\n}\n\n\nclass Contact extends React.Component {\n static propTypes = {\n data: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n selectedServer: PropTypes.string,\n url: PropTypes.string.isRequired,\n }\n\n render(){\n let { data, getComponent, selectedServer, url: specUrl} = this.props\n let name = data.get(\"name\") || \"the developer\"\n let url = safeBuildUrl(data.get(\"url\"), specUrl, {selectedServer})\n let email = data.get(\"email\")\n\n const Link = getComponent(\"Link\")\n\n return (\n <div className=\"info__contact\">\n { url && <div><Link href={ sanitizeUrl(url) } target=\"_blank\">{ name } - Website</Link></div> }\n { email &&\n <Link href={sanitizeUrl(`mailto:${email}`)}>\n { url ? `Send email to ${name}` : `Contact ${name}`}\n </Link>\n }\n </div>\n )\n }\n}\n\nclass License extends React.Component {\n static propTypes = {\n license: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n selectedServer: PropTypes.string,\n url: PropTypes.string.isRequired,\n }\n\n render(){\n let { license, getComponent, selectedServer, url: specUrl } = this.props\n\n const Link = getComponent(\"Link\")\n let name = license.get(\"name\") || \"License\"\n let url = safeBuildUrl(license.get(\"url\"), specUrl, {selectedServer})\n\n return (\n <div className=\"info__license\">\n {\n url ? <Link target=\"_blank\" href={ sanitizeUrl(url) }>{ name }</Link>\n : <span>{ name }</span>\n }\n </div>\n )\n }\n}\n\nexport class InfoUrl extends React.PureComponent {\n static propTypes = {\n url: PropTypes.string.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n\n render() {\n const { url, getComponent } = this.props\n\n const Link = getComponent(\"Link\")\n\n return <Link target=\"_blank\" href={ sanitizeUrl(url) }><span className=\"url\"> { url }</span></Link>\n }\n}\n\nexport default class Info extends React.Component {\n static propTypes = {\n info: PropTypes.object,\n url: PropTypes.string,\n host: PropTypes.string,\n basePath: PropTypes.string,\n externalDocs: ImPropTypes.map,\n getComponent: PropTypes.func.isRequired,\n oas3selectors: PropTypes.func,\n selectedServer: PropTypes.string,\n }\n\n render() {\n let { info, url, host, basePath, getComponent, externalDocs, selectedServer, url: specUrl } = this.props\n let version = info.get(\"version\")\n let description = info.get(\"description\")\n let title = info.get(\"title\")\n let termsOfServiceUrl = safeBuildUrl(info.get(\"termsOfService\"), specUrl, {selectedServer})\n let contact = info.get(\"contact\")\n let license = info.get(\"license\")\n let rawExternalDocsUrl = externalDocs && externalDocs.get(\"url\")\n let externalDocsUrl = safeBuildUrl(rawExternalDocsUrl, specUrl, {selectedServer})\n let externalDocsDescription = externalDocs && externalDocs.get(\"description\")\n\n const Markdown = getComponent(\"Markdown\", true)\n const Link = getComponent(\"Link\")\n const VersionStamp = getComponent(\"VersionStamp\")\n const InfoUrl = getComponent(\"InfoUrl\")\n const InfoBasePath = getComponent(\"InfoBasePath\")\n\n return (\n <div className=\"info\">\n <hgroup className=\"main\">\n <h2 className=\"title\" >{ title }\n { version && <VersionStamp version={version}></VersionStamp> }\n </h2>\n { host || basePath ? <InfoBasePath host={ host } basePath={ basePath } /> : null }\n { url && <InfoUrl getComponent={getComponent} url={url} /> }\n </hgroup>\n\n <div className=\"description\">\n <Markdown source={ description } />\n </div>\n\n {\n termsOfServiceUrl && <div className=\"info__tos\">\n <Link target=\"_blank\" href={ sanitizeUrl(termsOfServiceUrl) }>Terms of service</Link>\n </div>\n }\n\n {contact && contact.size ? <Contact getComponent={getComponent} data={ contact } selectedServer={selectedServer} url={url} /> : null }\n {license && license.size ? <License getComponent={getComponent} license={ license } selectedServer={selectedServer} url={url}/> : null }\n { externalDocsUrl ?\n <Link className=\"info__extdocs\" target=\"_blank\" href={sanitizeUrl(externalDocsUrl)}>{externalDocsDescription || externalDocsUrl}</Link>\n : null }\n\n </div>\n )\n }\n\n}\n\nInfo.propTypes = {\n title: PropTypes.any,\n description: PropTypes.any,\n version: PropTypes.any,\n url: PropTypes.string\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class InfoContainer extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n oas3Selectors: PropTypes.func.isRequired,\n }\n\n render () {\n const {specSelectors, getComponent, oas3Selectors} = this.props\n\n const info = specSelectors.info()\n const url = specSelectors.url()\n const basePath = specSelectors.basePath()\n const host = specSelectors.host()\n const externalDocs = specSelectors.externalDocs()\n const selectedServer = oas3Selectors.selectedServer()\n\n const Info = getComponent(\"info\")\n\n return (\n <div>\n {info && info.count() ? (\n <Info info={info} url={url} host={host} basePath={basePath} externalDocs={externalDocs}\n getComponent={getComponent} selectedServer={selectedServer} />\n ) : null}\n </div>\n )\n }\n}\n","import React from \"react\"\n\n// Nothing by default- component can be overridden by another plugin.\n\nexport default class JumpToPath extends React.Component {\n render() {\n return null\n }\n}\n","import React from \"react\"\n\nexport default class Footer extends React.Component {\n render() {\n return (\n <div className=\"footer\"></div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class FilterContainer extends React.Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n onFilterChange = (e) => {\n const {target: {value}} = e\n this.props.layoutActions.updateFilter(value)\n }\n\n render () {\n const {specSelectors, layoutSelectors, getComponent} = this.props\n const Col = getComponent(\"Col\")\n\n const isLoading = specSelectors.loadingStatus() === \"loading\"\n const isFailed = specSelectors.loadingStatus() === \"failed\"\n const filter = layoutSelectors.currentFilter()\n\n const classNames = [\"operation-filter-input\"]\n if (isFailed) classNames.push(\"failed\")\n if (isLoading) classNames.push(\"loading\")\n\n return (\n <div>\n {filter === null || filter === false || filter === \"false\" ? null :\n <div className=\"filter-container\">\n <Col className=\"filter wrapper\" mobile={12}>\n <input className={classNames.join(\" \")} placeholder=\"Filter by tag\" type=\"text\"\n onChange={this.onFilterChange} value={filter === true || filter === \"true\" ? \"\" : filter}\n disabled={isLoading}/>\n </Col>\n </div>\n }\n </div>\n )\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { fromJS, List } from \"immutable\"\nimport { getSampleSchema } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\n\nconst NOOP = Function.prototype\n\nexport default class ParamBody extends PureComponent {\n\n static propTypes = {\n param: PropTypes.object,\n onChange: PropTypes.func,\n onChangeConsumes: PropTypes.func,\n consumes: PropTypes.object,\n consumesValue: PropTypes.string,\n fn: PropTypes.object.isRequired,\n getConfigs: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n isExecute: PropTypes.bool,\n specSelectors: PropTypes.object.isRequired,\n pathMethod: PropTypes.array.isRequired\n };\n\n static defaultProp = {\n consumes: fromJS([\"application/json\"]),\n param: fromJS({}),\n onChange: NOOP,\n onChangeConsumes: NOOP,\n };\n\n constructor(props, context) {\n super(props, context)\n\n this.state = {\n isEditBox: false,\n value: \"\"\n }\n\n }\n\n componentDidMount() {\n this.updateValues.call(this, this.props)\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateValues.call(this, nextProps)\n }\n\n updateValues = (props) => {\n let { param, isExecute, consumesValue=\"\" } = props\n let isXml = /xml/i.test(consumesValue)\n let isJson = /json/i.test(consumesValue)\n let paramValue = isXml ? param.get(\"value_xml\") : param.get(\"value\")\n\n if ( paramValue !== undefined ) {\n let val = !paramValue && isJson ? \"{}\" : paramValue\n this.setState({ value: val })\n this.onChange(val, {isXml: isXml, isEditBox: isExecute})\n } else {\n if (isXml) {\n this.onChange(this.sample(\"xml\"), {isXml: isXml, isEditBox: isExecute})\n } else {\n this.onChange(this.sample(), {isEditBox: isExecute})\n }\n }\n }\n\n sample = (xml) => {\n let { param, fn:{inferSchema} } = this.props\n let schema = inferSchema(param.toJS())\n\n return getSampleSchema(schema, xml, {\n includeWriteOnly: true\n })\n }\n\n onChange = (value, { isEditBox, isXml }) => {\n this.setState({value, isEditBox})\n this._onChange(value, isXml)\n }\n\n _onChange = (val, isXml) => { (this.props.onChange || NOOP)(val, isXml) }\n\n handleOnChange = e => {\n const {consumesValue} = this.props\n const isXml = /xml/i.test(consumesValue)\n const inputValue = e.target.value\n this.onChange(inputValue, {isXml, isEditBox: this.state.isEditBox})\n }\n\n toggleIsEditBox = () => this.setState( state => ({isEditBox: !state.isEditBox}))\n\n render() {\n let {\n onChangeConsumes,\n param,\n isExecute,\n specSelectors,\n pathMethod,\n getConfigs,\n getComponent,\n } = this.props\n\n const Button = getComponent(\"Button\")\n const TextArea = getComponent(\"TextArea\")\n const HighlightCode = getComponent(\"highlightCode\")\n const ContentType = getComponent(\"contentType\")\n // for domains where specSelectors not passed\n let parameter = specSelectors ? specSelectors.parameterWithMetaByIdentity(pathMethod, param) : param\n let errors = parameter.get(\"errors\", List())\n let consumesValue = specSelectors.contentTypeValues(pathMethod).get(\"requestContentType\")\n let consumes = this.props.consumes && this.props.consumes.size ? this.props.consumes : ParamBody.defaultProp.consumes\n\n let { value, isEditBox } = this.state\n let language = null\n let testValueForJson = getKnownSyntaxHighlighterLanguage(value)\n if (testValueForJson) {\n language = \"json\"\n }\n\n return (\n <div className=\"body-param\" data-param-name={param.get(\"name\")} data-param-in={param.get(\"in\")}>\n {\n isEditBox && isExecute\n ? <TextArea className={ \"body-param__text\" + ( errors.count() ? \" invalid\" : \"\")} value={value} onChange={ this.handleOnChange }/>\n : (value && <HighlightCode className=\"body-param__example\"\n language={ language }\n getConfigs={ getConfigs }\n value={ value }/>)\n }\n <div className=\"body-param-options\">\n {\n !isExecute ? null\n : <div className=\"body-param-edit\">\n <Button className={isEditBox ? \"btn cancel body-param__example-edit\" : \"btn edit body-param__example-edit\"}\n onClick={this.toggleIsEditBox}>{ isEditBox ? \"Cancel\" : \"Edit\"}\n </Button>\n </div>\n }\n <label htmlFor=\"\">\n <span>Parameter content type</span>\n <ContentType\n value={ consumesValue }\n contentTypes={ consumes }\n onChange={onChangeConsumes}\n className=\"body-param-content-type\"\n ariaLabel=\"Parameter content type\" />\n </label>\n </div>\n\n </div>\n )\n\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\nimport {SyntaxHighlighter, getStyle} from \"core/syntax-highlighting\"\nimport get from \"lodash/get\"\nimport { requestSnippetGenerator_curl_bash } from \"../plugins/request-snippets/fn\"\n\nexport default class Curl extends React.Component {\n static propTypes = {\n getConfigs: PropTypes.func.isRequired,\n request: PropTypes.object.isRequired\n }\n\n render() {\n let { request, getConfigs } = this.props\n let curl = requestSnippetGenerator_curl_bash(request)\n\n const config = getConfigs()\n\n const curlBlock = get(config, \"syntaxHighlight.activated\")\n ? <SyntaxHighlighter\n language=\"bash\"\n className=\"curl microlight\"\n style={getStyle(get(config, \"syntaxHighlight.theme\"))}\n >\n {curl}\n </SyntaxHighlighter>\n :\n <textarea readOnly={true} className=\"curl\" value={curl}></textarea>\n\n return (\n <div className=\"curl-command\">\n <h4>Curl</h4>\n <div className=\"copy-to-clipboard\">\n <CopyToClipboard text={curl}><button/></CopyToClipboard>\n </div>\n <div>\n {curlBlock}\n </div>\n </div>\n )\n }\n\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Schemes extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n schemes: PropTypes.object.isRequired,\n currentScheme: PropTypes.string.isRequired,\n path: PropTypes.string,\n method: PropTypes.string,\n }\n\n UNSAFE_componentWillMount() {\n let { schemes } = this.props\n\n //fire 'change' event to set default 'value' of select\n this.setScheme(schemes.first())\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if ( !this.props.currentScheme || !nextProps.schemes.includes(this.props.currentScheme) ) {\n // if we don't have a selected currentScheme or if our selected scheme is no longer an option,\n // then fire 'change' event and select the first scheme in the list of options\n this.setScheme(nextProps.schemes.first())\n }\n }\n\n onChange =( e ) => {\n this.setScheme( e.target.value )\n }\n\n setScheme = ( value ) => {\n let { path, method, specActions } = this.props\n\n specActions.setScheme( value, path, method )\n }\n\n render() {\n let { schemes, currentScheme } = this.props\n\n return (\n <label htmlFor=\"schemes\">\n <span className=\"schemes-title\">Schemes</span>\n <select onChange={ this.onChange } value={currentScheme}>\n { schemes.valueSeq().map(\n ( scheme ) => <option value={ scheme } key={ scheme }>{ scheme }</option>\n ).toArray()}\n </select>\n </label>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class SchemesContainer extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render () {\n const {specActions, specSelectors, getComponent} = this.props\n\n const currentScheme = specSelectors.operationScheme()\n const schemes = specSelectors.schemes()\n\n const Schemes = getComponent(\"schemes\")\n\n const schemesArePresent = schemes && schemes.size\n\n return schemesArePresent ? (\n <Schemes\n currentScheme={currentScheme}\n schemes={schemes}\n specActions={specActions}\n />\n ) : null\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport Im from \"immutable\"\n\nexport default class ModelCollapse extends Component {\n static propTypes = {\n collapsedContent: PropTypes.any,\n expanded: PropTypes.bool,\n children: PropTypes.any,\n title: PropTypes.element,\n modelName: PropTypes.string,\n classes: PropTypes.string,\n onToggle: PropTypes.func,\n hideSelfOnExpand: PropTypes.bool,\n layoutActions: PropTypes.object,\n layoutSelectors: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n }\n\n static defaultProps = {\n collapsedContent: \"{...}\",\n expanded: false,\n title: null,\n onToggle: () => {},\n hideSelfOnExpand: false,\n specPath: Im.List([]),\n }\n\n constructor(props, context) {\n super(props, context)\n\n let { expanded, collapsedContent } = this.props\n\n this.state = {\n expanded : expanded,\n collapsedContent: collapsedContent || ModelCollapse.defaultProps.collapsedContent\n }\n }\n\n componentDidMount() {\n const { hideSelfOnExpand, expanded, modelName } = this.props\n if(hideSelfOnExpand && expanded) {\n // We just mounted pre-expanded, and we won't be going back..\n // So let's give our parent an `onToggle` call..\n // Since otherwise it will never be called.\n this.props.onToggle(modelName, expanded)\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps){\n if(this.props.expanded !== nextProps.expanded){\n this.setState({expanded: nextProps.expanded})\n }\n }\n\n toggleCollapsed=()=>{\n if(this.props.onToggle){\n this.props.onToggle(this.props.modelName,!this.state.expanded)\n }\n\n this.setState({\n expanded: !this.state.expanded\n })\n }\n\n onLoad = (ref) => {\n if (ref && this.props.layoutSelectors) {\n const scrollToKey = this.props.layoutSelectors.getScrollToKey()\n\n if( Im.is(scrollToKey, this.props.specPath) ) this.toggleCollapsed()\n this.props.layoutActions.readyToScroll(this.props.specPath, ref.parentElement)\n }\n }\n\n render () {\n const { title, classes } = this.props\n\n if(this.state.expanded ) {\n if(this.props.hideSelfOnExpand) {\n return <span className={classes || \"\"}>\n {this.props.children}\n </span>\n }\n }\n\n return (\n <span className={classes || \"\"} ref={this.onLoad}>\n <button aria-expanded={this.state.expanded} className=\"model-box-control\" onClick={this.toggleCollapsed}>\n { title && <span className=\"pointer\">{title}</span> }\n <span className={ \"model-toggle\" + ( this.state.expanded ? \"\" : \" collapsed\" ) }></span>\n { !this.state.expanded && <span>{this.state.collapsedContent}</span> }\n </button>\n\n { this.state.expanded && this.props.children }\n </span>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport cx from \"classnames\"\nimport randomBytes from \"randombytes\"\n\nexport default class ModelExample extends React.Component {\n static propTypes = {\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired,\n example: PropTypes.any.isRequired,\n isExecute: PropTypes.bool,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n constructor(props, context) {\n super(props, context)\n let { getConfigs, isExecute } = this.props\n let { defaultModelRendering } = getConfigs()\n\n let activeTab = defaultModelRendering\n\n if (defaultModelRendering !== \"example\" && defaultModelRendering !== \"model\") {\n activeTab = \"example\"\n }\n\n if(isExecute) {\n activeTab = \"example\"\n }\n\n this.state = {\n activeTab,\n }\n }\n\n activeTab = ( e ) => {\n let { target : { dataset : { name } } } = e\n\n this.setState({\n activeTab: name\n })\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (\n nextProps.isExecute &&\n !this.props.isExecute &&\n this.props.example\n ) {\n this.setState({ activeTab: \"example\" })\n }\n }\n\n render() {\n let { getComponent, specSelectors, schema, example, isExecute, getConfigs, specPath, includeReadOnly, includeWriteOnly } = this.props\n let { defaultModelExpandDepth } = getConfigs()\n const ModelWrapper = getComponent(\"ModelWrapper\")\n const HighlightCode = getComponent(\"highlightCode\")\n const exampleTabId = randomBytes(5).toString(\"base64\")\n const examplePanelId = randomBytes(5).toString(\"base64\")\n const modelTabId = randomBytes(5).toString(\"base64\")\n const modelPanelId = randomBytes(5).toString(\"base64\")\n\n let isOAS3 = specSelectors.isOAS3()\n\n return (\n <div className=\"model-example\">\n <ul className=\"tab\" role=\"tablist\">\n <li className={cx(\"tabitem\", { active: this.state.activeTab === \"example\" })} role=\"presentation\">\n <button\n aria-controls={examplePanelId}\n aria-selected={this.state.activeTab === \"example\"}\n className=\"tablinks\"\n data-name=\"example\"\n id={exampleTabId}\n onClick={ this.activeTab }\n role=\"tab\"\n >\n {isExecute ? \"Edit Value\" : \"Example Value\"}\n </button>\n </li>\n { schema && (\n <li className={cx(\"tabitem\", { active: this.state.activeTab === \"model\" })} role=\"presentation\">\n <button\n aria-controls={modelPanelId}\n aria-selected={this.state.activeTab === \"model\"}\n className={cx(\"tablinks\", { inactive: isExecute })}\n data-name=\"model\"\n id={modelTabId}\n onClick={ this.activeTab }\n role=\"tab\"\n >\n {isOAS3 ? \"Schema\" : \"Model\" }\n </button>\n </li>\n )}\n </ul>\n {this.state.activeTab === \"example\" && (\n <div\n aria-hidden={this.state.activeTab !== \"example\"}\n aria-labelledby={exampleTabId}\n data-name=\"examplePanel\"\n id={examplePanelId}\n role=\"tabpanel\"\n tabIndex=\"0\"\n >\n {example ? example : (\n <HighlightCode value=\"(no example available)\" getConfigs={ getConfigs } />\n )}\n </div>\n )}\n\n {this.state.activeTab === \"model\" && (\n <div\n aria-hidden={this.state.activeTab === \"example\"}\n aria-labelledby={modelTabId}\n data-name=\"modelPanel\"\n id={modelPanelId}\n role=\"tabpanel\"\n tabIndex=\"0\"\n >\n <ModelWrapper\n schema={ schema }\n getComponent={ getComponent }\n getConfigs={ getConfigs }\n specSelectors={ specSelectors }\n expandDepth={ defaultModelExpandDepth }\n specPath={specPath}\n includeReadOnly = {includeReadOnly}\n includeWriteOnly = {includeWriteOnly}\n />\n </div>\n )}\n </div>\n )\n }\n\n}\n","import React, { Component, } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class ModelWrapper extends Component {\n\n static propTypes = {\n schema: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n fullPath: PropTypes.array.isRequired,\n specPath: ImPropTypes.list.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n expandDepth: PropTypes.number,\n layoutActions: PropTypes.object,\n layoutSelectors: PropTypes.object.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n onToggle = (name,isShown) => {\n // If this prop is present, we'll have deepLinking for it\n if(this.props.layoutActions) {\n this.props.layoutActions.show(this.props.fullPath, isShown)\n }\n }\n\n render(){\n let { getComponent, getConfigs } = this.props\n const Model = getComponent(\"Model\")\n\n let expanded\n if(this.props.layoutSelectors) {\n // If this is prop is present, we'll have deepLinking for it\n expanded = this.props.layoutSelectors.isShown(this.props.fullPath)\n }\n\n return <div className=\"model-box\">\n <Model { ...this.props } getConfigs={ getConfigs } expanded={expanded} depth={ 1 } onToggle={ this.onToggle } expandDepth={ this.props.expandDepth || 0 }/>\n </div>\n }\n}\n","import React, { Component } from \"react\"\nimport Im, { Map } from \"immutable\"\nimport PropTypes from \"prop-types\"\n\nexport default class Models extends Component {\n static propTypes = {\n getComponent: PropTypes.func,\n specSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object,\n layoutActions: PropTypes.object,\n getConfigs: PropTypes.func.isRequired\n }\n\n getSchemaBasePath = () => {\n const isOAS3 = this.props.specSelectors.isOAS3()\n return isOAS3 ? [\"components\", \"schemas\"] : [\"definitions\"]\n }\n\n getCollapsedContent = () => {\n return \" \"\n }\n\n handleToggle = (name, isExpanded) => {\n const { layoutActions } = this.props\n layoutActions.show([...this.getSchemaBasePath(), name], isExpanded)\n if(isExpanded) {\n this.props.specActions.requestResolvedSubtree([...this.getSchemaBasePath(), name])\n }\n }\n\n onLoadModels = (ref) => {\n if (ref) {\n this.props.layoutActions.readyToScroll(this.getSchemaBasePath(), ref)\n }\n }\n\n onLoadModel = (ref) => {\n if (ref) {\n const name = ref.getAttribute(\"data-name\")\n this.props.layoutActions.readyToScroll([...this.getSchemaBasePath(), name], ref)\n }\n }\n\n render(){\n let { specSelectors, getComponent, layoutSelectors, layoutActions, getConfigs } = this.props\n let definitions = specSelectors.definitions()\n let { docExpansion, defaultModelsExpandDepth } = getConfigs()\n if (!definitions.size || defaultModelsExpandDepth < 0) return null\n\n const specPathBase = this.getSchemaBasePath()\n let showModels = layoutSelectors.isShown(specPathBase, defaultModelsExpandDepth > 0 && docExpansion !== \"none\")\n const isOAS3 = specSelectors.isOAS3()\n\n const ModelWrapper = getComponent(\"ModelWrapper\")\n const Collapse = getComponent(\"Collapse\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n\n return <section className={ showModels ? \"models is-open\" : \"models\"} ref={this.onLoadModels}>\n <h4>\n <button\n aria-expanded={showModels}\n className=\"models-control\"\n onClick={() => layoutActions.show(specPathBase, !showModels)}\n >\n <span>{isOAS3 ? \"Schemas\" : \"Models\"}</span>\n <svg width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\">\n <use xlinkHref={showModels ? \"#large-arrow-up\" : \"#large-arrow-down\"} />\n </svg>\n </button>\n </h4>\n <Collapse isOpened={showModels}>\n {\n definitions.entrySeq().map(([name])=>{\n\n const fullPath = [...specPathBase, name]\n const specPath = Im.List(fullPath)\n\n const schemaValue = specSelectors.specResolvedSubtree(fullPath)\n const rawSchemaValue = specSelectors.specJson().getIn(fullPath)\n\n const schema = Map.isMap(schemaValue) ? schemaValue : Im.Map()\n const rawSchema = Map.isMap(rawSchemaValue) ? rawSchemaValue : Im.Map()\n\n const displayName = schema.get(\"title\") || rawSchema.get(\"title\") || name\n const isShown = layoutSelectors.isShown(fullPath, false)\n\n if( isShown && (schema.size === 0 && rawSchema.size > 0) ) {\n // Firing an action in a container render is not great,\n // but it works for now.\n this.props.specActions.requestResolvedSubtree(fullPath)\n }\n\n const content = <ModelWrapper name={ name }\n expandDepth={ defaultModelsExpandDepth }\n schema={ schema || Im.Map() }\n displayName={displayName}\n fullPath={fullPath}\n specPath={specPath}\n getComponent={ getComponent }\n specSelectors={ specSelectors }\n getConfigs = {getConfigs}\n layoutSelectors = {layoutSelectors}\n layoutActions = {layoutActions}\n includeReadOnly = {true}\n includeWriteOnly = {true}/>\n\n const title = <span className=\"model-box\">\n <span className=\"model model-title\">\n {displayName}\n </span>\n </span>\n\n return <div id={ `model-${name}` } className=\"model-container\" key={ `models-section-${name}` }\n data-name={name} ref={this.onLoadModel} >\n <span className=\"models-jump-to-path\"><JumpToPath specPath={specPath} /></span>\n <ModelCollapse\n classes=\"model-box\"\n collapsedContent={this.getCollapsedContent(name)}\n onToggle={this.handleToggle}\n title={title}\n displayName={displayName}\n modelName={name}\n specPath={specPath}\n layoutSelectors={layoutSelectors}\n layoutActions={layoutActions}\n hideSelfOnExpand={true}\n expanded={ defaultModelsExpandDepth > 0 && isShown }\n >{content}</ModelCollapse>\n </div>\n }).toArray()\n }\n </Collapse>\n </section>\n }\n}\n","import React from \"react\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst EnumModel = ({ value, getComponent }) => {\n let ModelCollapse = getComponent(\"ModelCollapse\")\n let collapsedContent = <span>Array [ { value.count() } ]</span>\n return <span className=\"prop-enum\">\n Enum:<br />\n <ModelCollapse collapsedContent={ collapsedContent }>\n [ { value.join(\", \") } ]\n </ModelCollapse>\n </span>\n}\nEnumModel.propTypes = {\n value: ImPropTypes.iterable,\n getComponent: ImPropTypes.func\n}\n\nexport default EnumModel","import React, { Component, } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst braceOpen = \"{\"\nconst braceClose = \"}\"\nconst propClass = \"property\"\n\nexport default class ObjectModel extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n expanded: PropTypes.bool,\n onToggle: PropTypes.func,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n isRef: PropTypes.bool,\n expandDepth: PropTypes.number,\n depth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n render(){\n let { schema, name, displayName, isRef, getComponent, getConfigs, depth, onToggle, expanded, specPath, ...otherProps } = this.props\n let { specSelectors,expandDepth, includeReadOnly, includeWriteOnly} = otherProps\n const { isOAS3 } = specSelectors\n\n if(!schema) {\n return null\n }\n\n const { showExtensions } = getConfigs()\n\n let description = schema.get(\"description\")\n let properties = schema.get(\"properties\")\n let additionalProperties = schema.get(\"additionalProperties\")\n let title = schema.get(\"title\") || displayName || name\n let requiredProperties = schema.get(\"required\")\n let infoProperties = schema\n .filter( ( v, key) => [\"maxProperties\", \"minProperties\", \"nullable\", \"example\"].indexOf(key) !== -1 )\n let deprecated = schema.get(\"deprecated\")\n\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n const Model = getComponent(\"Model\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Property = getComponent(\"Property\")\n\n const JumpToPathSection = () => {\n return <span className=\"model-jump-to-path\"><JumpToPath specPath={specPath} /></span>\n }\n const collapsedContent = (<span>\n <span>{ braceOpen }</span>...<span>{ braceClose }</span>\n {\n isRef ? <JumpToPathSection /> : \"\"\n }\n </span>)\n\n const anyOf = specSelectors.isOAS3() ? schema.get(\"anyOf\") : null\n const oneOf = specSelectors.isOAS3() ? schema.get(\"oneOf\") : null\n const not = specSelectors.isOAS3() ? schema.get(\"not\") : null\n\n const titleEl = title && <span className=\"model-title\">\n { isRef && schema.get(\"$$ref\") && <span className=\"model-hint\">{ schema.get(\"$$ref\") }</span> }\n <span className=\"model-title__text\">{ title }</span>\n </span>\n\n return <span className=\"model\">\n <ModelCollapse\n modelName={name}\n title={titleEl}\n onToggle = {onToggle}\n expanded={ expanded ? true : depth <= expandDepth }\n collapsedContent={ collapsedContent }>\n\n <span className=\"brace-open object\">{ braceOpen }</span>\n {\n !isRef ? null : <JumpToPathSection />\n }\n <span className=\"inner-object\">\n {\n <table className=\"model\"><tbody>\n {\n !description ? null : <tr className=\"description\">\n <td>description:</td>\n <td>\n <Markdown source={ description } />\n </td>\n </tr>\n }\n {\n !deprecated ? null :\n <tr className={\"property\"}>\n <td>\n deprecated:\n </td>\n <td>\n true\n </td>\n </tr>\n \n }\n {\n !(properties && properties.size) ? null : properties.entrySeq().filter(\n ([, value]) => {\n return (!value.get(\"readOnly\") || includeReadOnly) &&\n (!value.get(\"writeOnly\") || includeWriteOnly)\n }\n ).map(\n ([key, value]) => {\n let isDeprecated = isOAS3() && value.get(\"deprecated\")\n let isRequired = List.isList(requiredProperties) && requiredProperties.contains(key)\n\n let classNames = [\"property-row\"]\n\n if (isDeprecated) {\n classNames.push(\"deprecated\")\n }\n\n if (isRequired) {\n classNames.push(\"required\")\n }\n\n return (<tr key={key} className={classNames.join(\" \")}>\n <td>\n { key }{ isRequired && <span className=\"star\">*</span> }\n </td>\n <td>\n <Model key={ `object-${name}-${key}_${value}` } { ...otherProps }\n required={ isRequired }\n getComponent={ getComponent }\n specPath={specPath.push(\"properties\", key)}\n getConfigs={ getConfigs }\n schema={ value }\n depth={ depth + 1 } />\n </td>\n </tr>)\n }).toArray()\n }\n {\n // empty row befor extensions...\n !showExtensions ? null : <tr><td> </td></tr>\n }\n {\n !showExtensions ? null :\n schema.entrySeq().map(\n ([key, value]) => {\n if(key.slice(0,2) !== \"x-\") {\n return\n }\n\n const normalizedValue = !value ? null : value.toJS ? value.toJS() : value\n\n return (<tr key={key} className=\"extension\">\n <td>\n { key }\n </td>\n <td>\n { JSON.stringify(normalizedValue) }\n </td>\n </tr>)\n }).toArray()\n }\n {\n !additionalProperties || !additionalProperties.size ? null\n : <tr>\n <td>{ \"< * >:\" }</td>\n <td>\n <Model { ...otherProps } required={ false }\n getComponent={ getComponent }\n specPath={specPath.push(\"additionalProperties\")}\n getConfigs={ getConfigs }\n schema={ additionalProperties }\n depth={ depth + 1 } />\n </td>\n </tr>\n }\n {\n !anyOf ? null\n : <tr>\n <td>{ \"anyOf ->\" }</td>\n <td>\n {anyOf.map((schema, k) => {\n return <div key={k}><Model { ...otherProps } required={ false }\n getComponent={ getComponent }\n specPath={specPath.push(\"anyOf\", k)}\n getConfigs={ getConfigs }\n schema={ schema }\n depth={ depth + 1 } /></div>\n })}\n </td>\n </tr>\n }\n {\n !oneOf ? null\n : <tr>\n <td>{ \"oneOf ->\" }</td>\n <td>\n {oneOf.map((schema, k) => {\n return <div key={k}><Model { ...otherProps } required={ false }\n getComponent={ getComponent }\n specPath={specPath.push(\"oneOf\", k)}\n getConfigs={ getConfigs }\n schema={ schema }\n depth={ depth + 1 } /></div>\n })}\n </td>\n </tr>\n }\n {\n !not ? null\n : <tr>\n <td>{ \"not ->\" }</td>\n <td>\n <div>\n <Model { ...otherProps }\n required={ false }\n getComponent={ getComponent }\n specPath={specPath.push(\"not\")}\n getConfigs={ getConfigs }\n schema={ not }\n depth={ depth + 1 } />\n </div>\n </td>\n </tr>\n }\n </tbody></table>\n }\n </span>\n <span className=\"brace-close\">{ braceClose }</span>\n </ModelCollapse>\n {\n infoProperties.size ? infoProperties.entrySeq().map( ( [ key, v ] ) => <Property key={`${key}-${v}`} propKey={ key } propVal={ v } propClass={ propClass } />) : null\n }\n </span>\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst propClass = \"property\"\n\nexport default class ArrayModel extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n required: PropTypes.bool,\n expandDepth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n depth: PropTypes.number,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n render(){\n let { getComponent, getConfigs, schema, depth, expandDepth, name, displayName, specPath } = this.props\n let description = schema.get(\"description\")\n let items = schema.get(\"items\")\n let title = schema.get(\"title\") || displayName || name\n let properties = schema.filter( ( v, key) => [\"type\", \"items\", \"description\", \"$$ref\"].indexOf(key) === -1 )\n\n const Markdown = getComponent(\"Markdown\", true)\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Model = getComponent(\"Model\")\n const Property = getComponent(\"Property\")\n\n const titleEl = title &&\n <span className=\"model-title\">\n <span className=\"model-title__text\">{ title }</span>\n </span>\n\n /*\n Note: we set `name={null}` in <Model> below because we don't want\n the name of the current Model passed (and displayed) as the name of the array element Model\n */\n\n return <span className=\"model\">\n <ModelCollapse title={titleEl} expanded={ depth <= expandDepth } collapsedContent=\"[...]\">\n [\n {\n properties.size ? properties.entrySeq().map( ( [ key, v ] ) => <Property key={`${key}-${v}`} propKey={ key } propVal={ v } propClass={ propClass } />) : null\n }\n {\n !description ? (properties.size ? <div className=\"markdown\"></div> : null) :\n <Markdown source={ description } />\n }\n <span>\n <Model\n { ...this.props }\n getConfigs={ getConfigs }\n specPath={specPath.push(\"items\")}\n name={null}\n schema={ items }\n required={ false }\n depth={ depth + 1 }\n />\n </span>\n ]\n </ModelCollapse>\n </span>\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { getExtensions } from \"core/utils\"\n\nconst propClass = \"property primitive\"\n\nexport default class Primitive extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n depth: PropTypes.number,\n expandDepth: PropTypes.number\n }\n\n render() {\n let { schema, getComponent, getConfigs, name, displayName, depth, expandDepth } = this.props\n\n const { showExtensions } = getConfigs()\n\n if (!schema || !schema.get) {\n // don't render if schema isn't correctly formed\n return <div></div>\n }\n\n let type = schema.get(\"type\")\n let format = schema.get(\"format\")\n let xml = schema.get(\"xml\")\n let enumArray = schema.get(\"enum\")\n let title = schema.get(\"title\") || displayName || name\n let description = schema.get(\"description\")\n let extensions = getExtensions(schema)\n let properties = schema\n .filter((_, key) => [\"enum\", \"type\", \"format\", \"description\", \"$$ref\"].indexOf(key) === -1)\n .filterNot((_, key) => extensions.has(key))\n const Markdown = getComponent(\"Markdown\", true)\n const EnumModel = getComponent(\"EnumModel\")\n const Property = getComponent(\"Property\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const titleEl = title &&\n <span className=\"model-title\">\n <span className=\"model-title__text\">{title}</span>\n </span>\n\n return <span className=\"model\">\n <ModelCollapse title={titleEl} expanded={depth >= expandDepth} collapsedContent=\" \" hideSelfOnExpand={expandDepth !== depth}>\n <span className=\"prop\">\n {name && depth > 1 && <span className=\"prop-name\">{title}</span>}\n <span className=\"prop-type\">{type}</span>\n {format && <span className=\"prop-format\">(${format})</span>}\n {\n properties.size ? properties.entrySeq().map(([key, v]) => <Property key={`${key}-${v}`} propKey={key} propVal={v} propClass={propClass} />) : null\n }\n {\n showExtensions && extensions.size ? extensions.entrySeq().map(([key, v]) => <Property key={`${key}-${v}`} propKey={key} propVal={v} propClass={propClass} />) : null\n }\n {\n !description ? null :\n <Markdown source={description} />\n }\n {\n xml && xml.size ? (<span><br /><span className={propClass}>xml:</span>\n {\n xml.entrySeq().map(([key, v]) => <span key={`${key}-${v}`} className={propClass}><br /> {key}: {String(v)}</span>).toArray()\n }\n </span>) : null\n }\n {\n enumArray && <EnumModel value={enumArray} getComponent={getComponent} />\n }\n </span>\n </ModelCollapse>\n </span>\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const Property = ({ propKey, propVal, propClass }) => {\n return (\n <span className={ propClass }>\n <br />{ propKey }: { String(propVal) }</span>\n )\n}\nProperty.propTypes = {\n propKey: PropTypes.string,\n propVal: PropTypes.any,\n propClass: PropTypes.string\n}\n\nexport default Property\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class TryItOutButton extends React.Component {\n\n static propTypes = {\n onTryoutClick: PropTypes.func,\n onResetClick: PropTypes.func,\n onCancelClick: PropTypes.func,\n enabled: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form\n hasUserEditedBody: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form\n isOAS3: PropTypes.bool, // Try it out is enabled, ie: the user has access to the form\n };\n\n static defaultProps = {\n onTryoutClick: Function.prototype,\n onCancelClick: Function.prototype,\n onResetClick: Function.prototype,\n enabled: false,\n hasUserEditedBody: false,\n isOAS3: false,\n };\n\n render() {\n const { onTryoutClick, onCancelClick, onResetClick, enabled, hasUserEditedBody, isOAS3 } = this.props\n\n const showReset = isOAS3 && hasUserEditedBody\n return (\n <div className={showReset ? \"try-out btn-group\" : \"try-out\"}>\n {\n enabled ? <button className=\"btn try-out__btn cancel\" onClick={ onCancelClick }>Cancel</button>\n : <button className=\"btn try-out__btn\" onClick={ onTryoutClick }>Try it out </button>\n\n }\n {\n showReset && <button className=\"btn try-out__btn reset\" onClick={ onResetClick }>Reset</button>\n }\n </div>\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class VersionPragmaFilter extends React.PureComponent {\n static propTypes = {\n isSwagger2: PropTypes.bool.isRequired,\n isOAS3: PropTypes.bool.isRequired,\n bypass: PropTypes.bool,\n alsoShow: PropTypes.element,\n children: PropTypes.any,\n }\n\n static defaultProps = {\n alsoShow: null,\n children: null,\n bypass: false,\n }\n\n render() {\n const { bypass, isSwagger2, isOAS3, alsoShow } = this.props\n\n if(bypass) {\n return <div>{ this.props.children }</div>\n }\n\n if(isSwagger2 && isOAS3) {\n return <div className=\"version-pragma\">\n {alsoShow}\n <div className=\"version-pragma__message version-pragma__message--ambiguous\">\n <div>\n <h3>Unable to render this definition</h3>\n <p><code>swagger</code> and <code>openapi</code> fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields.</p>\n <p>Supported version fields are <code>swagger: {\"\\\"2.0\\\"\"}</code> and those that match <code>openapi: 3.0.n</code> (for example, <code>openapi: 3.0.0</code>).</p>\n </div>\n </div>\n </div>\n }\n\n if(!isSwagger2 && !isOAS3) {\n return <div className=\"version-pragma\">\n {alsoShow}\n <div className=\"version-pragma__message version-pragma__message--missing\">\n <div>\n <h3>Unable to render this definition</h3>\n <p>The provided definition does not specify a valid version field.</p>\n <p>Please indicate a valid Swagger or OpenAPI version field. Supported version fields are <code>swagger: {\"\\\"2.0\\\"\"}</code> and those that match <code>openapi: 3.0.n</code> (for example, <code>openapi: 3.0.0</code>).</p>\n </div>\n </div>\n </div>\n }\n\n return <div>{ this.props.children }</div>\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst VersionStamp = ({ version }) => {\n return <small><pre className=\"version\"> { version } </pre></small>\n}\n\nVersionStamp.propTypes = {\n version: PropTypes.string.isRequired\n}\n\nexport default VersionStamp\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const DeepLink = ({ enabled, path, text }) => {\n return (\n <a className=\"nostyle\"\n onClick={enabled ? (e) => e.preventDefault() : null}\n href={enabled ? `#/${path}` : null}>\n <span>{text}</span>\n </a>\n )\n}\nDeepLink.propTypes = {\n enabled: PropTypes.bool,\n isShown: PropTypes.bool,\n path: PropTypes.string,\n text: PropTypes.node\n}\n\nexport default DeepLink\n","import React from \"react\"\nconst SvgAssets = () =>\n <div>\n <svg xmlns=\"http://www.w3.org/2000/svg\" xmlnsXlink=\"http://www.w3.org/1999/xlink\" className=\"svg-assets\">\n <defs>\n <symbol viewBox=\"0 0 20 20\" id=\"unlocked\">\n <path d=\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z\"></path>\n </symbol>\n\n <symbol viewBox=\"0 0 20 20\" id=\"locked\">\n <path d=\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z\"/>\n </symbol>\n\n <symbol viewBox=\"0 0 20 20\" id=\"close\">\n <path d=\"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z\"/>\n </symbol>\n\n <symbol viewBox=\"0 0 20 20\" id=\"large-arrow\">\n <path d=\"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z\"/>\n </symbol>\n\n <symbol viewBox=\"0 0 20 20\" id=\"large-arrow-down\">\n <path d=\"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z\"/>\n </symbol>\n\n <symbol viewBox=\"0 0 20 20\" id=\"large-arrow-up\">\n <path d=\"M 17.418 14.908 C 17.69 15.176 18.127 15.176 18.397 14.908 C 18.667 14.64 18.668 14.207 18.397 13.939 L 10.489 6.109 C 10.219 5.841 9.782 5.841 9.51 6.109 L 1.602 13.939 C 1.332 14.207 1.332 14.64 1.602 14.908 C 1.873 15.176 2.311 15.176 2.581 14.908 L 10 7.767 L 17.418 14.908 Z\"/>\n </symbol>\n\n <symbol viewBox=\"0 0 24 24\" id=\"jump-to\">\n <path d=\"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z\"/>\n </symbol>\n\n <symbol viewBox=\"0 0 24 24\" id=\"expand\">\n <path d=\"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z\"/>\n </symbol>\n\n </defs>\n </svg>\n </div>\n\nexport default SvgAssets\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class BaseLayout extends React.Component {\n\n static propTypes = {\n errSelectors: PropTypes.object.isRequired,\n errActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render() {\n let {errSelectors, specSelectors, getComponent} = this.props\n\n let SvgAssets = getComponent(\"SvgAssets\")\n let InfoContainer = getComponent(\"InfoContainer\", true)\n let VersionPragmaFilter = getComponent(\"VersionPragmaFilter\")\n let Operations = getComponent(\"operations\", true)\n let Models = getComponent(\"Models\", true)\n let Row = getComponent(\"Row\")\n let Col = getComponent(\"Col\")\n let Errors = getComponent(\"errors\", true)\n\n const ServersContainer = getComponent(\"ServersContainer\", true)\n const SchemesContainer = getComponent(\"SchemesContainer\", true)\n const AuthorizeBtnContainer = getComponent(\"AuthorizeBtnContainer\", true)\n const FilterContainer = getComponent(\"FilterContainer\", true)\n let isSwagger2 = specSelectors.isSwagger2()\n let isOAS3 = specSelectors.isOAS3()\n\n const isSpecEmpty = !specSelectors.specStr()\n\n const loadingStatus = specSelectors.loadingStatus()\n\n let loadingMessage = null\n\n if(loadingStatus === \"loading\") {\n loadingMessage = <div className=\"info\">\n <div className=\"loading-container\">\n <div className=\"loading\"></div>\n </div>\n </div>\n }\n\n if(loadingStatus === \"failed\") {\n loadingMessage = <div className=\"info\">\n <div className=\"loading-container\">\n <h4 className=\"title\">Failed to load API definition.</h4>\n <Errors />\n </div>\n </div>\n }\n\n if (loadingStatus === \"failedConfig\") {\n const lastErr = errSelectors.lastError()\n const lastErrMsg = lastErr ? lastErr.get(\"message\") : \"\"\n loadingMessage = <div className=\"info failed-config\">\n <div className=\"loading-container\">\n <h4 className=\"title\">Failed to load remote configuration.</h4>\n <p>{lastErrMsg}</p>\n </div>\n </div>\n }\n\n if(!loadingMessage && isSpecEmpty) {\n loadingMessage = <h4>No API definition provided.</h4>\n }\n\n if(loadingMessage) {\n return <div className=\"swagger-ui\">\n <div className=\"loading-container\">\n {loadingMessage}\n </div>\n </div>\n }\n\n const servers = specSelectors.servers()\n const schemes = specSelectors.schemes()\n\n const hasServers = servers && servers.size\n const hasSchemes = schemes && schemes.size\n const hasSecurityDefinitions = !!specSelectors.securityDefinitions()\n\n return (\n <div className='swagger-ui'>\n <SvgAssets />\n <VersionPragmaFilter isSwagger2={isSwagger2} isOAS3={isOAS3} alsoShow={<Errors/>}>\n <Errors/>\n <Row className=\"information-container\">\n <Col mobile={12}>\n <InfoContainer/>\n </Col>\n </Row>\n\n {hasServers || hasSchemes || hasSecurityDefinitions ? (\n <div className=\"scheme-container\">\n <Col className=\"schemes wrapper\" mobile={12}>\n {hasServers ? (<ServersContainer />) : null}\n {hasSchemes ? (<SchemesContainer />) : null}\n {hasSecurityDefinitions ? (<AuthorizeBtnContainer />) : null}\n </Col>\n </div>\n ) : null}\n\n <FilterContainer/>\n\n <Row>\n <Col mobile={12} desktop={12} >\n <Operations/>\n </Col>\n </Row>\n <Row>\n <Col mobile={12} desktop={12} >\n <Models/>\n </Col>\n </Row>\n </VersionPragmaFilter>\n </div>\n )\n }\n}\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => __WEBPACK_EXTERNAL_MODULE_react_debounce_input_7ed3e068__[\"default\"] });","import React, { PureComponent, Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List, fromJS } from \"immutable\"\nimport cx from \"classnames\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport DebounceInput from \"react-debounce-input\"\nimport { stringify, getSampleSchema } from \"core/utils\"\n//import \"less/json-schema-form\"\n\nconst noop = ()=> {}\nconst JsonSchemaPropShape = {\n getComponent: PropTypes.func.isRequired,\n value: PropTypes.any,\n onChange: PropTypes.func,\n keyName: PropTypes.any,\n fn: PropTypes.object.isRequired,\n schema: PropTypes.object,\n errors: ImPropTypes.list,\n required: PropTypes.bool,\n dispatchInitialValue: PropTypes.bool,\n description: PropTypes.any,\n disabled: PropTypes.bool,\n}\n\nconst JsonSchemaDefaultProps = {\n value: \"\",\n onChange: noop,\n schema: {},\n keyName: \"\",\n required: false,\n errors: List()\n}\n\nexport class JsonSchemaForm extends Component {\n\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n componentDidMount() {\n const { dispatchInitialValue, value, onChange } = this.props\n if(dispatchInitialValue) {\n onChange(value)\n } else if(dispatchInitialValue === false) {\n onChange(\"\")\n }\n }\n\n render() {\n let { schema, errors, value, onChange, getComponent, fn, disabled } = this.props\n const format = schema && schema.get ? schema.get(\"format\") : null\n const type = schema && schema.get ? schema.get(\"type\") : null\n\n let getComponentSilently = (name) => getComponent(name, false, { failSilently: true })\n let Comp = type ? format ?\n getComponentSilently(`JsonSchema_${type}_${format}`) :\n getComponentSilently(`JsonSchema_${type}`) :\n getComponent(\"JsonSchema_string\")\n if (!Comp) {\n Comp = getComponent(\"JsonSchema_string\")\n }\n return <Comp { ...this.props } errors={errors} fn={fn} getComponent={getComponent} value={value} onChange={onChange} schema={schema} disabled={disabled}/>\n }\n}\n\nexport class JsonSchema_string extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n onChange = (e) => {\n const value = this.props.schema && this.props.schema.get(\"type\") === \"file\" ? e.target.files[0] : e.target.value\n this.props.onChange(value, this.props.keyName)\n }\n onEnumChange = (val) => this.props.onChange(val)\n render() {\n let { getComponent, value, schema, errors, required, description, disabled } = this.props\n const enumValue = schema && schema.get ? schema.get(\"enum\") : null\n const format = schema && schema.get ? schema.get(\"format\") : null\n const type = schema && schema.get ? schema.get(\"type\") : null\n const schemaIn = schema && schema.get ? schema.get(\"in\") : null\n if (!value) {\n value = \"\" // value should not be null; this fixes a Debounce error\n }\n errors = errors.toJS ? errors.toJS() : []\n\n if ( enumValue ) {\n const Select = getComponent(\"Select\")\n return (<Select className={ errors.length ? \"invalid\" : \"\"}\n title={ errors.length ? errors : \"\"}\n allowedValues={ enumValue }\n value={ value }\n allowEmptyValue={ !required }\n disabled={disabled}\n onChange={ this.onEnumChange }/>)\n }\n\n const isDisabled = disabled || (schemaIn && schemaIn === \"formData\" && !(\"FormData\" in window))\n const Input = getComponent(\"Input\")\n if (type && type === \"file\") {\n return (\n <Input type=\"file\"\n className={errors.length ? \"invalid\" : \"\"}\n title={errors.length ? errors : \"\"}\n onChange={this.onChange}\n disabled={isDisabled} />\n )\n }\n else {\n return (\n <DebounceInput\n type={format && format === \"password\" ? \"password\" : \"text\"}\n className={errors.length ? \"invalid\" : \"\"}\n title={errors.length ? errors : \"\"}\n value={value}\n minLength={0}\n debounceTimeout={350}\n placeholder={description}\n onChange={this.onChange}\n disabled={isDisabled} />\n )\n }\n }\n}\n\nexport class JsonSchema_array extends PureComponent {\n\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n constructor(props, context) {\n super(props, context)\n this.state = { value: valueOrEmptyList(props.value), schema: props.schema}\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const value = valueOrEmptyList(props.value)\n if(value !== this.state.value)\n this.setState({ value })\n\n if(props.schema !== this.state.schema)\n this.setState({ schema: props.schema })\n }\n\n onChange = () => {\n this.props.onChange(this.state.value)\n }\n\n onItemChange = (itemVal, i) => {\n this.setState(({ value }) => ({\n value: value.set(i, itemVal)\n }), this.onChange)\n }\n\n removeItem = (i) => {\n this.setState(({ value }) => ({\n value: value.delete(i)\n }), this.onChange)\n }\n\n addItem = () => {\n let newValue = valueOrEmptyList(this.state.value)\n this.setState(() => ({\n value: newValue.push(getSampleSchema(this.state.schema.get(\"items\"), false, {\n includeWriteOnly: true\n }))\n }), this.onChange)\n }\n\n onEnumChange = (value) => {\n this.setState(() => ({\n value: value\n }), this.onChange)\n }\n\n render() {\n let { getComponent, required, schema, errors, fn, disabled } = this.props\n\n errors = errors.toJS ? errors.toJS() : Array.isArray(errors) ? errors : []\n const arrayErrors = errors.filter(e => typeof e === \"string\")\n const needsRemoveError = errors.filter(e => e.needRemove !== undefined)\n .map(e => e.error)\n const value = this.state.value // expect Im List\n const shouldRenderValue =\n value && value.count && value.count() > 0 ? true : false\n const schemaItemsEnum = schema.getIn([\"items\", \"enum\"])\n const schemaItemsType = schema.getIn([\"items\", \"type\"])\n const schemaItemsFormat = schema.getIn([\"items\", \"format\"])\n const schemaItemsSchema = schema.get(\"items\")\n let ArrayItemsComponent\n let isArrayItemText = false\n let isArrayItemFile = (schemaItemsType === \"file\" || (schemaItemsType === \"string\" && schemaItemsFormat === \"binary\")) ? true : false\n if (schemaItemsType && schemaItemsFormat) {\n ArrayItemsComponent = getComponent(`JsonSchema_${schemaItemsType}_${schemaItemsFormat}`)\n } else if (schemaItemsType === \"boolean\" || schemaItemsType === \"array\" || schemaItemsType === \"object\") {\n ArrayItemsComponent = getComponent(`JsonSchema_${schemaItemsType}`)\n }\n // if ArrayItemsComponent not assigned or does not exist,\n // use default schemaItemsType === \"string\" & JsonSchemaArrayItemText component\n if (!ArrayItemsComponent && !isArrayItemFile) {\n isArrayItemText = true\n }\n\n if ( schemaItemsEnum ) {\n const Select = getComponent(\"Select\")\n return (<Select className={ errors.length ? \"invalid\" : \"\"}\n title={ errors.length ? errors : \"\"}\n multiple={ true }\n value={ value }\n disabled={disabled}\n allowedValues={ schemaItemsEnum }\n allowEmptyValue={ !required }\n onChange={ this.onEnumChange }/>)\n }\n\n const Button = getComponent(\"Button\")\n return (\n <div className=\"json-schema-array\">\n {shouldRenderValue ?\n (value.map((item, i) => {\n const itemErrors = fromJS([\n ...errors.filter((err) => err.index === i)\n .map(e => e.error)\n ])\n return (\n <div key={i} className=\"json-schema-form-item\">\n {\n isArrayItemFile ?\n <JsonSchemaArrayItemFile\n value={item}\n onChange={(val)=> this.onItemChange(val, i)}\n disabled={disabled}\n errors={itemErrors}\n getComponent={getComponent}\n />\n : isArrayItemText ?\n <JsonSchemaArrayItemText\n value={item}\n onChange={(val) => this.onItemChange(val, i)}\n disabled={disabled}\n errors={itemErrors}\n />\n : <ArrayItemsComponent {...this.props}\n value={item}\n onChange={(val) => this.onItemChange(val, i)}\n disabled={disabled}\n errors={itemErrors}\n schema={schemaItemsSchema}\n getComponent={getComponent}\n fn={fn}\n />\n }\n {!disabled ? (\n <Button\n className={`btn btn-sm json-schema-form-item-remove ${needsRemoveError.length ? \"invalid\" : null}`}\n title={needsRemoveError.length ? needsRemoveError : \"\"}\n\n onClick={() => this.removeItem(i)}\n > - </Button>\n ) : null}\n </div>\n )\n })\n ) : null\n }\n {!disabled ? (\n <Button\n className={`btn btn-sm json-schema-form-item-add ${arrayErrors.length ? \"invalid\" : null}`}\n title={arrayErrors.length ? arrayErrors : \"\"}\n onClick={this.addItem}\n >\n Add {schemaItemsType ? `${schemaItemsType} ` : \"\"}item\n </Button>\n ) : null}\n </div>\n )\n }\n}\n\nexport class JsonSchemaArrayItemText extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n onChange = (e) => {\n const value = e.target.value\n this.props.onChange(value, this.props.keyName)\n }\n\n render() {\n let { value, errors, description, disabled } = this.props\n if (!value) {\n value = \"\" // value should not be null\n }\n errors = errors.toJS ? errors.toJS() : []\n\n return (<DebounceInput\n type={\"text\"}\n className={errors.length ? \"invalid\" : \"\"}\n title={errors.length ? errors : \"\"}\n value={value}\n minLength={0}\n debounceTimeout={350}\n placeholder={description}\n onChange={this.onChange}\n disabled={disabled} />)\n }\n}\n\nexport class JsonSchemaArrayItemFile extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n onFileChange = (e) => {\n const value = e.target.files[0]\n this.props.onChange(value, this.props.keyName)\n }\n\n render() {\n let { getComponent, errors, disabled } = this.props\n const Input = getComponent(\"Input\")\n const isDisabled = disabled || !(\"FormData\" in window)\n\n return (<Input type=\"file\"\n className={errors.length ? \"invalid\" : \"\"}\n title={errors.length ? errors : \"\"}\n onChange={this.onFileChange}\n disabled={isDisabled} />)\n }\n}\n\nexport class JsonSchema_boolean extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n onEnumChange = (val) => this.props.onChange(val)\n render() {\n let { getComponent, value, errors, schema, required, disabled } = this.props\n errors = errors.toJS ? errors.toJS() : []\n let enumValue = schema && schema.get ? schema.get(\"enum\") : null\n let allowEmptyValue = !enumValue || !required\n let booleanValue = !enumValue && fromJS([\"true\", \"false\"])\n const Select = getComponent(\"Select\")\n\n return (<Select className={ errors.length ? \"invalid\" : \"\"}\n title={ errors.length ? errors : \"\"}\n value={ String(value) }\n disabled={ disabled }\n allowedValues={ enumValue || booleanValue }\n allowEmptyValue={ allowEmptyValue }\n onChange={ this.onEnumChange }/>)\n }\n}\n\nconst stringifyObjectErrors = (errors) => {\n return errors.map(err => {\n const meta = err.propKey !== undefined ? err.propKey : err.index\n let stringError = typeof err === \"string\" ? err : typeof err.error === \"string\" ? err.error : null\n\n if(!meta && stringError) {\n return stringError\n }\n let currentError = err.error\n let path = `/${err.propKey}`\n while(typeof currentError === \"object\") {\n const part = currentError.propKey !== undefined ? currentError.propKey : currentError.index\n if(part === undefined) {\n break\n }\n path += `/${part}`\n if (!currentError.error) {\n break\n }\n currentError = currentError.error\n }\n return `${path}: ${currentError}`\n })\n}\n\nexport class JsonSchema_object extends PureComponent {\n constructor() {\n super()\n }\n\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n onChange = (value) => {\n this.props.onChange(value)\n }\n\n handleOnChange = e => {\n const inputValue = e.target.value\n\n this.onChange(inputValue)\n }\n\n render() {\n let {\n getComponent,\n value,\n errors,\n disabled\n } = this.props\n\n const TextArea = getComponent(\"TextArea\")\n errors = errors.toJS ? errors.toJS() : Array.isArray(errors) ? errors : []\n\n return (\n <div>\n <TextArea\n className={cx({ invalid: errors.length })}\n title={ errors.length ? stringifyObjectErrors(errors).join(\", \") : \"\"}\n value={stringify(value)}\n disabled={disabled}\n onChange={ this.handleOnChange }/>\n </div>\n )\n }\n}\n\nfunction valueOrEmptyList(value) {\n return List.isList(value) ? value : Array.isArray(value) ? fromJS(value) : List()\n}\n","import err from \"core/plugins/err\"\nimport layout from \"core/plugins/layout\"\nimport spec from \"core/plugins/spec\"\nimport view from \"core/plugins/view\"\nimport samples from \"core/plugins/samples\"\nimport requestSnippets from \"core/plugins/request-snippets\"\nimport logs from \"core/plugins/logs\"\nimport swaggerJs from \"core/plugins/swagger-js\"\nimport auth from \"core/plugins/auth\"\nimport util from \"core/plugins/util\"\nimport downloadUrlPlugin from \"core/plugins/download-url\"\nimport configsPlugin from \"core/plugins/configs\"\nimport deepLinkingPlugin from \"core/plugins/deep-linking\"\nimport filter from \"core/plugins/filter\"\nimport onComplete from \"core/plugins/on-complete\"\nimport safeRender from \"core/plugins/safe-render\"\n\nimport OperationContainer from \"core/containers/OperationContainer\"\n\nimport App from \"core/components/app\"\nimport AuthorizationPopup from \"core/components/auth/authorization-popup\"\nimport AuthorizeBtn from \"core/components/auth/authorize-btn\"\nimport AuthorizeBtnContainer from \"core/containers/authorize-btn\"\nimport AuthorizeOperationBtn from \"core/components/auth/authorize-operation-btn\"\nimport Auths from \"core/components/auth/auths\"\nimport AuthItem from \"core/components/auth/auth-item\"\nimport AuthError from \"core/components/auth/error\"\nimport ApiKeyAuth from \"core/components/auth/api-key-auth\"\nimport BasicAuth from \"core/components/auth/basic-auth\"\nimport Example from \"core/components/example\"\nimport ExamplesSelect from \"core/components/examples-select\"\nimport ExamplesSelectValueRetainer from \"core/components/examples-select-value-retainer\"\nimport Oauth2 from \"core/components/auth/oauth2\"\nimport Clear from \"core/components/clear\"\nimport LiveResponse from \"core/components/live-response\"\nimport OnlineValidatorBadge from \"core/components/online-validator-badge\"\nimport Operations from \"core/components/operations\"\nimport OperationTag from \"core/components/operation-tag\"\nimport Operation from \"core/components/operation\"\nimport OperationSummary from \"core/components/operation-summary\"\nimport OperationSummaryMethod from \"core/components/operation-summary-method\"\nimport OperationSummaryPath from \"core/components/operation-summary-path\"\nimport OperationExt from \"core/components/operation-extensions\"\nimport OperationExtRow from \"core/components/operation-extension-row\"\nimport HighlightCode from \"core/components/highlight-code\"\nimport Responses from \"core/components/responses\"\nimport Response from \"core/components/response\"\nimport ResponseExtension from \"core/components/response-extension\"\nimport ResponseBody from \"core/components/response-body\"\nimport { Parameters } from \"core/components/parameters\"\nimport ParameterExt from \"core/components/parameter-extension\"\nimport ParameterIncludeEmpty from \"core/components/parameter-include-empty\"\nimport ParameterRow from \"core/components/parameter-row\"\nimport Execute from \"core/components/execute\"\nimport Headers from \"core/components/headers\"\nimport Errors from \"core/components/errors\"\nimport ContentType from \"core/components/content-type\"\nimport Overview from \"core/components/overview\"\nimport InitializedInput from \"core/components/initialized-input\"\nimport Info, {\n InfoUrl,\n InfoBasePath\n} from \"core/components/info\"\nimport InfoContainer from \"core/containers/info\"\nimport JumpToPath from \"core/components/jump-to-path\"\nimport Footer from \"core/components/footer\"\nimport FilterContainer from \"core/containers/filter\"\nimport ParamBody from \"core/components/param-body\"\nimport Curl from \"core/components/curl\"\nimport Schemes from \"core/components/schemes\"\nimport SchemesContainer from \"core/containers/schemes\"\nimport ModelCollapse from \"core/components/model-collapse\"\nimport ModelExample from \"core/components/model-example\"\nimport ModelWrapper from \"core/components/model-wrapper\"\nimport Model from \"core/components/model\"\nimport Models from \"core/components/models\"\nimport EnumModel from \"core/components/enum-model\"\nimport ObjectModel from \"core/components/object-model\"\nimport ArrayModel from \"core/components/array-model\"\nimport PrimitiveModel from \"core/components/primitive-model\"\nimport Property from \"core/components/property\"\nimport TryItOutButton from \"core/components/try-it-out-button\"\nimport VersionPragmaFilter from \"core/components/version-pragma-filter\"\nimport VersionStamp from \"core/components/version-stamp\"\nimport DeepLink from \"core/components/deep-link\"\nimport SvgAssets from \"core/components/svg-assets\"\n\nimport Markdown from \"core/components/providers/markdown\"\n\nimport BaseLayout from \"core/components/layouts/base\"\n\nimport * as LayoutUtils from \"core/components/layout-utils\"\nimport * as JsonSchemaComponents from \"core/json-schema-components\"\n\nexport default function() {\n\n let coreComponents = {\n components: {\n App,\n authorizationPopup: AuthorizationPopup,\n authorizeBtn: AuthorizeBtn,\n AuthorizeBtnContainer,\n authorizeOperationBtn: AuthorizeOperationBtn,\n auths: Auths,\n AuthItem: AuthItem,\n authError: AuthError,\n oauth2: Oauth2,\n apiKeyAuth: ApiKeyAuth,\n basicAuth: BasicAuth,\n clear: Clear,\n liveResponse: LiveResponse,\n InitializedInput,\n info: Info,\n InfoContainer,\n JumpToPath,\n onlineValidatorBadge: OnlineValidatorBadge,\n operations: Operations,\n operation: Operation,\n OperationSummary,\n OperationSummaryMethod,\n OperationSummaryPath,\n highlightCode: HighlightCode,\n responses: Responses,\n response: Response,\n ResponseExtension: ResponseExtension,\n responseBody: ResponseBody,\n parameters: Parameters,\n parameterRow: ParameterRow,\n execute: Execute,\n headers: Headers,\n errors: Errors,\n contentType: ContentType,\n overview: Overview,\n footer: Footer,\n FilterContainer,\n ParamBody: ParamBody,\n curl: Curl,\n schemes: Schemes,\n SchemesContainer,\n modelExample: ModelExample,\n ModelWrapper,\n ModelCollapse,\n Model,\n Models,\n EnumModel,\n ObjectModel,\n ArrayModel,\n PrimitiveModel,\n Property,\n TryItOutButton,\n Markdown,\n BaseLayout,\n VersionPragmaFilter,\n VersionStamp,\n OperationExt,\n OperationExtRow,\n ParameterExt,\n ParameterIncludeEmpty,\n OperationTag,\n OperationContainer,\n DeepLink,\n InfoUrl,\n InfoBasePath,\n SvgAssets,\n Example,\n ExamplesSelect,\n ExamplesSelectValueRetainer,\n }\n }\n\n let formComponents = {\n components: LayoutUtils\n }\n\n let jsonSchemaComponents = {\n components: JsonSchemaComponents\n }\n\n return [\n configsPlugin,\n util,\n logs,\n view,\n spec,\n err,\n layout,\n samples,\n coreComponents,\n formComponents,\n swaggerJs,\n jsonSchemaComponents,\n auth,\n downloadUrlPlugin,\n deepLinkingPlugin,\n filter,\n onComplete,\n requestSnippets,\n safeRender(),\n ]\n}\n","import BasePreset from \"./base\"\nimport OAS3Plugin from \"../plugins/oas3\"\n\n// Just the base, for now.\n\nexport default function PresetApis() {\n\n return [\n BasePreset,\n OAS3Plugin\n ]\n}\n","import deepExtend from \"deep-extend\"\n\nimport System from \"./system\"\nimport ApisPreset from \"./presets/apis\"\nimport AllPlugins from \"./plugins/all\"\nimport { parseSearch } from \"./utils\"\nimport win from \"./window\"\n\n// eslint-disable-next-line no-undef\nconst { GIT_DIRTY, GIT_COMMIT, PACKAGE_VERSION, BUILD_TIME } = buildInfo\n\nexport default function SwaggerUI(opts) {\n\n win.versions = win.versions || {}\n win.versions.swaggerUi = {\n version: PACKAGE_VERSION,\n gitRevision: GIT_COMMIT,\n gitDirty: GIT_DIRTY,\n buildTimestamp: BUILD_TIME,\n }\n\n const defaults = {\n // Some general settings, that we floated to the top\n dom_id: null, // eslint-disable-line camelcase\n domNode: null,\n spec: {},\n url: \"\",\n urls: null,\n layout: \"BaseLayout\",\n docExpansion: \"list\",\n maxDisplayedTags: null,\n filter: null,\n validatorUrl: \"https://validator.swagger.io/validator\",\n oauth2RedirectUrl: `${window.location.protocol}//${window.location.host}${window.location.pathname.substring(0, window.location.pathname.lastIndexOf(\"/\"))}/oauth2-redirect.html`,\n persistAuthorization: false,\n configs: {},\n custom: {},\n displayOperationId: false,\n displayRequestDuration: false,\n deepLinking: false,\n tryItOutEnabled: false,\n requestInterceptor: (a => a),\n responseInterceptor: (a => a),\n showMutatedRequest: true,\n defaultModelRendering: \"example\",\n defaultModelExpandDepth: 1,\n defaultModelsExpandDepth: 1,\n showExtensions: false,\n showCommonExtensions: false,\n withCredentials: undefined,\n requestSnippetsEnabled: false,\n requestSnippets: {\n generators: {\n \"curl_bash\": {\n title: \"cURL (bash)\",\n syntax: \"bash\"\n },\n \"curl_powershell\": {\n title: \"cURL (PowerShell)\",\n syntax: \"powershell\"\n },\n \"curl_cmd\": {\n title: \"cURL (CMD)\",\n syntax: \"bash\"\n },\n },\n defaultExpanded: true,\n languages: null, // e.g. only show curl bash = [\"curl_bash\"]\n },\n supportedSubmitMethods: [\n \"get\",\n \"put\",\n \"post\",\n \"delete\",\n \"options\",\n \"head\",\n \"patch\",\n \"trace\"\n ],\n queryConfigEnabled: false,\n\n // Initial set of plugins ( TODO rename this, or refactor - we don't need presets _and_ plugins. Its just there for performance.\n // Instead, we can compile the first plugin ( it can be a collection of plugins ), then batch the rest.\n presets: [\n ApisPreset\n ],\n\n // Plugins; ( loaded after presets )\n plugins: [\n ],\n\n pluginsOptions: {\n // Behavior during plugin registration. Can be :\n // - legacy (default) : the current behavior for backward compatibility – last plugin takes precedence over the others\n // - chain : chain wrapComponents when targeting the same core component\n pluginLoadType: \"legacy\"\n },\n\n // Initial state\n initialState: { },\n\n // Inline Plugin\n fn: { },\n components: { },\n\n syntaxHighlight: {\n activated: true,\n theme: \"agate\"\n }\n }\n\n let queryConfig = opts.queryConfigEnabled ? parseSearch() : {}\n\n const domNode = opts.domNode\n delete opts.domNode\n\n const constructorConfig = deepExtend({}, defaults, opts, queryConfig)\n\n const storeConfigs = {\n system: {\n configs: constructorConfig.configs\n },\n plugins: constructorConfig.presets,\n pluginsOptions: constructorConfig.pluginsOptions,\n state: deepExtend({\n layout: {\n layout: constructorConfig.layout,\n filter: constructorConfig.filter\n },\n spec: {\n spec: \"\",\n url: constructorConfig.url\n },\n requestSnippets: constructorConfig.requestSnippets\n }, constructorConfig.initialState)\n }\n\n if(constructorConfig.initialState) {\n // if the user sets a key as `undefined`, that signals to us that we\n // should delete the key entirely.\n // known usage: Swagger-Editor validate plugin tests\n for (var key in constructorConfig.initialState) {\n if(\n Object.prototype.hasOwnProperty.call(constructorConfig.initialState, key)\n && constructorConfig.initialState[key] === undefined\n ) {\n delete storeConfigs.state[key]\n }\n }\n }\n\n let inlinePlugin = ()=> {\n return {\n fn: constructorConfig.fn,\n components: constructorConfig.components,\n state: constructorConfig.state,\n }\n }\n\n var store = new System(storeConfigs)\n store.register([constructorConfig.plugins, inlinePlugin])\n\n var system = store.getSystem()\n\n const downloadSpec = (fetchedConfig) => {\n let localConfig = system.specSelectors.getLocalConfig ? system.specSelectors.getLocalConfig() : {}\n let mergedConfig = deepExtend({}, localConfig, constructorConfig, fetchedConfig || {}, queryConfig)\n\n // deep extend mangles domNode, we need to set it manually\n if(domNode) {\n mergedConfig.domNode = domNode\n }\n\n store.setConfigs(mergedConfig)\n system.configsActions.loaded()\n\n if (fetchedConfig !== null) {\n if (!queryConfig.url && typeof mergedConfig.spec === \"object\" && Object.keys(mergedConfig.spec).length) {\n system.specActions.updateUrl(\"\")\n system.specActions.updateLoadingStatus(\"success\")\n system.specActions.updateSpec(JSON.stringify(mergedConfig.spec))\n } else if (system.specActions.download && mergedConfig.url && !mergedConfig.urls) {\n system.specActions.updateUrl(mergedConfig.url)\n system.specActions.download(mergedConfig.url)\n }\n }\n\n if(mergedConfig.domNode) {\n system.render(mergedConfig.domNode, \"App\")\n } else if(mergedConfig.dom_id) {\n let domNode = document.querySelector(mergedConfig.dom_id)\n system.render(domNode, \"App\")\n } else if(mergedConfig.dom_id === null || mergedConfig.domNode === null) {\n // do nothing\n // this is useful for testing that does not need to do any rendering\n } else {\n console.error(\"Skipped rendering: no `dom_id` or `domNode` was specified\")\n }\n\n return system\n }\n\n const configUrl = queryConfig.config || constructorConfig.configUrl\n\n if (configUrl && system.specActions && system.specActions.getConfigByUrl) {\n system.specActions.getConfigByUrl({\n url: configUrl,\n loadRemoteConfig: true,\n requestInterceptor: constructorConfig.requestInterceptor,\n responseInterceptor: constructorConfig.responseInterceptor,\n }, downloadSpec)\n } else {\n return downloadSpec()\n }\n\n return system\n}\n\n// Add presets\nSwaggerUI.presets = {\n apis: ApisPreset,\n}\n\n// All Plugins\nSwaggerUI.plugins = AllPlugins\n","import SwaggerUI from \"./core\"\n\nexport default SwaggerUI\n"],"names":["module","exports","y","x","__webpack_require__","d","__WEBPACK_EXTERNAL_MODULE_react_immutable_pure_component_cbcfaebd__","Model","ref","replace","model","props","specSelectors","findDefinition","this","getComponent","getConfigs","schema","required","name","isRef","specPath","displayName","includeReadOnly","includeWriteOnly","ObjectModel","ArrayModel","PrimitiveModel","type","$$ref","get","getModelName","getRefSchema","className","src","require","height","width","deprecated","isOAS3","undefined","ImmutablePureComponent","ImPropTypes","isRequired","PropTypes","expandDepth","depth","OnlineValidatorBadge","context","URL","url","win","toString","validatorUrl","state","getDefinitionUrl","nextProps","setState","spec","sanitizedValidatorUrl","sanitizeUrl","length","requiresValidationURL","target","rel","href","encodeURIComponent","ValidatorImage","alt","React","loaded","error","img","Image","onload","onerror","__WEBPACK_EXTERNAL_MODULE_remarkable_linkify_34829ba6__","linkify","__WEBPACK_EXTERNAL_MODULE_dompurify__","Markdown","source","md","Remarkable","html","typographer","breaks","linkTarget","use","core","ruler","disable","useUnsafeMarkdown","render","sanitized","sanitizer","cx","dangerouslySetInnerHTML","__html","DomPurify","current","setAttribute","defaultProps","str","ALLOW_DATA_ATTR","FORBID_ATTR","hasWarnedAboutDeprecation","console","warn","ADD_ATTR","FORBID_TAGS","request","allPlugins","key","mod","pascalCaseFilename","default","SafeRender","SHOW_AUTH_POPUP","AUTHORIZE","LOGOUT","PRE_AUTHORIZE_OAUTH2","AUTHORIZE_OAUTH2","VALIDATE","CONFIGURE_AUTH","RESTORE_AUTHORIZATION","showDefinitions","payload","authorize","authorizeWithPersistOption","authActions","persistAuthorizationIfNeeded","logout","logoutWithPersistOption","preAuthorizeImplicit","errActions","auth","token","isValid","flow","newAuthErr","authId","level","message","authorizeOauth2WithPersistOption","authorizeOauth2","authorizePassword","username","password","passwordType","clientId","clientSecret","form","grant_type","scope","scopes","join","headers","client_id","client_secret","setClientIdAndSecret","Authorization","btoa","authorizeRequest","body","buildFormData","query","authorizeApplication","authorizeAccessCodeWithFormParams","redirectUrl","codeVerifier","code","redirect_uri","code_verifier","authorizeAccessCodeWithBasicAuthentication","data","parsedUrl","fn","oas3Selectors","authSelectors","additionalQueryStringParams","finalServerUrl","serverEffectiveValue","selectedServer","parseUrl","fetchUrl","_headers","fetch","method","requestInterceptor","responseInterceptor","then","response","JSON","parse","parseError","ok","statusText","catch","e","Error","errData","jsonResponse","error_description","jsonError","configureAuth","restoreAuthorization","persistAuthorization","authorized","localStorage","setItem","toJS","authPopup","swaggerUIRedirectOauth2","afterLoad","system","rootInjects","initOAuth","preauthorizeApiKey","preauthorizeBasic","statePlugins","reducers","actions","selectors","wrapActions","specWrapActionReplacements","specJson","definitionBase","getIn","value","set","securities","fromJS","map","Map","entrySeq","security","isFunc","setIn","header","parsedAuth","result","withMutations","delete","shownDefinitions","createSelector","definitionsToAuthorize","definitions","securityDefinitions","list","List","val","push","getDefinitionsByNames","valueSeq","names","allowedScopes","definition","size","keySeq","contains","definitionsForRequirements","allDefinitions","def","sec","first","isAuthorized","execute","oriAction","path","operation","extras","specSecurity","UPDATE_CONFIGS","TOGGLE_CONFIGS","update","configName","configValue","toggle","getItem","parseYamlConfig","yaml","YAML","newThrownErr","getLocalConfig","yamlConfig","configsPlugin","specActions","configs","action","merge","oriVal","downloadConfig","req","getConfigByUrl","cb","next","res","status","updateLoadingStatus","updateUrl","text","setHash","history","pushState","window","location","hash","layout","ori","decodeURIComponent","layoutActions","parseDeepLinkHash","wrapComponents","OperationWrapper","OperationTag","OperationTagWrapper","__WEBPACK_EXTERNAL_MODULE_zenscroll__","SCROLL_TO","CLEAR_SCROLL_TO","show","layoutSelectors","args","deepLinking","tokenArray","shown","urlHashArray","urlHashArrayFromIsShownKey","assetName","createDeepLinkPath","scrollTo","rawHash","hashArray","split","isShownKey","isShownKeyFromUrlHashArray","tagId","maybeOperationId","tagIsShownKey","readyToScroll","scrollToKey","getScrollToKey","Im","scrollToElement","clearScrollTo","container","getScrollParent","zenscroll","to","element","includeHidden","LAST_RESORT","document","documentElement","style","getComputedStyle","excludeStaticParent","position","overflowRegex","parent","parentElement","test","overflow","overflowY","overflowX","tag","operationId","Ori","onLoad","toObject","downloadUrlPlugin","toolbox","download","config","specUrl","createElement","protocol","origin","checkPossibleFailReasons","updateSpec","clear","loadSpec","a","credentials","enums","loadingStatus","NEW_THROWN_ERR","NEW_THROWN_ERR_BATCH","NEW_SPEC_ERR","NEW_SPEC_ERR_BATCH","NEW_AUTH_ERR","CLEAR","CLEAR_BY","err","serializeError","newThrownErrBatch","errors","newSpecErr","newSpecErrBatch","errArray","filter","clearBy","__WEBPACK_EXTERNAL_MODULE_lodash_reduce_11e69996__","errorTransformers","transformErrors","inputs","jsSpec","transformedErrors","reduce","transformer","newlyTransformedErrors","transform","seekStr","i","types","p","c","arr","makeNewMessage","makeReducers","DEFAULT_ERROR_STRUCTURE","line","sortBy","newErrors","k","errValue","filterValue","allErrors","lastError","all","last","opsFilter","taggedOps","phrase","tagObj","UPDATE_LAYOUT","UPDATE_FILTER","UPDATE_MODE","SHOW","updateLayout","updateFilter","thing","normalizeArray","changeMode","mode","wrapSelectors","isShown","thingToShow","currentFilter","whatMode","showSummary","taggedOperations","oriSelector","getSystem","maxDisplayedTags","isNaN","levels","getLevel","logLevel","logLevelInt","log","info","debug","UPDATE_SELECTED_SERVER","UPDATE_REQUEST_BODY_VALUE","UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG","UPDATE_REQUEST_BODY_INCLUSION","UPDATE_ACTIVE_EXAMPLES_MEMBER","UPDATE_REQUEST_CONTENT_TYPE","UPDATE_RESPONSE_CONTENT_TYPE","UPDATE_SERVER_VARIABLE_VALUE","SET_REQUEST_BODY_VALIDATE_ERROR","CLEAR_REQUEST_BODY_VALIDATE_ERROR","CLEAR_REQUEST_BODY_VALUE","setSelectedServer","selectedServerUrl","namespace","setRequestBodyValue","pathMethod","setRetainRequestBodyValueFlag","setRequestBodyInclusion","setActiveExamplesMember","contextType","contextName","setRequestContentType","setResponseContentType","setServerVariableValue","server","setRequestBodyValidateError","validationErrors","clearRequestBodyValidateError","initRequestBodyValidateError","clearRequestBodyValue","selector","defName","flowKey","flowVal","translatedDef","authorizationUrl","tokenUrl","description","v","oidcData","grants","grant","translatedScopes","acc","cur","openIdConnectUrl","isOAS3Helper","resolvedSchemes","getState","callbacks","OperationContainer","callbackElements","call","callbackName","callback","pathItemName","pathItem","op","allowTryItOut","HttpAuth","onChange","newValue","getValue","errSelectors","Input","Row","Col","AuthError","JumpToPath","scheme","toLowerCase","autoFocus","autoComplete","Callbacks","RequestBody","Servers","ServersContainer","RequestBodyEditor","OperationServers","operationLink","OperationLink","link","targetOp","parameters","n","string","Array","padString","Component","forceUpdate","obj","getSelectedServer","getServerVariable","getEffectiveServerValue","operationServers","pathServers","serversToDisplay","displaying","servers","currentServer","NOOP","Function","prototype","defaultValue","stringify","inputValue","applyDefaultValue","isInvalid","TextArea","invalid","title","onDomChange","PureComponent","userHasEditedBody","getDefaultRequestBodyValue","requestBody","mediaType","activeExamplesKey","mediaTypeValue","hasExamplesKey","exampleSchema","mediaTypeExample","exampleValue","getSampleSchema","requestBodyValue","requestBodyInclusionSetting","requestBodyErrors","contentType","isExecute","onChangeIncludeEmpty","updateActiveExamplesKey","setIsIncludedOptions","options","shouldDispatchInit","ModelExample","HighlightCode","ExamplesSelectValueRetainer","Example","ParameterIncludeEmpty","showCommonExtensions","requestBodyDescription","requestBodyContent","OrderedMap","schemaForMediaType","rawExamplesOfMediaType","sampleForMediaType","isObjectContent","isBinaryFormat","isBase64Format","files","JsonSchemaForm","ParameterExt","bodyProperties","prop","commonExt","getCommonExtensions","format","currentValue","currentErrors","included","useInitialValFromSchemaSamples","has","hasIn","useInitialValFromEnum","useInitialValue","initialValue","isFile","xKey","xVal","dispatchInitialValue","isIncluded","isIncludedOptions","isDisabled","isEmptyValue","sampleRequestBody","language","getKnownSyntaxHighlighterLanguage","examples","currentKey","currentUserInputValue","onSelect","updateValue","defaultToFirstExample","example","oas3Actions","serverVariableValue","setServer","variableName","getAttribute","newVariableValue","currentServerDefinition","prevServerDefinition","prevServerVariableDefs","prevServerVariableDefaultValue","currentServerVariableDefs","currentServerVariableDefaultValue","s","shouldShowVariableUI","htmlFor","onServerChange","toArray","onServerVariableValueChange","enumValue","selected","oasVersion","isSwagger2","swaggerVersion","OAS3ComponentWrapFactory","components","specWrapSelectors","authWrapSelectors","oas3","oas3Reducers","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_toArray_6cf1f7f9__","newVal","currentVal","valueKeys","valueKey","valueKeyVal","missingBodyValue","missingRequiredKeys","updateIn","missingKeyValues","bodyValue","currentMissingKey","bodyValues","curr","onlyOAS3","shouldRetainRequestBodyValue","hasUserEditedBody","currentMediaType","requestContentType","userEditedRequestBody","mapEntries","kv","currentMediaTypeDefaultBodyValue","specResolvedSubtree","activeExamplesMember","responseContentType","locationData","serverVariables","varValues","serverValue","RegExp","validateBeforeExecute","validateRequestBodyValueExists","validateShallowRequired","oas3RequiredRequestBodyContentType","oas3RequestContentType","oas3RequestBodyValue","requiredKeys","contentTypeVal","requiredKey","specResolved","count","isSwagger2Helper","OAS3NullSelector","hasHost","specJsonWithResolvedSubtrees","host","basePath","consumes","produces","schemes","onAuthChange","AuthItem","JsonSchema_string","VersionStamp","onlineValidatorBadge","disabled","parser","block","enable","trimmed","ModelComponent","classes","engaged","updateJsonSpec","onComplete","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_repeat_18ab8b74__","extractKey","hashIdx","escapeShell","escapeCMD","escapePowershell","getStringBodyOfMap","curlifyToJoin","extractedKey","curlify","escape","newLine","ext","isMultipartFormDataRequest","curlified","addWords","addWordsWithoutLeadingSpace","addNewLine","addIndent","h","reqBody","requestSnippetGenerator_curl_powershell","requestSnippetGenerator_curl_bash","requestSnippetGenerator_curl_cmd","RequestSnippets","requestSnippets","cursor","lineHeight","display","backgroundColor","paddingBottom","paddingTop","border","borderRadius","boxShadow","borderBottom","activeStyle","marginTop","marginRight","marginLeft","zIndex","requestSnippetsSelectors","isFunction","canSyntaxHighlight","rootRef","useRef","useState","getSnippetGenerators","activeLanguage","setActiveLanguage","getDefaultExpanded","isExpanded","setIsExpanded","useEffect","childNodes","node","nodeType","classList","addEventListener","handlePreventYScrollingBeyondElement","passive","removeEventListener","snippetGenerators","activeGenerator","snippet","handleSetIsExpanded","handleGetBtnStyle","deltaY","contentHeight","scrollHeight","visibleHeight","offsetHeight","scrollTop","preventDefault","SnippetComponent","getStyle","readOnly","justifyContent","alignItems","marginBottom","onClick","background","xlinkHref","paddingLeft","paddingRight","gen","handleGenChange","color","CopyToClipboard","getGenerators","languageKeys","generators","isEmpty","genFn","getGenFn","getActiveLanguage","ErrorBoundary","hasError","errorInfo","componentDidCatch","targetName","children","FallbackComponent","Fallback","withErrorBoundary","WrappedComponent","component","getDisplayName","WithErrorBoundary","isReactComponent","mapStateToProps","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_fill_07ef3114__","__WEBPACK_EXTERNAL_MODULE_lodash_zipObject_c74f1c14__","componentList","fullOverride","mergedComponentList","zipObject","Original","__WEBPACK_EXTERNAL_MODULE_randexp__","__WEBPACK_EXTERNAL_MODULE_lodash_isEmpty_e109fd6b__","primitives","pattern","RandExp","generateStringFromRegex","Date","toISOString","substring","primitive","objectify","sanitizeRef","deeplyStripKey","objectContracts","arrayContracts","numberContracts","stringContracts","liftSampleHelper","oldSchema","setIfNotDefinedInTarget","properties","propName","Object","hasOwnProperty","writeOnly","items","sampleFromSchemaGeneric","exampleOverride","respectXML","usePlainValue","hasOneOf","oneOf","hasAnyOf","anyOf","schemaToAdd","xml","_attr","additionalProperties","prefix","namespacePrefix","schemaHasAny","keys","enum","addPropertyToResult","handleMinMaxItems","sampleArray","maxItems","minItems","propertyAddedCounter","hasExceededMaxProperties","maxProperties","requiredPropertiesToAdd","addedCount","isOptionalProperty","canAddProperty","overrideE","attribute","enumAttrVal","attrExample","attrDefault","t","sample","itemSchema","itemSamples","wrapped","additionalProp","additionalProp1","additionalProps","additionalPropSample","toGenerateCount","minProperties","temp","min","minimum","exclusiveMinimum","max","maximum","exclusiveMaximum","maxLength","minLength","inferSchema","createXMLExample","o","json","XML","declaration","indent","sampleFromSchema","resolver","arg1","arg2","arg3","memoizedCreateXMLExample","memoizeN","memoizedSampleFromSchema","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_asyncToGenerator_db854086__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_regenerator_4d88cac3__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_promise_047dc8e8__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_date_now_1bf78713__","__WEBPACK_EXTERNAL_MODULE_lodash_isString_e6fa8a5b__","__WEBPACK_EXTERNAL_MODULE_lodash_debounce_3540babe__","__WEBPACK_EXTERNAL_MODULE_lodash_set_b4b15ee5__","UPDATE_SPEC","UPDATE_URL","UPDATE_JSON","UPDATE_PARAM","UPDATE_EMPTY_PARAM_INCLUSION","VALIDATE_PARAMS","SET_RESPONSE","SET_REQUEST","SET_MUTATED_REQUEST","LOG_REQUEST","CLEAR_RESPONSE","CLEAR_REQUEST","CLEAR_VALIDATE_PARAMS","UPDATE_OPERATION_META_VALUE","UPDATE_RESOLVED","UPDATE_RESOLVED_SUBTREE","SET_SCHEME","cleanSpec","isString","updateResolved","parseToJson","specStr","JSON_SCHEMA","reason","mark","hasWarnedAboutResolveSpecDeprecation","resolveSpec","resolve","AST","modelPropertyMacro","parameterMacro","getLineNumberForPath","baseDoc","preparedErrors","fullPath","enumerable","requestBatch","debResolveSubtrees","debounce","resolveSubtree","prev","resultMap","specWithCurrentSubtrees","oidcScheme","openIdConnectData","batchResult","updateResolvedSubtree","requestResolvedSubtree","changeParam","paramName","paramIn","isXml","changeParamByIdentity","param","invalidateResolvedSubtreeCache","validateParams","updateEmptyParamInclusion","includeEmptyValue","clearValidateParams","changeConsumesValue","changeProducesValue","setResponse","setRequest","setMutatedRequest","logRequest","executeRequest","pathName","parameterInclusionSettingFor","paramValue","paramToValue","contextUrl","opId","namespaceVariables","globalVariables","parsedRequest","buildRequest","requestInterceptorWrapper","r","apply","mutatedRequest","parsedMutatedRequest","startTime","duration","operationScheme","contentTypeValues","parameterValues","clearResponse","clearRequest","setScheme","fromJSOrdered","paramKey","paramToIdentifier","paramValues","paramMeta","isEmptyValueIncluded","validateParam","bypassRequiredCheck","statusCode","newState","operationPath","metaPath","deleteIn","OPERATION_METHODS","specSource","mergerFn","oldVal","mergeWith","returnSelfOrNewMap","externalDocs","version","semver","exec","paths","operations","id","Set","resolvedRes","unresolvedRes","operationsWithRootInherited","ops","tags","tagDetails","currentTags","operationsWithTags","taggedMap","ar","tagsSorter","operationsSorter","tagA","tagB","sortFn","sorters","responses","requests","mutatedRequests","responseFor","requestFor","mutatedRequestFor","allowTryItOutFor","parameterWithMetaByIdentity","opParams","metaParams","mergedParams","currentParam","inNameKeyedMeta","hashKeyedMeta","hashCode","parameterWithMeta","operationWithMeta","meta","getParameter","inType","params","allowHashes","parametersIncludeIn","inValue","parametersIncludeType","typeValue","producesValue","currentProducesFor","currentProducesValue","firstProducesArrayItem","producesOptionsFor","operationProduces","pathItemProduces","globalProduces","consumesOptionsFor","operationConsumes","pathItemConsumes","globalConsumes","matchResult","match","urlScheme","canExecuteScheme","getOAS3RequiredRequestBodyContentType","requiredObj","isMediaTypeSchemaPropertiesEqual","targetMediaType","currentMediaTypeSchemaProperties","targetMediaTypeSchemaProperties","equals","pathItems","pathItemKeys","$ref","withCredentials","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_resolver_f879c638__","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_execute_d486d3d6__","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_http_69655560__","makeHttp","serializeRes","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_subtree_resolver_741cb9d9__","Http","preFetch","postFetch","opts","freshConfigs","rest","shallowEqualKeys","getComponents","getStore","memGetComponent","memoize","memMakeMappedContainer","memoizeForWithMappedContainer","withMappedContainer","makeMappedContainer","__WEBPACK_EXTERNAL_MODULE_react_dom_7dac9eee__","__WEBPACK_EXTERNAL_MODULE_react_redux_87be03b0__","Provider","connect","__WEBPACK_EXTERNAL_MODULE_lodash_omit_d930e0f3__","__WEBPACK_EXTERNAL_MODULE_lodash_identity_75ffe4a7__","withConnect","reduxStore","compose","WithRoot","store","withRoot","identity","ownProps","customMapStateToProps","WithSystem","withSystem","handleProps","mapping","oldProps","componentName","WithMappedContainer","cleanProps","omit","domNode","App","ReactDOM","TypeError","failSilently","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_light_746e1958__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_javascript_e22911f7__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_json_b876afc5__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_xml_a81c807b__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_bash_1621c621__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_yaml_02838f34__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_http_4e924b23__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_languages_hljs_powershell_d51eb4f6__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_agate_99a46aa2__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_arta_570691fc__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_monokai_2529bafb__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_nord_5bfa1099__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_obsidian_a278dd52__","__WEBPACK_EXTERNAL_MODULE_react_syntax_highlighter_dist_esm_styles_hljs_tomorrow_night_63765df9__","SyntaxHighlighter","js","http","bash","powershell","javascript","styles","agate","arta","monokai","nord","obsidian","tomorrowNight","availableStyles","__WEBPACK_EXTERNAL_MODULE__braintree_sanitize_url_2340607f__","__WEBPACK_EXTERNAL_MODULE_lodash_camelCase_81fadc19__","__WEBPACK_EXTERNAL_MODULE_lodash_upperFirst_9993ecb4__","__WEBPACK_EXTERNAL_MODULE_lodash_find_e8ecc2cb__","__WEBPACK_EXTERNAL_MODULE_lodash_some_5cd47809__","__WEBPACK_EXTERNAL_MODULE_lodash_eq_b41b823a__","__WEBPACK_EXTERNAL_MODULE_css_escape_2d301448__","DEFAULT_RESPONSE_KEY","isImmutable","maybe","isObject","toList","objWithHashedKeys","fdObj","newObj","trackKeys","pair","containsMultiple","createObjWithHashedKeys","isFn","isArray","_memoize","objMap","objReduce","systemThunkMiddleware","dispatch","defaultStatusCode","codes","getList","iterable","extractFileNameFromContentDispositionHeader","responseFilename","patterns","regex","filename","upperFirst","camelCase","validateValueBySchema","requiredByParam","parameterContentMediaType","nullable","requiredBySchema","uniqueItems","schemaRequiresValue","hasValue","stringCheck","arrayCheck","arrayListCheck","allChecks","passedAnyCheck","objectVal","isList","propKey","errs","rxPattern","validatePattern","validateMinItems","validateMaxItems","needRemove","errorPerItem","toSet","errorsPerIndex","item","add","index","validateUniqueItems","validateMaxLength","validateMinLength","validateMaximum","validateMinimum","validateDateTime","validateGuid","validateString","validateBoolean","validateNumber","validateInteger","validateFile","paramRequired","getParameterSchema","paramDetails","getXmlSampleSchema","shouldStringifyTypesConfig","when","shouldStringifyTypes","defaultStringifyTypes","getStringifiedSampleForSchema","resType","typesToStringify","nextConfig","some","getYamlSampleSchema","yamlString","jsonExample","lineWidth","parseSearch","search","substr","Buffer","from","alpha","b","localeCompare","formArr","find","eq","braintreeSanitizeUrl","uri","getAcceptControllingResponse","suitable2xxResponse","defaultResponse","suitableDefaultResponse","String","escapeDeepLinkPath","cssEscape","getExtensions","defObj","input","keyToStrip","predicate","numberToString","returnAll","generatedIdentifiers","allIdentifiers","generateCodeVerifier","b64toB64UrlEncoded","randomBytes","createCodeChallenge","shaJs","digest","canJsonParse","open","close","File","swagger2SchemaKeys","parameter","parameterContentMediaTypes","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_get_80914616__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_getPrototypeOf_c21fe081__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_wrapNativeSuper_31d78c7a__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_find_index_99e05360__","shallowArrayEquals","Cache","foundKey","OriginalCache","memoized","base64","ieee754","customInspectSymbol","Symbol","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Uint8Array","setPrototypeOf","arg","encodingOrOffset","allocUnsafe","encoding","isEncoding","byteLength","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","isBuffer","len","checked","numberIsNaN","fromObject","toPrimitive","assertSize","array","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","m","bidirectionalIndexOf","dir","arrayIndexOf","indexOf","lastIndexOf","indexSize","arrLength","valLength","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","utf8Write","blitBuffer","asciiWrite","byteArray","charCodeAt","asciiToBytes","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","Math","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","typedArraySupport","defineProperty","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","concat","pos","swap16","swap32","swap64","toLocaleString","inspect","trim","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","E","sym","getMessage","Base","constructor","super","writable","configurable","stack","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","base64clean","dst","alphabet","table","i16","BufferBigIntNotDefined","it","desc","sham","global","isCallable","tryToString","argument","uncurryThis","stringSlice","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","object","f","bitmap","fails","EXISTS","getBuiltIn","userAgent","process","Deno","versions","v8","getOwnPropertyDescriptor","isForced","bind","createNonEnumerableProperty","hasOwn","wrapConstructor","NativeConstructor","Wrapper","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","descriptor","TARGET","GLOBAL","STATIC","stat","PROTO","nativeSource","targetPrototype","forced","noTargetGet","wrap","real","NATIVE_BIND","FunctionPrototype","Reflect","aCallable","that","aFunction","variable","V","P","func","check","globalThis","self","g","classof","propertyIsEnumerable","replacement","feature","detection","normalize","POLYFILL","NATIVE","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","V8_VERSION","getOwnPropertySymbols","symbol","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","O","Attributes","propertyIsEnumerableModule","toIndexedObject","$propertyIsEnumerable","NASHORN_BUG","pref","setGlobal","SHARED","IS_PURE","copyright","license","IndexedObject","requireObjectCoercible","isSymbol","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","exoticToPrim","postfix","random","NATIVE_SYMBOL","iterator","shared","uid","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","$","isSpecificValue","cloneSpecificValue","getTime","deepCloneArray","clone","forEach","deepExtend","safeGetProperty","property","ReflectOwnKeys","R","ReflectApply","receiver","ownKeys","getOwnPropertyNames","NumberIsNaN","EventEmitter","init","once","emitter","Promise","reject","errorListener","removeListener","eventTargetAgnosticAddListener","handler","flags","on","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","_addListener","prepend","events","existing","warning","create","newListener","emit","unshift","warned","w","onceWrapper","fired","wrapFn","_onceWrap","_listeners","unwrap","evlistener","unwrapListeners","arrayClone","listenerCount","wrapListener","getPrototypeOf","setMaxListeners","getMaxListeners","doError","er","listeners","addListener","prependListener","prependOnceListener","originalListener","shift","pop","spliceOne","off","removeAllListeners","rawListeners","eventNames","ctor","superCtor","super_","TempCtor","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","browser","env","argv","binding","cwd","chdir","umask","MAX_BYTES","MAX_UINT32","crypto","msCrypto","getRandomValues","generated","createErrorType","NodeError","_Base","subClass","superClass","__proto__","expected","determiner","this_len","endsWith","objectKeys","Duplex","Readable","Writable","allowHalfOpen","readable","onend","_writableState","ended","onEndNT","highWaterMark","getBuffer","_readableState","destroyed","PassThrough","Transform","_transform","chunk","ReadableState","EElistenerCount","Stream","OurUint8Array","debugUtil","debuglog","StringDecoder","createReadableStreamAsyncIterator","BufferList","destroyImpl","getHighWaterMark","_require$codes","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","kProxyEvents","stream","isDuplex","objectMode","readableObjectMode","pipes","pipesCount","flowing","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","paused","emitClose","autoDestroy","defaultEncoding","awaitDrain","readingMore","decoder","_read","destroy","_destroy","readableAddChunk","addToFront","skipChunkCheck","emitReadable","emitReadable_","onEofChunk","chunkInvalid","_uint8ArrayToBuffer","addChunk","maybeReadMore","_undestroy","undestroy","isPaused","setEncoding","enc","head","content","MAX_HWM","howMuchToRead","computeNewHighWaterMark","maybeReadMore_","updateReadableListening","resume","nReadingNextTick","resume_","fromList","consume","endReadable","endReadableNT","wState","finished","xs","l","nOrig","doRead","pipe","dest","pipeOpts","endFn","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","onclose","onfinish","ondrain","ondata","cleanedUp","needDrain","pipeOnDrain","pause","event","dests","splice","ev","_this","asyncIterator","_fromList","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","ts","_transformState","transforming","writecb","writechunk","rs","needTransform","writeencoding","flush","_flush","prefinish","done","_write","err2","CorkedRequest","entry","finish","corkReq","pendingcb","corkedRequestsFree","onCorkedFinish","WritableState","internalUtil","deprecate","realHasInstance","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","writableObjectMode","finalCalled","ending","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","onwriteStateUpdate","finishMaybe","errorEmitted","onwriteError","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","writev","_writev","final","_final","doWrite","onwriteDrain","holder","allBuffers","isBuf","callFinal","need","rState","_","hasInstance","writeAfterEnd","validChunk","newChunk","decodeChunk","writeOrBuffer","cork","uncork","setDefaultEncoding","endWritable","_Object$setPrototypeO","_defineProperty","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","iter","onReadable","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","promise","lastPromise","wrapForNext","_this2","_Object$create","enumerableOnly","symbols","_defineProperties","custom","instance","Constructor","_classCallCheck","tail","protoProps","staticProps","hasStrings","_getString","_getBuffer","nb","getOwnPropertyDescriptors","defineProperties","_objectSpread","customInspect","emitErrorAndCloseNT","emitErrorNT","emitCloseNT","readableDestroyed","writableDestroyed","ERR_STREAM_PREMATURE_CLOSE","eos","called","_len","_key","onlegacyfinish","writableEnded","readableEnded","onrequest","setHeader","abort","isRequest","ERR_MISSING_ARGS","destroyer","closed","popCallback","streams","destroys","ERR_INVALID_OPT_VALUE","duplexKey","hwm","highWaterMarkFrom","Hash","blockSize","finalSize","_block","_finalSize","_blockSize","accum","assigned","remainder","_update","rem","bits","lowBits","highBits","_hash","algorithm","Algorithm","sha","sha1","sha224","sha256","sha384","sha512","inherits","K","W","Sha","_w","rotl30","num","ft","_a","_b","_c","_d","_e","M","H","Sha1","rotl5","Sha256","Sha224","_f","_g","_h","ch","z","maj","sigma0","sigma1","gamma0","T1","T2","SHA512","Sha384","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","writeInt64BE","Sha512","Ch","xl","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","ah","bh","dh","eh","fh","gh","hh","al","bl","cl","dl","el","fl","gl","hl","xh","gamma0l","gamma1","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","EE","pipeline","_isStdio","didOnEnd","cleanup","nenc","retried","_normalizeEncoding","normalizeEncoding","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckExtraBytes","total","utf8CheckIncomplete","copyProps","SafeBuffer","trace","XML_CHARACTER_MAP","escapeForXML","indent_count","character","indent_spaces","values","_elem","icount","indents","interrupt","isStringContent","attributes","get_attributes","_cdata","append","elem","proceed","attr","output","interrupted","instant","delay","standalone","Element","webpackContext","webpackContextResolve","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_array_from_6be643d1__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_array_is_array_6a843f38__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_bind_23a689fe__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_concat_ad403b1a__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_entries_97fed13d__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_every_ac7bb0bc__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_filter_13f270a8__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_find_0ad1164d__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_for_each_f55cb86b__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_includes_c33ad5d5__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_index_of_5fb826c6__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_keys_3b8fec80__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_map_868765ae__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_reduce_e87b61a7__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_slice_9832b507__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_some_50ff1b2d__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_sort_abe23e03__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_starts_with_a4b73998__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_trim_ca5b709e__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_json_stringify_1bf7a515__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_map_16a511c8__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_object_assign_e13b6141__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_object_keys_e09d3035__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_object_values_550c3b22__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_set_timeout_d31e8027__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_url_4cfab046__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_assertThisInitialized_d1aa492f__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_classCallCheck_bc61e5c4__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_createClass_e5c14ae7__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_createForOfIteratorHelper_d12c79e6__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_createSuper_c6ffd7da__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_defineProperty_807a2698__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_extends_d20d3ceb__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_inherits_12dd5677__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_objectSpread2_89fd8f56__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_objectWithoutProperties_9beedba5__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_slicedToArray_5206d485__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_toConsumableArray_8b04f6fd__","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_helpers_typeof_f63a1f14__","__WEBPACK_EXTERNAL_MODULE_base64_js_f145eb6e__","__WEBPACK_EXTERNAL_MODULE_classnames__","__WEBPACK_EXTERNAL_MODULE_ieee754__","__WEBPACK_EXTERNAL_MODULE_immutable__","Seq","__WEBPACK_EXTERNAL_MODULE_js_yaml_78384032__","__WEBPACK_EXTERNAL_MODULE_lodash_get_9427f899__","__WEBPACK_EXTERNAL_MODULE_lodash_isFunction_f90b20d6__","__WEBPACK_EXTERNAL_MODULE_lodash_memoize_2b5bc477__","__WEBPACK_EXTERNAL_MODULE_prop_types_adfe8e31__","__WEBPACK_EXTERNAL_MODULE_react__","__WEBPACK_EXTERNAL_MODULE_react_copy_to_clipboard_5b11dd57__","__WEBPACK_EXTERNAL_MODULE_react_immutable_proptypes_89c7d083__","__WEBPACK_EXTERNAL_MODULE_redux__","applyMiddleware","bindActionCreators","createStore","__WEBPACK_EXTERNAL_MODULE_remarkable__","__WEBPACK_EXTERNAL_MODULE_reselect__","__WEBPACK_EXTERNAL_MODULE_serialize_error_5f2df3e5__","__WEBPACK_EXTERNAL_MODULE_swagger_client_es_helpers_4d7bea47__","__WEBPACK_EXTERNAL_MODULE_url_parse_6456105f__","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","toStringTag","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_last_index_of_bbdfc000__","__WEBPACK_EXTERNAL_MODULE_redux_immutable_446c9f82__","combineReducers","__WEBPACK_EXTERNAL_MODULE_lodash_merge_cf99375a__","idFn","Store","plugins","pluginsOptions","boundSystem","_getSystem","configureStore","buildSystem","register","rebuild","pluginSystem","combinePlugins","systemExtend","needAnotherRebuild","callAfterLoad","buildReducer","getRootInjects","getWrappedAndBoundActions","getWrappedAndBoundSelectors","getStateThunks","getFn","rebuildReducer","_getConfigs","reducerSystem","states","replaceReducer","reducerObj","redFn","wrapWithTryCatch","makeReducer","upName","toUpperCase","getType","actionHolders","actionName","actionGroups","getBoundActions","actionGroupName","wrappers","newAction","selectorGroups","getBoundSelectors","selectorGroupName","stateName","selectorName","wrappedSelector","wrapper","getSelectors","getNestedState","getActions","creator","actionCreator","pluginOptions","pluginLoadType","plugin","hasLoaded","calledSomething","wrapperFn","namespaceObj","logErrors","rootReducer","initialState","middlwares","composeEnhancers","createStoreWithMiddleware","resolvedSubtree","getResolvedSubtree","tryItOutEnabled","executeInProgress","nextState","docExpansion","displayOperationId","displayRequestDuration","supportedSubmitMethods","isDeepLinkingEnabled","jumpToKey","unresolvedOp","Operation","operationProps","summary","originalOperationId","toggleShown","onTryoutClick","onCancelClick","onExecute","layoutName","Layout","getLayout","AuthorizationPopup","Auths","AuthorizeBtn","showPopup","AuthorizeBtnContainer","authorizableDefinitions","AuthorizeOperationBtn","stopPropagation","auths","Oauth2","Button","authorizedAuth","nonOauthDefinitions","oauthDefinitions","onSubmit","submitAuth","logoutClick","authEl","ApiKeyAuth","BasicAuth","showValue","ExamplesSelect","isSyntheticChange","selectedOptions","_onSelect","currentExampleKey","currentExamplePerProps","firstExamplesKey","firstExample","firstExampleKey","keyOf","isValueModified","isModifiedValueAvailable","showLabels","_onDomSelect","exampleName","stringifyUnlessList","currentNamespace","_setStateForNamespace","newStateForNamespace","mergeDeep","_getCurrentExampleValue","exampleKey","_getValueForExample","_getStateForCurrentNamespace","lastUserEditedValue","valueFromExample","_setStateForCurrentNamespace","isModifiedValueSelected","otherArgs","lastDownstreamValue","valueFromCurrentExample","examplesMatchingNewValue","_onExamplesSelect","authConfigs","oauth2RedirectUrl","scopesArray","scopeSeparator","realm","usePkceWithAuthorizationCodeGrant","codeChallenge","useBasicAuthenticationWithAccessCodeGrant","errCb","oauth2Authorize","dataset","newScopes","appName","InitializedInput","oidcUrl","AUTH_FLOW_IMPLICIT","AUTH_FLOW_PASSWORD","AUTH_FLOW_ACCESS_CODE","AUTH_FLOW_APPLICATION","isPkceCodeGrant","flowToDisplay","tablet","desktop","onInputChange","selectScopes","onScopeChange","Clear","Headers","Duration","LiveResponse","showMutatedRequest","requestSnippetsEnabled","curlRequest","notDocumented","isError","headersKeys","ResponseBody","returnObject","joinedHeaders","hasHeaders","Curl","SWAGGER2_OPERATION_METHODS","OAS3_OPERATION_METHODS","Operations","validMethods","renderOperationTag","isAbsoluteUrl","buildBaseUrl","buildUrl","baseUrl","safeBuildUrl","tagExternalDocsUrl","Collapse","DeepLink","Link","tagDescription","tagExternalDocsDescription","rawTagExternalDocsUrl","showTag","enabled","focusable","isOpened","externalDocsUrl","extensions","Responses","Parameters","Execute","Schemes","OperationExt","OperationSummary","showExtensions","onChangeKey","currentScheme","tryItOutResponse","__WEBPACK_EXTERNAL_MODULE_lodash_toString_da931f05__","resolvedSummary","OperationSummaryMethod","OperationSummaryPath","hasSecurity","securityIsOptional","allowAnonymous","applicableDefinitions","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_splice_d746fc5e__","pathParts","OperationExtRow","xNormalizedValue","__WEBPACK_EXTERNAL_MODULE_js_file_download_bd23dbb6__","fileName","downloadable","canCopy","saveAs","controlsAcceptHeader","defaultCode","ContentType","Response","acceptControllingResponse","regionId","createHtmlReadyId","controlId","ariaControls","ariaLabel","contentTypes","onChangeProducesWrapper","role","isDefault","onContentTypeChange","onResponseContentTypeChange","__WEBPACK_EXTERNAL_MODULE__babel_runtime_corejs3_core_js_stable_instance_values_a68750d2__","activeContentType","specPathWithPossibleSchema","links","ResponseExtension","activeMediaType","examplesForMediaType","oas3SchemaForContentType","sampleSchema","shouldOverrideSchemaExample","sampleGenConfig","targetExamplesKey","getTargetExamplesKey","getMediaTypeExample","targetExample","oldOASMediaTypeExample","sampleResponse","getExampleComponent","_onContentTypeChange","omitValue","toSeq","__WEBPACK_EXTERNAL_MODULE_xml_but_prettier_2ed4d5cb__","__WEBPACK_EXTERNAL_MODULE_lodash_toLower_c29ee2b0__","parsedContent","prevContent","Blob","reader","FileReader","readAsText","updateParsedContent","prevProps","bodyEl","downloadName","blob","disposition","formatXml","textNodesOnSameLine","indentor","toLower","controls","tab","parametersVisible","callbackVisible","ParameterRow","TryItOutButton","groupedParametersArr","toggleTab","onResetClick","rawParam","onChangeConsumes","onChangeConsumesWrapper","onChangeMediaType","lastValue","usableValue","ParameterIncludeEmptyDefaultProps","onCheckboxChange","getParamKey","paramWithMeta","parameterMediaType","generatedSampleValue","onChangeWrapper","setDefaultValue","paramItems","paramEnum","paramDefaultValue","paramExample","ParamBody","bodyParam","consumesValue","itemType","isFormData","isFormDataSupported","isDisplayParamEnum","_onExampleSelect","oas3ValidateBeforeExecuteSuccess","missingKey","isPass","handleValidationResultPass","handleValidationResultFail","paramsResult","handleValidateParameters","requestBodyResult","handleValidateRequestBody","handleValidationResult","Property","schemaExample","propVal","propClass","Errors","editorActions","jumpToLine","allErrorsToDisplay","isVisible","sortedJSErrors","animated","ThrownErrorItem","SpecErrorItem","errorLine","toTitleCase","locationMessage","xclass","Container","fullscreen","full","containerClass","DEVICES","hide","keepContents","mobile","large","classesAr","device","deviceClass","Select","multiple","option","allowedValues","allowEmptyValue","NoMargin","renderNotAnimated","Overview","setTagShown","_setTagShown","showTagId","showOpIdPrefix","showOpId","_onClick","inputRef","otherProps","InfoBasePath","Contact","email","License","InfoUrl","Info","termsOfServiceUrl","contact","externalDocsDescription","InfoContainer","Footer","FilterContainer","isLoading","isFailed","classNames","placeholder","onFilterChange","isJson","isEditBox","_onChange","updateValues","defaultProp","handleOnChange","toggleIsEditBox","curl","curlBlock","SchemesContainer","ModelCollapse","onToggle","modelName","expanded","toggleCollapsed","collapsedContent","hideSelfOnExpand","activeTab","defaultModelRendering","defaultModelExpandDepth","ModelWrapper","exampleTabId","examplePanelId","modelTabId","modelPanelId","active","inactive","tabIndex","Models","getSchemaBasePath","defaultModelsExpandDepth","specPathBase","showModels","onLoadModels","schemaValue","rawSchemaValue","rawSchema","onLoadModel","getCollapsedContent","handleToggle","requiredProperties","infoProperties","JumpToPathSection","not","titleEl","isDeprecated","normalizedValue","Primitive","enumArray","filterNot","EnumModel","showReset","VersionPragmaFilter","bypass","alsoShow","xmlns","xmlnsXlink","viewBox","BaseLayout","SvgAssets","isSpecEmpty","loadingMessage","lastErr","lastErrMsg","hasServers","hasSchemes","hasSecurityDefinitions","__WEBPACK_EXTERNAL_MODULE_react_debounce_input_7ed3e068__","JsonSchemaDefaultProps","keyName","getComponentSilently","Comp","schemaIn","onEnumChange","debounceTimeout","JsonSchema_array","itemVal","valueOrEmptyList","ArrayItemsComponent","arrayErrors","needsRemoveError","shouldRenderValue","schemaItemsEnum","schemaItemsType","schemaItemsFormat","schemaItemsSchema","isArrayItemText","isArrayItemFile","itemErrors","JsonSchemaArrayItemFile","onItemChange","JsonSchemaArrayItemText","removeItem","addItem","onFileChange","JsonSchema_boolean","booleanValue","stringifyObjectErrors","stringError","currentError","part","JsonSchema_object","coreComponents","authorizationPopup","authorizeBtn","authorizeOperationBtn","authError","oauth2","apiKeyAuth","basicAuth","liveResponse","highlightCode","responseBody","parameterRow","overview","footer","modelExample","formComponents","LayoutUtils","jsonSchemaComponents","JsonSchemaComponents","util","logs","view","samples","swaggerJs","deepLinkingPlugin","safeRender","PresetApis","BasePreset","OAS3Plugin","GIT_DIRTY","buildInfo","GIT_COMMIT","PACKAGE_VERSION","BUILD_TIME","SwaggerUI","gitRevision","gitDirty","buildTimestamp","defaults","dom_id","urls","pathname","syntax","defaultExpanded","languages","queryConfigEnabled","presets","ApisPreset","syntaxHighlight","activated","theme","queryConfig","constructorConfig","storeConfigs","System","downloadSpec","fetchedConfig","localConfig","mergedConfig","setConfigs","configsActions","querySelector","configUrl","loadRemoteConfig","apis","AllPlugins"],"sourceRoot":""}