diff --git a/404.html b/404.html index 4292afb9..fc80a15e 100644 --- a/404.html +++ b/404.html @@ -10,7 +10,7 @@ - + Contributing • reactableContributing • reactable @@ -99,12 +99,12 @@

Installation# install.packages("devtools") devtools::install_dev_deps()

Install dependencies for JavaScript:

-
npm install
+
npm install

Building

Build the JS/CSS bundle (outputs to inst/htmlwidgets):

-
npm run build
+
npm run build

Then load (devtools::load_all()) or reinstall the package.

These generated files should be added in their own separate commit, preferably only once per branch.

@@ -118,19 +118,19 @@

Testing# install.packages("DT") covr::report()

Run JavaScript tests:

-
npm test
-
-# With test coverage
-npm run test:cover
-
-# Update test snapshots
-npm run test:update
+
npm test
+
+# With test coverage
+npm run test:cover
+
+# Update test snapshots
+npm run test:update

Linting and Formatting

Lint and format the JS/CSS:

-
npm run lint
-npm run format
+
npm run lint
+npm run format
@@ -140,11 +140,11 @@

Linting and Formatting diff --git a/LICENSE-text.html b/LICENSE-text.html index d2d52ab9..58a928c4 100644 --- a/LICENSE-text.html +++ b/LICENSE-text.html @@ -1,5 +1,5 @@ -License • reactableLicense • reactable @@ -89,11 +89,11 @@ diff --git a/articles/100k-rows.html b/articles/100k-rows.html index f339ed99..4c41f1d6 100644 --- a/articles/100k-rows.html +++ b/articles/100k-rows.html @@ -11,7 +11,7 @@ - +
-
+
@@ -288,7 +289,7 @@
- -
- +
+

Cell Styling @@ -889,13 +890,11 @@

diff --git a/articles/conditional-styling_files/htmltools-fill-0.5.8.1/fill.css b/articles/conditional-styling_files/htmltools-fill-0.5.8.1/fill.css new file mode 100644 index 00000000..841ea9d5 --- /dev/null +++ b/articles/conditional-styling_files/htmltools-fill-0.5.8.1/fill.css @@ -0,0 +1,21 @@ +@layer htmltools { + .html-fill-container { + display: flex; + flex-direction: column; + /* Prevent the container from expanding vertically or horizontally beyond its + parent's constraints. */ + min-height: 0; + min-width: 0; + } + .html-fill-container > .html-fill-item { + /* Fill items can grow and shrink freely within + available vertical space in fillable container */ + flex: 1 1 auto; + min-height: 0; + min-width: 0; + } + .html-fill-container > :not(.html-fill-item) { + /* Prevent shrinking or growing of non-fill items */ + flex: 0 0 auto; + } +} diff --git a/articles/conditional-styling_files/reactwidget-1.0.0/react-tools.js b/articles/conditional-styling_files/reactwidget-1.0.0/react-tools.js deleted file mode 100644 index 871441a9..00000000 --- a/articles/conditional-styling_files/reactwidget-1.0.0/react-tools.js +++ /dev/null @@ -1,547 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./srcjs/react-tools.js"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./srcjs/input.js": -/*!************************!*\ - !*** ./srcjs/input.js ***! - \************************/ -/*! exports provided: reactShinyInput */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reactShinyInput", function() { return reactShinyInput; }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ "react-dom"); -/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var shiny__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shiny */ "shiny"); -/* harmony import */ var shiny__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(shiny__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! jquery */ "jquery"); -/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_3__); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - - - - - -/* - * This default receiveMessage implementation expects data to contain whole - * configuration and value properties. If either is present, it will be set and - * the component will be re-rendered. Because receiveMessage is typically used - * by input authors to perform incremental updates, this default implementation - * can be overriden by the user with the receiveMessage arguments to - * reactShinyInput. - */ - -function defaultReceiveMessage(el, _ref) { - var configuration = _ref.configuration, - value = _ref.value; - var dirty = false; - - if (configuration !== undefined) { - this.setInputConfiguration(el, configuration); - dirty = true; - } - - if (value !== undefined) { - this.setInputValue(el, value); - dirty = true; - } - - if (dirty) { - this.getCallback(el)(); - this.render(el); - } -} - -var defaultOptions = { - receiveMessage: defaultReceiveMessage, - type: false, - ratePolicy: null -}; -/** - * Installs a new Shiny input binding based on a React component. - * - * @param {string} selector - jQuery selector that should identify the set of - * container elements within the scope argument of Shiny.InputBinding.find. - * @param {string} name - A name such as 'acme.FooInput' that should uniquely - * identify the component. - * @param {Object} component - React Component, either class or function. - * @param {Object} options - Additional configuration options. Supported - * options are: - * - receiveMessage: Implementation of Shiny.InputBinding to use in place of - * the default. Typically overridden as an optimization to perform - * incremental value updates. - * - type: `false`, a string, or a function. - * - `false` (the default): denotes that the value produced by this input - * should not be intercepted by any handlers registered in R on the - * server using shiny::registerInputHandler(). - * - string: denotes the input's *type* and should correspond to the - * type parameter of shiny::registerInputHandler(). - * - function: A function called with `this` bound to the InputBinding - * instance and passed a single argument, the input's containing DOM - * element. The function should return either `false` or a string - * corresponding to the type parameter of shiny::registerInputHandler(). - * - ratePolicy: A rate policy object as defined in the documentation for - * getRatePolicy(): https://shiny.rstudio.com/articles/building-inputs.html - * A rate policy object has two members: - * - `policy`: Valid values are the strings "direct", "debounce", and - * "throttle". "direct" means that all events are sent immediately. - * - `delay`: Number indicating the number of milliseconds that should be - * used when debouncing or throttling. Has no effect if the policy is - * direct. - * The specified rate policy is only applied when `true` is passed as the - * second argument to the `setValue` function passed as a prop to the - * input component. - * - */ - -function reactShinyInput(selector, name, component, options) { - options = Object.assign({}, defaultOptions, options); - shiny__WEBPACK_IMPORTED_MODULE_2___default.a.inputBindings.register(new ( /*#__PURE__*/function (_Shiny$InputBinding) { - _inherits(_class, _Shiny$InputBinding); - - var _super = _createSuper(_class); - - function _class() { - _classCallCheck(this, _class); - - return _super.apply(this, arguments); - } - - _createClass(_class, [{ - key: "find", - - /* - * Methods override those in Shiny.InputBinding - */ - value: function find(scope) { - return jquery__WEBPACK_IMPORTED_MODULE_3___default()(scope).find(selector); - } - }, { - key: "getValue", - value: function getValue(el) { - return this.getInputValue(el); - } - }, { - key: "setValue", - value: function setValue(el, value) { - var rateLimited = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - /* - * We have to check whether $(el).data('callback') is undefined here - * in case shiny::renderUI() is involved. If an input is contained in a - * shiny::uiOutput(), the following strange thing happens occasionally: - * - * 1. setValue() is bound to an el in this.render(), below - * 2. An event that will call setValue() is enqueued - * 3. While the event is still enqueued, el is unbound and removed - * from the DOM by the JS code associated with shiny::uiOutput() - * - That code uses jQuery .html() in output_binding_html.js - * - .html() removes el from the DOM and clears ist data and events - * 4. By the time the setValue() bound to the original el is invoked, - * el has been unbound and its data cleared. - * - * Since the original input is gone along with its callback, it - * seems to make the most sense to do nothing. - */ - if (jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('callback') !== undefined) { - this.setInputValue(el, value); - this.getCallback(el)(rateLimited); - this.render(el); - } - } - }, { - key: "initialize", - value: function initialize(el) { - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('value', JSON.parse(jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).next().text())); - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('configuration', JSON.parse(jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).next().next().text())); - } - }, { - key: "subscribe", - value: function subscribe(el, callback) { - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('callback', callback); - this.render(el); - } - }, { - key: "unsubscribe", - value: function unsubscribe(el) { - react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(null, el); - } - }, { - key: "receiveMessage", - value: function receiveMessage(el, data) { - options.receiveMessage.call(this, el, data); - } - }, { - key: "getType", - value: function getType(el) { - if (typeof options.type === 'function') { - return options.type.call(this, el); - } else if (options.type === false || typeof options.type === 'string') { - return options.type; - } else { - throw new Error('options.type must be false, a string, or a function'); - } - } - }, { - key: "getRatePolicy", - value: function getRatePolicy() { - return options.ratePolicy; - } - /* - * Methods not present in Shiny.InputBinding but accessible to users - * through `this` in receiveMessage - */ - - }, { - key: "getInputValue", - value: function getInputValue(el) { - return jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('value'); - } - }, { - key: "setInputValue", - value: function setInputValue(el, value) { - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('value', value); - } - }, { - key: "getInputConfiguration", - value: function getInputConfiguration(el) { - return jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('configuration'); - } - }, { - key: "setInputConfiguration", - value: function setInputConfiguration(el, configuration) { - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('configuration', configuration); - } - }, { - key: "getCallback", - value: function getCallback(el) { - return jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('callback'); - } - }, { - key: "render", - value: function render(el) { - var element = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(component, { - configuration: this.getInputConfiguration(el), - value: this.getValue(el), - setValue: this.setValue.bind(this, el), - el: el - }); - react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(element, el); - } - }]); - - return _class; - }(shiny__WEBPACK_IMPORTED_MODULE_2___default.a.InputBinding))(), name); -} - -/***/ }), - -/***/ "./srcjs/react-tools.js": -/*!******************************!*\ - !*** ./srcjs/react-tools.js ***! - \******************************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./widget */ "./srcjs/widget.js"); -/* harmony import */ var _input__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./input */ "./srcjs/input.js"); - - -window.reactR = { - reactShinyInput: _input__WEBPACK_IMPORTED_MODULE_1__["reactShinyInput"], - reactWidget: _widget__WEBPACK_IMPORTED_MODULE_0__["reactWidget"], - hydrate: _widget__WEBPACK_IMPORTED_MODULE_0__["hydrate"] -}; - -/***/ }), - -/***/ "./srcjs/widget.js": -/*!*************************!*\ - !*** ./srcjs/widget.js ***! - \*************************/ -/*! exports provided: hydrate, defaultOptions, mergeOptions, formatDimension, isTag, reactWidget */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hydrate", function() { return hydrate; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultOptions", function() { return defaultOptions; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeOptions", function() { return mergeOptions; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatDimension", function() { return formatDimension; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isTag", function() { return isTag; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reactWidget", function() { return reactWidget; }); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/** - * Recursively transforms tag, a JSON representation of an instance of a - * React component and its children, into a React element suitable for - * passing to ReactDOM.render. - * @param {Object} components - * @param {Object} tag - */ -function hydrate(components, tag) { - if (typeof tag === 'string') return tag; - - if (tag.name[0] === tag.name[0].toUpperCase() && !components.hasOwnProperty(tag.name)) { - throw new Error("Unknown component: " + tag.name); - } - - var elem = components.hasOwnProperty(tag.name) ? components[tag.name] : tag.name, - args = [elem, tag.attribs]; - - for (var i = 0; i < tag.children.length; i++) { - args.push(hydrate(components, tag.children[i])); - } - - return React.createElement.apply(React, args); -} -var defaultOptions = { - // The name of the property on the root tag to use for the width, if - // it's updated. - widthProperty: "width", - // The name of the property on the root tag to use for the height, if - // it's updated. - heightProperty: "height", - // Whether or not to append the string 'px' to the width and height - // properties when they change. - appendPx: false, - // Whether or not to dynamically update the width and height properties - // of the last known tag when the computed width and height change in - // the browser. - renderOnResize: false -}; -function mergeOptions(options) { - var merged = {}; - - for (var k in defaultOptions) { - merged[k] = defaultOptions[k]; - } - - for (var k in options) { - if (!defaultOptions.hasOwnProperty(k)) { - throw new Error("Unrecognized option: " + k); - } - - merged[k] = options[k]; - } - - return merged; -} -function formatDimension(dim, options) { - if (options.appendPx) { - return dim + 'px'; - } else { - return dim; - } -} -function isTag(value) { - return _typeof(value) === 'object' && value.hasOwnProperty('name') && value.hasOwnProperty('attribs') && value.hasOwnProperty('children'); -} -/** - * Creates an HTMLWidget that is updated by rendering a React component. - * React component constructors are made available by specifying them by - * name in the components object. - * @param {string} name - * @param {string} type - * @param {Object} components - * @param {Object} options - */ - -function reactWidget(name, type, components, options) { - var actualOptions = mergeOptions(options); - window.HTMLWidgets.widget({ - name: name, - type: type, - factory: function factory(el, width, height) { - var lastValue, - instance = {}, - renderValue = function renderValue(value) { - if (actualOptions.renderOnResize) { - // value.tag might be a primitive string, in which - // case there is no attribs property. - if (_typeof(value.tag) === 'object') { - value.tag.attribs[actualOptions["widthProperty"]] = formatDimension(width); - value.tag.attribs[actualOptions["heightProperty"]] = formatDimension(height); - } - - lastValue = value; - } // with functional stateless components this will be null - // see https://reactjs.org/docs/react-dom.html#render for more details - - - this.instance.component = ReactDOM.render(hydrate(components, value.tag), el); - }; - - return { - instance: instance, - renderValue: renderValue, - resize: function resize(newWidth, newHeight) { - if (actualOptions.renderOnResize) { - width = newWidth; - height = newHeight; - renderValue(lastValue); - } - } - }; - } - }); -} - -/***/ }), - -/***/ "jquery": -/*!********************************!*\ - !*** external "window.jQuery" ***! - \********************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = window.jQuery; - -/***/ }), - -/***/ "react": -/*!*******************************!*\ - !*** external "window.React" ***! - \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = window.React; - -/***/ }), - -/***/ "react-dom": -/*!**********************************!*\ - !*** external "window.ReactDOM" ***! - \**********************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = window.ReactDOM; - -/***/ }), - -/***/ "shiny": -/*!*******************************!*\ - !*** external "window.Shiny" ***! - \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = window.Shiny; - -/***/ }) - -/******/ }); -//# sourceMappingURL=react-tools.js.map \ No newline at end of file diff --git a/articles/conditional-styling_files/reactwidget-1.0.0/react-tools.js.map b/articles/conditional-styling_files/reactwidget-1.0.0/react-tools.js.map deleted file mode 100644 index 088dfa0e..00000000 --- a/articles/conditional-styling_files/reactwidget-1.0.0/react-tools.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./srcjs/input.js","webpack:///./srcjs/react-tools.js","webpack:///./srcjs/widget.js","webpack:///external \"window.jQuery\"","webpack:///external \"window.React\"","webpack:///external \"window.ReactDOM\"","webpack:///external \"window.Shiny\""],"names":["defaultReceiveMessage","el","configuration","value","dirty","undefined","setInputConfiguration","setInputValue","getCallback","render","defaultOptions","receiveMessage","type","ratePolicy","reactShinyInput","selector","name","component","options","Object","assign","Shiny","inputBindings","register","scope","$","find","getInputValue","rateLimited","data","JSON","parse","next","text","callback","ReactDOM","call","Error","element","React","createElement","getInputConfiguration","getValue","setValue","bind","InputBinding","window","reactR","reactWidget","hydrate","components","tag","toUpperCase","hasOwnProperty","elem","args","attribs","i","children","length","push","apply","widthProperty","heightProperty","appendPx","renderOnResize","mergeOptions","merged","k","formatDimension","dim","isTag","actualOptions","HTMLWidgets","widget","factory","width","height","lastValue","instance","renderValue","resize","newWidth","newHeight"],"mappings":"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","file":"react-tools.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./srcjs/react-tools.js\");\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport Shiny from 'shiny';\r\nimport $ from 'jquery';\r\n\r\n/*\r\n * This default receiveMessage implementation expects data to contain whole\r\n * configuration and value properties. If either is present, it will be set and\r\n * the component will be re-rendered. Because receiveMessage is typically used\r\n * by input authors to perform incremental updates, this default implementation\r\n * can be overriden by the user with the receiveMessage arguments to\r\n * reactShinyInput.\r\n */\r\nfunction defaultReceiveMessage(el, { configuration, value }) {\r\n let dirty = false;\r\n if (configuration !== undefined) {\r\n this.setInputConfiguration(el, configuration);\r\n dirty = true;\r\n }\r\n if (value !== undefined) {\r\n this.setInputValue(el, value);\r\n dirty = true;\r\n }\r\n if (dirty) {\r\n this.getCallback(el)();\r\n this.render(el);\r\n }\r\n}\r\n\r\nconst defaultOptions = {\r\n receiveMessage: defaultReceiveMessage,\r\n type: false,\r\n ratePolicy: null\r\n};\r\n\r\n/**\r\n * Installs a new Shiny input binding based on a React component.\r\n *\r\n * @param {string} selector - jQuery selector that should identify the set of\r\n * container elements within the scope argument of Shiny.InputBinding.find.\r\n * @param {string} name - A name such as 'acme.FooInput' that should uniquely\r\n * identify the component.\r\n * @param {Object} component - React Component, either class or function.\r\n * @param {Object} options - Additional configuration options. Supported\r\n * options are:\r\n * - receiveMessage: Implementation of Shiny.InputBinding to use in place of\r\n * the default. Typically overridden as an optimization to perform\r\n * incremental value updates.\r\n * - type: `false`, a string, or a function.\r\n * - `false` (the default): denotes that the value produced by this input\r\n * should not be intercepted by any handlers registered in R on the\r\n * server using shiny::registerInputHandler().\r\n * - string: denotes the input's *type* and should correspond to the\r\n * type parameter of shiny::registerInputHandler().\r\n * - function: A function called with `this` bound to the InputBinding\r\n * instance and passed a single argument, the input's containing DOM\r\n * element. The function should return either `false` or a string\r\n * corresponding to the type parameter of shiny::registerInputHandler().\r\n * - ratePolicy: A rate policy object as defined in the documentation for\r\n * getRatePolicy(): https://shiny.rstudio.com/articles/building-inputs.html\r\n * A rate policy object has two members:\r\n * - `policy`: Valid values are the strings \"direct\", \"debounce\", and\r\n * \"throttle\". \"direct\" means that all events are sent immediately.\r\n * - `delay`: Number indicating the number of milliseconds that should be\r\n * used when debouncing or throttling. Has no effect if the policy is\r\n * direct.\r\n * The specified rate policy is only applied when `true` is passed as the\r\n * second argument to the `setValue` function passed as a prop to the\r\n * input component.\r\n *\r\n */\r\nexport function reactShinyInput(selector,\r\n name,\r\n component,\r\n options) {\r\n options = Object.assign({}, defaultOptions, options);\r\n Shiny.inputBindings.register(new class extends Shiny.InputBinding {\r\n\r\n /*\r\n * Methods override those in Shiny.InputBinding\r\n */\r\n\r\n find(scope) {\r\n return $(scope).find(selector);\r\n }\r\n getValue(el) {\r\n return this.getInputValue(el);\r\n }\r\n setValue(el, value, rateLimited = false) {\r\n /*\r\n * We have to check whether $(el).data('callback') is undefined here\r\n * in case shiny::renderUI() is involved. If an input is contained in a\r\n * shiny::uiOutput(), the following strange thing happens occasionally:\r\n *\r\n * 1. setValue() is bound to an el in this.render(), below\r\n * 2. An event that will call setValue() is enqueued\r\n * 3. While the event is still enqueued, el is unbound and removed\r\n * from the DOM by the JS code associated with shiny::uiOutput()\r\n * - That code uses jQuery .html() in output_binding_html.js\r\n * - .html() removes el from the DOM and clears ist data and events\r\n * 4. By the time the setValue() bound to the original el is invoked,\r\n * el has been unbound and its data cleared.\r\n *\r\n * Since the original input is gone along with its callback, it\r\n * seems to make the most sense to do nothing.\r\n */\r\n if ($(el).data('callback') !== undefined) {\r\n this.setInputValue(el, value);\r\n this.getCallback(el)(rateLimited);\r\n this.render(el);\r\n }\r\n }\r\n initialize(el) {\r\n $(el).data('value', JSON.parse($(el).next().text()));\r\n $(el).data('configuration', JSON.parse($(el).next().next().text()));\r\n }\r\n subscribe(el, callback) {\r\n $(el).data('callback', callback);\r\n this.render(el);\r\n }\r\n unsubscribe(el) {\r\n ReactDOM.render(null, el);\r\n }\r\n receiveMessage(el, data) {\r\n options.receiveMessage.call(this, el, data);\r\n }\r\n getType(el) {\r\n if (typeof options.type === 'function') {\r\n return options.type.call(this, el);\r\n } else if (options.type === false || typeof options.type === 'string') {\r\n return options.type;\r\n } else {\r\n throw new Error('options.type must be false, a string, or a function');\r\n }\r\n }\r\n getRatePolicy() {\r\n return options.ratePolicy;\r\n }\r\n\r\n /*\r\n * Methods not present in Shiny.InputBinding but accessible to users\r\n * through `this` in receiveMessage\r\n */\r\n\r\n getInputValue(el) {\r\n return $(el).data('value');\r\n }\r\n setInputValue(el, value) {\r\n $(el).data('value', value);\r\n }\r\n getInputConfiguration(el) {\r\n return $(el).data('configuration');\r\n }\r\n setInputConfiguration(el, configuration) {\r\n $(el).data('configuration', configuration);\r\n }\r\n getCallback(el) {\r\n return $(el).data('callback');\r\n }\r\n render(el) {\r\n const element = React.createElement(component, {\r\n configuration: this.getInputConfiguration(el),\r\n value: this.getValue(el),\r\n setValue: this.setValue.bind(this, el),\r\n el: el\r\n });\r\n ReactDOM.render(element, el);\r\n }\r\n }, name);\r\n}\r\n\r\n","import { reactWidget, hydrate } from './widget';\r\nimport { reactShinyInput } from './input';\r\n\r\nwindow.reactR = {\r\n reactShinyInput: reactShinyInput,\r\n reactWidget: reactWidget,\r\n hydrate: hydrate\r\n};\r\n","/**\r\n * Recursively transforms tag, a JSON representation of an instance of a\r\n * React component and its children, into a React element suitable for\r\n * passing to ReactDOM.render.\r\n * @param {Object} components\r\n * @param {Object} tag\r\n */\r\nexport function hydrate(components, tag) {\r\n if (typeof tag === 'string') return tag;\r\n if (tag.name[0] === tag.name[0].toUpperCase()\r\n && !components.hasOwnProperty(tag.name)) {\r\n throw new Error(\"Unknown component: \" + tag.name);\r\n }\r\n var elem = components.hasOwnProperty(tag.name) ? components[tag.name] : tag.name,\r\n args = [elem, tag.attribs];\r\n for (var i = 0; i < tag.children.length; i++) {\r\n args.push(hydrate(components, tag.children[i]));\r\n }\r\n return React.createElement.apply(React, args);\r\n}\r\n\r\nexport const defaultOptions = {\r\n // The name of the property on the root tag to use for the width, if\r\n // it's updated.\r\n widthProperty: \"width\",\r\n // The name of the property on the root tag to use for the height, if\r\n // it's updated.\r\n heightProperty: \"height\",\r\n // Whether or not to append the string 'px' to the width and height\r\n // properties when they change.\r\n appendPx: false,\r\n // Whether or not to dynamically update the width and height properties\r\n // of the last known tag when the computed width and height change in\r\n // the browser.\r\n renderOnResize: false\r\n};\r\n\r\nexport function mergeOptions(options) {\r\n var merged = {};\r\n for (var k in defaultOptions) {\r\n merged[k] = defaultOptions[k];\r\n }\r\n for (var k in options) {\r\n if (!defaultOptions.hasOwnProperty(k)) {\r\n throw new Error(\"Unrecognized option: \" + k);\r\n }\r\n merged[k] = options[k];\r\n }\r\n return merged;\r\n}\r\n\r\nexport function formatDimension(dim, options) {\r\n if (options.appendPx) {\r\n return dim + 'px';\r\n } else {\r\n return dim;\r\n }\r\n}\r\n\r\nexport function isTag(value) {\r\n return (typeof value === 'object')\r\n && value.hasOwnProperty('name')\r\n && value.hasOwnProperty('attribs')\r\n && value.hasOwnProperty('children');\r\n}\r\n\r\n/**\r\n * Creates an HTMLWidget that is updated by rendering a React component.\r\n * React component constructors are made available by specifying them by\r\n * name in the components object.\r\n * @param {string} name\r\n * @param {string} type\r\n * @param {Object} components\r\n * @param {Object} options\r\n */\r\nexport function reactWidget(name, type, components, options) {\r\n var actualOptions = mergeOptions(options);\r\n window.HTMLWidgets.widget({\r\n name: name,\r\n type: type,\r\n factory: function (el, width, height) {\r\n var lastValue,\r\n instance = {},\r\n renderValue = (function (value) {\r\n if (actualOptions.renderOnResize) {\r\n // value.tag might be a primitive string, in which\r\n // case there is no attribs property.\r\n if (typeof value.tag === 'object') {\r\n value.tag.attribs[actualOptions[\"widthProperty\"]] = formatDimension(width);\r\n value.tag.attribs[actualOptions[\"heightProperty\"]] = formatDimension(height);\r\n }\r\n lastValue = value;\r\n }\r\n // with functional stateless components this will be null\r\n // see https://reactjs.org/docs/react-dom.html#render for more details\r\n this.instance.component = ReactDOM.render(hydrate(components, value.tag), el);\r\n });\r\n return {\r\n instance: instance,\r\n renderValue: renderValue,\r\n resize: function (newWidth, newHeight) {\r\n if (actualOptions.renderOnResize) {\r\n width = newWidth;\r\n height = newHeight;\r\n renderValue(lastValue);\r\n }\r\n }\r\n };\r\n }\r\n })\r\n}\r\n\r\n","module.exports = window.jQuery;","module.exports = window.React;","module.exports = window.ReactDOM;","module.exports = window.Shiny;"],"sourceRoot":""} \ No newline at end of file diff --git a/articles/conditional-styling_files/reactwidget-2.0.0/react-tools.umd.cjs b/articles/conditional-styling_files/reactwidget-2.0.0/react-tools.umd.cjs new file mode 100644 index 00000000..159c7ab3 --- /dev/null +++ b/articles/conditional-styling_files/reactwidget-2.0.0/react-tools.umd.cjs @@ -0,0 +1 @@ +(function(s,u){typeof exports=="object"&&typeof module<"u"?u(exports):typeof define=="function"&&define.amd?define(["exports"],u):(s=typeof globalThis<"u"?globalThis:s||self,u(s.reactR={}))})(this,function(s){"use strict";function u(n,t){if(typeof t=="string")return t;if(t.name[0]===t.name[0].toUpperCase()&&!n.hasOwnProperty(t.name))throw new Error("Unknown component: "+t.name);for(let i in t.attribs)g(t.attribs[i])&&(t.attribs[i]=u(n,t.attribs[i]));for(var a=n.hasOwnProperty(t.name)?n[t.name]:t.name,r=[a,t.attribs],e=0;e - + - + - +

JavaScript style function @@ -1333,8 +1334,8 @@

JavaScript style function } }") )

-
- +
+
@@ -1424,64 +1425,64 @@

Highlight rows on hover
 reactable(iris[1:5, ], highlight = TRUE)
-
- +
+

Bordered

 reactable(iris[1:5, ], bordered = TRUE)
-
- +
+

Borderless

 reactable(iris[1:5, ], borderless = TRUE)
-
- +
+

Outlined

 reactable(iris[1:5, ], outlined = TRUE)
-
- +
+

Striped

 reactable(iris[1:5, ], striped = TRUE)
-
- +
+

Bordered + striped + highlighting

 reactable(iris[1:5, ], bordered = TRUE, striped = TRUE, highlight = TRUE)
-
- +
+

Outlined + borderless

 reactable(iris[1:5, ], outlined = TRUE, borderless = TRUE)
-
- +
+

Compact

 reactable(iris[1:5, ], compact = TRUE)
-
- +
+

No text wrapping @@ -1498,8 +1499,8 @@

No text wrapping bordered = TRUE, columns = list(Petal.Length = colDef(name = "Petal Length (cm)", minWidth = 50)) )

-
- +
+

Fixed height + sticky header/footer @@ -1521,8 +1522,8 @@

Fixed height + sticky header/footer } ) )

-
- +
+

Column widths @@ -1558,8 +1559,8 @@

Column widths), bordered = TRUE )

-
- +
+

No full width @@ -1575,8 +1576,8 @@

No full width= colDef(minWidth = 120) )

-
- +
+

You can also set a maximum or fixed width on the table:

@@ -1590,8 +1591,8 @@ 

No full width= 650 )

-
- +
+
@@ -1632,8 +1633,8 @@

Vertical alignment= colDef(vAlign = "center", headerVAlign = "bottom"), bordered = TRUE )

-
- +
+

Custom CSS @@ -1653,8 +1654,8 @@

Custom CSS), rowClass = "my-row" )

-
- @@ -112,7 +113,7 @@ - +
-
+
@@ -233,7 +234,7 @@

Basic Usage{"x":{"tag":{"name":"Reactable","attribs":{"data":{"Sepal.Length":[5.1,4.9,4.7,4.6,5,5.4,4.6,5,4.4,4.9,5.4,4.8,4.8,4.3,5.8,5.7,5.4,5.1,5.7,5.1,5.4,5.1,4.6,5.1,4.8,5,5,5.2,5.2,4.7,4.8,5.4,5.2,5.5,4.9,5,5.5,4.9,4.4,5.1,5,4.5,4.4,5,5.1,4.8,5.1,4.6,5.3,5,7,6.4,6.9,5.5,6.5,5.7,6.3,4.9,6.6,5.2,5,5.9,6,6.1,5.6,6.7,5.6,5.8,6.2,5.6,5.9,6.1,6.3,6.1,6.4,6.6,6.8,6.7,6,5.7,5.5,5.5,5.8,6,5.4,6,6.7,6.3,5.6,5.5,5.5,6.1,5.8,5,5.6,5.7,5.7,6.2,5.1,5.7,6.3,5.8,7.1,6.3,6.5,7.6,4.9,7.3,6.7,7.2,6.5,6.4,6.8,5.7,5.8,6.4,6.5,7.7,7.7,6,6.9,5.6,7.7,6.3,6.7,7.2,6.2,6.1,6.4,7.2,7.4,7.9,6.4,6.3,6.1,7.7,6.3,6.4,6,6.9,6.7,6.9,5.8,6.8,6.7,6.7,6.3,6.5,6.2,5.9],"Sepal.Width":[3.5,3,3.2,3.1,3.6,3.9,3.4,3.4,2.9,3.1,3.7,3.4,3,3,4,4.4,3.9,3.5,3.8,3.8,3.4,3.7,3.6,3.3,3.4,3,3.4,3.5,3.4,3.2,3.1,3.4,4.1,4.2,3.1,3.2,3.5,3.6,3,3.4,3.5,2.3,3.2,3.5,3.8,3,3.8,3.2,3.7,3.3,3.2,3.2,3.1,2.3,2.8,2.8,3.3,2.4,2.9,2.7,2,3,2.2,2.9,2.9,3.1,3,2.7,2.2,2.5,3.2,2.8,2.5,2.8,2.9,3,2.8,3,2.9,2.6,2.4,2.4,2.7,2.7,3,3.4,3.1,2.3,3,2.5,2.6,3,2.6,2.3,2.7,3,2.9,2.9,2.5,2.8,3.3,2.7,3,2.9,3,3,2.5,2.9,2.5,3.6,3.2,2.7,3,2.5,2.8,3.2,3,3.8,2.6,2.2,3.2,2.8,2.8,2.7,3.3,3.2,2.8,3,2.8,3,2.8,3.8,2.8,2.8,2.6,3,3.4,3.1,3,3.1,3.1,3.1,2.7,3.2,3.3,3,2.5,3,3.4,3],"Petal.Length":[1.4,1.4,1.3,1.5,1.4,1.7,1.4,1.5,1.4,1.5,1.5,1.6,1.4,1.1,1.2,1.5,1.3,1.4,1.7,1.5,1.7,1.5,1,1.7,1.9,1.6,1.6,1.5,1.4,1.6,1.6,1.5,1.5,1.4,1.5,1.2,1.3,1.4,1.3,1.5,1.3,1.3,1.3,1.6,1.9,1.4,1.6,1.4,1.5,1.4,4.7,4.5,4.9,4,4.6,4.5,4.7,3.3,4.6,3.9,3.5,4.2,4,4.7,3.6,4.4,4.5,4.1,4.5,3.9,4.8,4,4.9,4.7,4.3,4.4,4.8,5,4.5,3.5,3.8,3.7,3.9,5.1,4.5,4.5,4.7,4.4,4.1,4,4.4,4.6,4,3.3,4.2,4.2,4.2,4.3,3,4.1,6,5.1,5.9,5.6,5.8,6.6,4.5,6.3,5.8,6.1,5.1,5.3,5.5,5,5.1,5.3,5.5,6.7,6.9,5,5.7,4.9,6.7,4.9,5.7,6,4.8,4.9,5.6,5.8,6.1,6.4,5.6,5.1,5.6,6.1,5.6,5.5,4.8,5.4,5.6,5.1,5.1,5.9,5.7,5.2,5,5.2,5.4,5.1],"Petal.Width":[0.2,0.2,0.2,0.2,0.2,0.4,0.3,0.2,0.2,0.1,0.2,0.2,0.1,0.1,0.2,0.4,0.4,0.3,0.3,0.3,0.2,0.4,0.2,0.5,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.4,0.1,0.2,0.2,0.2,0.2,0.1,0.2,0.2,0.3,0.3,0.2,0.6,0.4,0.3,0.2,0.2,0.2,0.2,1.4,1.5,1.5,1.3,1.5,1.3,1.6,1,1.3,1.4,1,1.5,1,1.4,1.3,1.4,1.5,1,1.5,1.1,1.8,1.3,1.5,1.2,1.3,1.4,1.4,1.7,1.5,1,1.1,1,1.2,1.6,1.5,1.6,1.5,1.3,1.3,1.3,1.2,1.4,1.2,1,1.3,1.2,1.3,1.3,1.1,1.3,2.5,1.9,2.1,1.8,2.2,2.1,1.7,1.8,1.8,2.5,2,1.9,2.1,2,2.4,2.3,1.8,2.2,2.3,1.5,2.3,2,2,1.8,2.1,1.8,1.8,1.8,2.1,1.6,1.9,2,2.2,1.5,1.4,2.3,2.4,1.8,1.8,2.1,2.4,2.3,1.9,2.3,2.5,2.3,1.9,2,2.3,1.8],"Species":["setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","versicolor","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica","virginica"]},"columns":[{"id":"Sepal.Length","name":"Sepal.Length","type":"numeric"},{"id":"Sepal.Width","name":"Sepal.Width","type":"numeric"},{"id":"Petal.Length","name":"Petal.Length","type":"numeric"},{"id":"Petal.Width","name":"Petal.Width","type":"numeric"},{"id":"Species","name":"Species","type":"factor"}],"dataKey":"1980abf4c53c6ff35ad17d6d5d0650a0"},"children":[]},"class":"reactR_markup"},"evals":[],"jsHooks":[]}
+

Column definitions

Columns can be customized by providing a named list of column @@ -248,7 +249,7 @@

Column definitions= colDef(align = "center") ) )

-
+
Sepal Length
@@ -306,7 +307,7 @@

Column definitions

-

For convenience, you can also specify a default colDef() +

For convenience, you can also specify a default colDef() to use for all columns in defaultColDef:

 reactable(
@@ -324,7 +325,7 @@ 

Column definitions= TRUE, highlight = TRUE )

-
+
- +
@@ -411,7 +412,7 @@

Default sorted columnsdefaultSorted:

-
+
Sepal.Length
@@ -469,12 +470,12 @@

Default sorted columns

-

You can also provide a named list to customize the default sort +

You can also provide a named list to customize the default sort orders. Use "asc" for ascending order, or "desc" for descending order:

 reactable(iris[48:52, ], defaultSorted = list(Species = "asc", Petal.Length = "desc"))
-
+
Sepal.Length
@@ -532,7 +533,7 @@

Default sorted columns

- +

Default sort order @@ -555,7 +556,7 @@

Default sort order), defaultSorted = c("Species", "Petal.Length") )

-
+
Sepal.Length
@@ -613,7 +614,7 @@

Default sort order

- +

Sort missing values last @@ -630,7 +631,7 @@

Sort missing values last defaultColDef = colDef(sortNALast = TRUE), defaultSorted = "x" )

-
+

No sorting @@ -691,7 +692,7 @@

No sorting= colDef(sortable = TRUE) ) )

-
+
Sepal.Length
Sepal.Width
@@ -742,7 +743,7 @@

No sorting

- +

Hide sort icons @@ -752,7 +753,7 @@

Hide sort icons.

 reactable(iris[1:5, ], showSortIcon = FALSE)
-
@@ -811,7 +812,7 @@

Filteringdata <- MASS::Cars93[1:20, c("Manufacturer", "Model", "Type", "AirBags", "Price")] reactable(data, filterable = TRUE, minRows = 10)

-
+
@@ -924,7 +925,7 @@

Filtering{"x":{"tag":{"name":"Reactable","attribs":{"data":{"Manufacturer":["Acura","Acura","Audi","Audi","BMW","Buick","Buick","Buick","Buick","Cadillac","Cadillac","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chrylser"],"Model":["Integra","Legend","90","100","535i","Century","LeSabre","Roadmaster","Riviera","DeVille","Seville","Cavalier","Corsica","Camaro","Lumina","Lumina_APV","Astro","Caprice","Corvette","Concorde"],"Type":["Small","Midsize","Compact","Midsize","Midsize","Midsize","Large","Large","Midsize","Large","Midsize","Compact","Compact","Sporty","Midsize","Van","Van","Large","Sporty","Large"],"AirBags":["None","Driver & Passenger","Driver only","Driver & Passenger","Driver only","Driver only","Driver only","Driver only","Driver only","Driver only","Driver & Passenger","None","Driver only","Driver & Passenger","None","None","None","Driver only","Driver only","Driver & Passenger"],"Price":[15.9,33.9,29.1,37.7,30,15.7,20.8,23.7,26.3,34.7,40.1,13.4,11.4,15.1,15.9,16.3,16.6,18.8,38,18.4]},"columns":[{"id":"Manufacturer","name":"Manufacturer","type":"factor"},{"id":"Model","name":"Model","type":"factor"},{"id":"Type","name":"Type","type":"factor"},{"id":"AirBags","name":"AirBags","type":"factor"},{"id":"Price","name":"Price","type":"numeric"}],"filterable":true,"minRows":10,"dataKey":"55e896d6e49b979ddd4597432695f612"},"children":[]},"class":"reactR_markup"},"evals":[],"jsHooks":[]}

To make specific columns filterable (or not), set +

To make specific columns filterable (or not), set filterable to TRUE or FALSE in colDef():

@@ -936,7 +937,7 @@ 

Filtering), defaultPageSize = 5 )

-
+
@@ -1014,7 +1015,7 @@

Filtering{"x":{"tag":{"name":"Reactable","attribs":{"data":{"Manufacturer":["Acura","Acura","Audi","Audi","BMW","Buick","Buick","Buick","Buick","Cadillac","Cadillac","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chrylser"],"Model":["Integra","Legend","90","100","535i","Century","LeSabre","Roadmaster","Riviera","DeVille","Seville","Cavalier","Corsica","Camaro","Lumina","Lumina_APV","Astro","Caprice","Corvette","Concorde"],"Type":["Small","Midsize","Compact","Midsize","Midsize","Midsize","Large","Large","Midsize","Large","Midsize","Compact","Compact","Sporty","Midsize","Van","Van","Large","Sporty","Large"],"AirBags":["None","Driver & Passenger","Driver only","Driver & Passenger","Driver only","Driver only","Driver only","Driver only","Driver only","Driver only","Driver & Passenger","None","Driver only","Driver & Passenger","None","None","None","Driver only","Driver only","Driver & Passenger"],"Price":[15.9,33.9,29.1,37.7,30,15.7,20.8,23.7,26.3,34.7,40.1,13.4,11.4,15.1,15.9,16.3,16.6,18.8,38,18.4]},"columns":[{"id":"Manufacturer","name":"Manufacturer","type":"factor"},{"id":"Model","name":"Model","type":"factor"},{"id":"Type","name":"Type","type":"factor"},{"id":"AirBags","name":"AirBags","type":"factor"},{"id":"Price","name":"Price","type":"numeric","filterable":false}],"filterable":true,"defaultPageSize":5,"dataKey":"29704e01ca83ef47032806b9ddd3271b"},"children":[]},"class":"reactR_markup"},"evals":[],"jsHooks":[]}
+ -
+
- +
-
+
@@ -1227,7 +1228,7 @@

Searching{"x":{"tag":{"name":"Reactable","attribs":{"data":{"Manufacturer":["Acura","Acura","Audi","Audi","BMW","Buick","Buick","Buick","Buick","Cadillac","Cadillac","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chrylser"],"Model":["Integra","Legend","90","100","535i","Century","LeSabre","Roadmaster","Riviera","DeVille","Seville","Cavalier","Corsica","Camaro","Lumina","Lumina_APV","Astro","Caprice","Corvette","Concorde"],"Type":["Small","Midsize","Compact","Midsize","Midsize","Midsize","Large","Large","Midsize","Large","Midsize","Compact","Compact","Sporty","Midsize","Van","Van","Large","Sporty","Large"],"AirBags":["None","Driver & Passenger","Driver only","Driver & Passenger","Driver only","Driver only","Driver only","Driver only","Driver only","Driver only","Driver & Passenger","None","Driver only","Driver & Passenger","None","None","None","Driver only","Driver only","Driver & Passenger"],"Price":[15.9,33.9,29.1,37.7,30,15.7,20.8,23.7,26.3,34.7,40.1,13.4,11.4,15.1,15.9,16.3,16.6,18.8,38,18.4]},"columns":[{"id":"Manufacturer","name":"Manufacturer","type":"factor"},{"id":"Model","name":"Model","type":"factor"},{"id":"Type","name":"Type","type":"factor"},{"id":"AirBags","name":"AirBags","type":"factor"},{"id":"Price","name":"Price","type":"numeric"}],"searchable":true,"minRows":10,"dataKey":"55e896d6e49b979ddd4597432695f612"},"children":[]},"class":"reactR_markup"},"evals":[],"jsHooks":[]}
+

Custom searching

The table search method can be customized using the @@ -1243,7 +1244,7 @@

Pagination
 reactable(iris[1:6, ], defaultPageSize = 4)

-
+
@@ -1302,12 +1303,12 @@

Pagination{"x":{"tag":{"name":"Reactable","attribs":{"data":{"Sepal.Length":[5.1,4.9,4.7,4.6,5,5.4],"Sepal.Width":[3.5,3,3.2,3.1,3.6,3.9],"Petal.Length":[1.4,1.4,1.3,1.5,1.4,1.7],"Petal.Width":[0.2,0.2,0.2,0.2,0.2,0.4],"Species":["setosa","setosa","setosa","setosa","setosa","setosa"]},"columns":[{"id":"Sepal.Length","name":"Sepal.Length","type":"numeric"},{"id":"Sepal.Width","name":"Sepal.Width","type":"numeric"},{"id":"Petal.Length","name":"Petal.Length","type":"numeric"},{"id":"Petal.Width","name":"Petal.Width","type":"numeric"},{"id":"Species","name":"Species","type":"factor"}],"defaultPageSize":4,"dataKey":"6cc0494dfe181a040ad2dea9b85ee3d1"},"children":[]},"class":"reactR_markup"},"evals":[],"jsHooks":[]}

You can also set the minimum rows per page using +

You can also set the minimum rows per page using minRows. This may be useful when rows don’t completely fill the page, or if the table has filtering:

 reactable(iris[1:6, ], defaultPageSize = 4, minRows = 4, searchable = TRUE)
-
+
@@ -1366,7 +1367,7 @@

Pagination{"x":{"tag":{"name":"Reactable","attribs":{"data":{"Sepal.Length":[5.1,4.9,4.7,4.6,5,5.4],"Sepal.Width":[3.5,3,3.2,3.1,3.6,3.9],"Petal.Length":[1.4,1.4,1.3,1.5,1.4,1.7],"Petal.Width":[0.2,0.2,0.2,0.2,0.2,0.4],"Species":["setosa","setosa","setosa","setosa","setosa","setosa"]},"columns":[{"id":"Sepal.Length","name":"Sepal.Length","type":"numeric"},{"id":"Sepal.Width","name":"Sepal.Width","type":"numeric"},{"id":"Petal.Length","name":"Petal.Length","type":"numeric"},{"id":"Petal.Width","name":"Petal.Width","type":"numeric"},{"id":"Species","name":"Species","type":"factor"}],"searchable":true,"defaultPageSize":4,"minRows":4,"dataKey":"6cc0494dfe181a040ad2dea9b85ee3d1"},"children":[]},"class":"reactR_markup"},"evals":[],"jsHooks":[]}
+

Page size options

You can show a dropdown of page sizes for users to choose from using @@ -1379,7 +1380,7 @@

Page size options= c(4, 8, 12), defaultPageSize = 4 )

-
+
@@ -1444,7 +1445,7 @@

Page size options{"x":{"tag":{"name":"Reactable","attribs":{"data":{"Sepal.Length":[5.1,4.9,4.7,4.6,5,5.4,4.6,5,4.4,4.9,5.4,4.8],"Sepal.Width":[3.5,3,3.2,3.1,3.6,3.9,3.4,3.4,2.9,3.1,3.7,3.4],"Petal.Length":[1.4,1.4,1.3,1.5,1.4,1.7,1.4,1.5,1.4,1.5,1.5,1.6],"Petal.Width":[0.2,0.2,0.2,0.2,0.2,0.4,0.3,0.2,0.2,0.1,0.2,0.2],"Species":["setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa"]},"columns":[{"id":"Sepal.Length","name":"Sepal.Length","type":"numeric"},{"id":"Sepal.Width","name":"Sepal.Width","type":"numeric"},{"id":"Petal.Length","name":"Petal.Length","type":"numeric"},{"id":"Petal.Width","name":"Petal.Width","type":"numeric"},{"id":"Species","name":"Species","type":"factor"}],"defaultPageSize":4,"showPageSizeOptions":true,"pageSizeOptions":[4,8,12],"dataKey":"ae507670e67457b33ac291e81efbb547"},"children":[]},"class":"reactR_markup"},"evals":[],"jsHooks":[]} +

Alternative pagination types @@ -1462,7 +1463,7 @@

Page jump
 reactable(iris[1:50, ], paginationType = "jump", defaultPageSize = 4)

-
+
@@ -1523,14 +1524,14 @@

Page jump{"x":{"tag":{"name":"Reactable","attribs":{"data":{"Sepal.Length":[5.1,4.9,4.7,4.6,5,5.4,4.6,5,4.4,4.9,5.4,4.8,4.8,4.3,5.8,5.7,5.4,5.1,5.7,5.1,5.4,5.1,4.6,5.1,4.8,5,5,5.2,5.2,4.7,4.8,5.4,5.2,5.5,4.9,5,5.5,4.9,4.4,5.1,5,4.5,4.4,5,5.1,4.8,5.1,4.6,5.3,5],"Sepal.Width":[3.5,3,3.2,3.1,3.6,3.9,3.4,3.4,2.9,3.1,3.7,3.4,3,3,4,4.4,3.9,3.5,3.8,3.8,3.4,3.7,3.6,3.3,3.4,3,3.4,3.5,3.4,3.2,3.1,3.4,4.1,4.2,3.1,3.2,3.5,3.6,3,3.4,3.5,2.3,3.2,3.5,3.8,3,3.8,3.2,3.7,3.3],"Petal.Length":[1.4,1.4,1.3,1.5,1.4,1.7,1.4,1.5,1.4,1.5,1.5,1.6,1.4,1.1,1.2,1.5,1.3,1.4,1.7,1.5,1.7,1.5,1,1.7,1.9,1.6,1.6,1.5,1.4,1.6,1.6,1.5,1.5,1.4,1.5,1.2,1.3,1.4,1.3,1.5,1.3,1.3,1.3,1.6,1.9,1.4,1.6,1.4,1.5,1.4],"Petal.Width":[0.2,0.2,0.2,0.2,0.2,0.4,0.3,0.2,0.2,0.1,0.2,0.2,0.1,0.1,0.2,0.4,0.4,0.3,0.3,0.3,0.2,0.4,0.2,0.5,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.4,0.1,0.2,0.2,0.2,0.2,0.1,0.2,0.2,0.3,0.3,0.2,0.6,0.4,0.3,0.2,0.2,0.2,0.2],"Species":["setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa"]},"columns":[{"id":"Sepal.Length","name":"Sepal.Length","type":"numeric"},{"id":"Sepal.Width","name":"Sepal.Width","type":"numeric"},{"id":"Petal.Length","name":"Petal.Length","type":"numeric"},{"id":"Petal.Width","name":"Petal.Width","type":"numeric"},{"id":"Species","name":"Species","type":"factor"}],"defaultPageSize":4,"paginationType":"jump","dataKey":"929c7600811ed924f2a53c1c8d9688c3"},"children":[]},"class":"reactR_markup"},"evals":[],"jsHooks":[]} +

Simple

 reactable(iris[1:50, ], paginationType = "simple", defaultPageSize = 4)
-
+
@@ -1590,7 +1591,7 @@

Simple

- +
@@ -1600,7 +1601,7 @@

Hide page infoFALSE:

 reactable(iris[1:12, ], showPageInfo = FALSE, defaultPageSize = 4)
-
+
@@ -1659,9 +1660,9 @@

Hide page info

-
+
 reactable(iris[1:12, ], showPageInfo = FALSE, showPageSizeOptions = TRUE, defaultPageSize = 4)
-
+
@@ -1724,7 +1725,7 @@

Hide page info

- +

Always show pagination @@ -1735,7 +1736,7 @@

Always show pagination
 reactable(iris[1:5, ], showPagination = TRUE)
-
+

No pagination @@ -1810,7 +1811,7 @@

No pagination
 reactable(iris[1:20, ], pagination = FALSE, highlight = TRUE, height = 250)

-
+
Sepal.Length
@@ -1973,7 +1974,7 @@

No pagination

-

-
+
Manufacturer
@@ -2047,7 +2048,7 @@

Grouping and Aggregation

-

When rows are grouped, you can aggregate data in a column using an +

When rows are grouped, you can aggregate data in a column using an aggregate function:

 data <- MASS::Cars93[14:38, c("Type", "Price", "MPG.city", "DriveTrain", "Man.trans.avail")]
@@ -2062,7 +2063,7 @@ 

Grouping and Aggregation Man.trans.avail = colDef(aggregate = "frequency") ) )

-
+
Type
@@ -2135,7 +2136,7 @@

Grouping and Aggregation

-

You can use one of the built-in aggregate functions:

+

You can use one of the built-in aggregate functions:

 colDef(aggregate = "sum")        # Sum of numbers
 colDef(aggregate = "mean")       # Mean of numbers
@@ -2180,7 +2181,7 @@ 

Multiple groups ), bordered = TRUE )

-
+
- +

Custom aggregate function @@ -2242,21 +2243,21 @@

Custom aggregate functionWithin a custom aggregate function, you can access the values in the column using the values argument, and the values in other columns using the rows argument:

-
columns = list(
-  Price = colDef(
-    aggregate = JS("function(values, rows) {
-      values
-      // [46.8, 27.6, 57]
-
-      rows
-      // [
-      //   { "Model": "Dynasty", "Manufacturer": "Dodge", "Price": 46.8, "Units": 2 },
-      //   { "Model": "Colt", "Manufacturer": "Dodge", "Price": 27.6, "Units": 5 },
-      //   { "Model": "Caravan", "Manufacturer": "Dodge", "Price": 57, "Units": 5 }
-      // ]
-    }")
-  )
-)
+
columns = list(
+  Price = colDef(
+    aggregate = JS("function(values, rows) {
+      values
+      // [46.8, 27.6, 57]
+
+      rows
+      // [
+      //   { "Model": "Dynasty", "Manufacturer": "Dodge", "Price": 46.8, "Units": 2 },
+      //   { "Model": "Colt", "Manufacturer": "Dodge", "Price": 27.6, "Units": 5 },
+      //   { "Model": "Caravan", "Manufacturer": "Dodge", "Price": 57, "Units": 5 }
+      // ]
+    }")
+  )
+)

Here’s an example that calculates an aggregate average price by dividing the the sum of two columns, Price and Units:

@@ -2291,7 +2292,7 @@

Custom aggregate function ) ) )

-
+
- +
-
+
@@ -2442,7 +2443,7 @@

Include sub rows in pagination{"x":{"tag":{"name":"Reactable","attribs":{"data":{"Manufacturer":["Acura","Acura","Audi","Audi","BMW","Buick","Buick","Buick","Buick","Cadillac","Cadillac","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chevrolet","Chrylser","Chrysler","Chrysler","Dodge","Dodge","Dodge","Dodge","Dodge","Dodge","Eagle","Eagle","Ford","Ford","Ford","Ford","Ford","Ford","Ford","Ford","Geo","Geo","Honda","Honda","Honda","Hyundai","Hyundai","Hyundai","Hyundai","Infiniti","Lexus","Lexus","Lincoln","Lincoln","Mazda","Mazda","Mazda","Mazda","Mazda","Mercedes-Benz","Mercedes-Benz","Mercury","Mercury","Mitsubishi","Mitsubishi","Nissan","Nissan","Nissan","Nissan","Oldsmobile","Oldsmobile","Oldsmobile","Oldsmobile","Plymouth","Pontiac","Pontiac","Pontiac","Pontiac","Pontiac","Saab","Saturn","Subaru","Subaru","Subaru","Suzuki","Toyota","Toyota","Toyota","Toyota","Volkswagen","Volkswagen","Volkswagen","Volkswagen","Volvo","Volvo"],"Model":["Integra","Legend","90","100","535i","Century","LeSabre","Roadmaster","Riviera","DeVille","Seville","Cavalier","Corsica","Camaro","Lumina","Lumina_APV","Astro","Caprice","Corvette","Concorde","LeBaron","Imperial","Colt","Shadow","Spirit","Caravan","Dynasty","Stealth","Summit","Vision","Festiva","Escort","Tempo","Mustang","Probe","Aerostar","Taurus","Crown_Victoria","Metro","Storm","Prelude","Civic","Accord","Excel","Elantra","Scoupe","Sonata","Q45","ES300","SC300","Continental","Town_Car","323","Protege","626","MPV","RX-7","190E","300E","Capri","Cougar","Mirage","Diamante","Sentra","Altima","Quest","Maxima","Achieva","Cutlass_Ciera","Silhouette","Eighty-Eight","Laser","LeMans","Sunbird","Firebird","Grand_Prix","Bonneville","900","SL","Justy","Loyale","Legacy","Swift","Tercel","Celica","Camry","Previa","Fox","Eurovan","Passat","Corrado","240","850"],"Type":["Small","Midsize","Compact","Midsize","Midsize","Midsize","Large","Large","Midsize","Large","Midsize","Compact","Compact","Sporty","Midsize","Van","Van","Large","Sporty","Large","Compact","Large","Small","Small","Compact","Van","Midsize","Sporty","Small","Large","Small","Small","Compact","Sporty","Sporty","Van","Midsize","Large","Small","Sporty","Sporty","Small","Compact","Small","Small","Sporty","Midsize","Midsize","Midsize","Midsize","Midsize","Large","Small","Small","Compact","Van","Sporty","Compact","Midsize","Sporty","Midsize","Small","Midsize","Small","Compact","Van","Midsize","Compact","Midsize","Van","Large","Sporty","Small","Compact","Sporty","Midsize","Large","Compact","Small","Small","Small","Compact","Small","Small","Sporty","Midsize","Van","Small","Van","Compact","Sporty","Compact","Midsize"],"Price":[15.9,33.9,29.1,37.7,30,15.7,20.8,23.7,26.3,34.7,40.1,13.4,11.4,15.1,15.9,16.3,16.6,18.8,38,18.4,15.8,29.5,9.2,11.3,13.3,19,15.6,25.8,12.2,19.3,7.4,10.1,11.3,15.9,14,19.9,20.2,20.9,8.4,12.5,19.8,12.1,17.5,8,10,10,13.9,47.9,28,35.2,34.3,36.1,8.3,11.6,16.5,19.1,32.5,31.9,61.9,14.1,14.9,10.3,26.1,11.8,15.7,19.1,21.5,13.5,16.3,19.5,20.7,14.4,9,11.1,17.7,18.5,24.4,28.7,11.1,8.4,10.9,19.5,8.6,9.8,18.4,18.2,22.7,9.1,19.7,20,23.3,22.7,26.7],"MPG.city":[25,18,20,19,22,22,19,16,19,16,16,25,25,19,21,18,15,17,17,20,23,20,29,23,22,17,21,18,29,20,31,23,22,22,24,15,21,18,46,30,24,42,24,29,22,26,20,17,18,18,17,18,29,28,26,18,17,20,19,23,19,29,18,29,24,17,21,24,23,18,19,23,31,23,19,19,19,20,28,33,25,23,39,32,25,22,18,25,17,21,18,21,20]},"columns":[{"id":"Manufacturer","name":"Manufacturer","type":"factor"},{"id":"Model","name":"Model","type":"factor"},{"id":"Type","name":"Type","type":"factor"},{"id":"Price","name":"Price","type":"numeric"},{"id":"MPG.city","name":"MPG.city","type":"numeric"}],"groupBy":["Type"],"paginateSubRows":true,"dataKey":"590541692d49a1342f42e9e1c910a390"},"children":[]},"class":"reactR_markup"},"evals":[],"jsHooks":[]} +

@@ -2482,7 +2483,7 @@

Column Formatting= colDef(format = colFormat(percent = TRUE, digits = 1)), date = colDef(format = colFormat(date = TRUE, locales = "en-GB")) ))

-
+
price_USD
@@ -2532,7 +2533,7 @@

Column Formatting

-
+

Date formatting

@@ -2553,7 +2554,7 @@ 

Date formatting time_24h = colDef(format = colFormat(time = TRUE, hour12 = FALSE)), datetime_pt_BR = colDef(format = colFormat(datetime = TRUE, locales = "pt-BR")) ))

-
+
datetime
@@ -2601,7 +2602,7 @@

Date formatting

- +

Currency formatting @@ -2632,7 +2633,7 @@

Currency formatting= colFormat(currency = "MAD", separators = TRUE, locales = "ar-MA") ) ))

-
+
USD
@@ -2689,7 +2690,7 @@

Currency formatting

- +

Formatting aggregated cells @@ -2729,7 +2730,7 @@

Formatting aggregated cells) ) )

-
+
- +
-
+

Custom data formatting @@ -2884,7 +2885,7 @@

R render functionpaste0("$", format(value * 1000, big.mark = ",")) }) ))

-
+
Manufacturer
@@ -2945,7 +2946,7 @@

R render function

- +

JavaScript render function @@ -2974,7 +2975,7 @@

JavaScript render function } ")) ))

-
+
- +
-
+
feed
@@ -3119,7 +3120,7 @@

Embedding HTML widgets

- +
-
+
- +
-
+
- +
-
+
Sepal.Length
cm
@@ -3381,7 +3382,7 @@

Header rendering

- +
-
+
@@ -3618,7 +3619,7 @@

R render function

- +

JavaScript render function @@ -3646,7 +3647,7 @@

JavaScript render function ), defaultColDef = colDef(footerStyle = list(fontWeight = "bold")) )

-
+
@@ -3712,7 +3713,7 @@

JavaScript render function

- +

Embedding HTML widgets @@ -3729,7 +3730,7 @@

Embedding HTML widgets sparkline(values, type = "box", width = 100, height = 30) }) )

-
+
@@ -3802,7 +3803,7 @@

Embedding HTML widgets

- +
-
+
@@ -3891,7 +3892,7 @@

Expandable Row Details

-

The details column can be customized by providing a +

The details column can be customized by providing a colDef() instead. This can be used to add a column name, render HTML content, or change the column width:

@@ -3904,7 +3905,7 @@ 

Expandable Row Details html = TRUE, width = 60 ))

-
+
-
+ -
+
@@ -4076,7 +4077,7 @@

Nested tables{"x":{"tag":{"name":"Reactable","attribs":{"data":{"Plant":["Qn1","Qn2","Qn3","Qc1","Qc2","Qc3","Mn1","Mn2","Mn3","Mc1","Mc2","Mc3"],"Type":["Quebec","Quebec","Quebec","Quebec","Quebec","Quebec","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi"]},"columns":[{"id":".details","name":"","type":null,"sortable":false,"resizable":false,"filterable":false,"searchable":false,"width":45,"align":"center","details":[{"name":"div","attribs":{"style":{"padding":"1rem"}},"children":[{"name":"Reactable","attribs":{"data":{"Plant":["Qn1","Qn1","Qn1","Qn1","Qn1","Qn1","Qn1"],"Type":["Quebec","Quebec","Quebec","Quebec","Quebec","Quebec","Quebec"],"Treatment":["nonchilled","nonchilled","nonchilled","nonchilled","nonchilled","nonchilled","nonchilled"],"conc":[95,175,250,350,500,675,1000],"uptake":[16,30.4,34.8,37.2,35.3,39.2,39.7]},"columns":[{"id":"Plant","name":"Plant","type":["ordered","factor"]},{"id":"Type","name":"Type","type":"factor"},{"id":"Treatment","name":"Treatment","type":"factor"},{"id":"conc","name":"conc","type":"numeric"},{"id":"uptake","name":"uptake","type":"numeric"}],"outlined":true,"dataKey":"7d58681658b0cee81d199703de5ee6be","static":true,"nested":true},"children":[]}]},{"name":"div","attribs":{"style":{"padding":"1rem"}},"children":[{"name":"Reactable","attribs":{"data":{"Plant":["Qn2","Qn2","Qn2","Qn2","Qn2","Qn2","Qn2"],"Type":["Quebec","Quebec","Quebec","Quebec","Quebec","Quebec","Quebec"],"Treatment":["nonchilled","nonchilled","nonchilled","nonchilled","nonchilled","nonchilled","nonchilled"],"conc":[95,175,250,350,500,675,1000],"uptake":[13.6,27.3,37.1,41.8,40.6,41.4,44.3]},"columns":[{"id":"Plant","name":"Plant","type":["ordered","factor"]},{"id":"Type","name":"Type","type":"factor"},{"id":"Treatment","name":"Treatment","type":"factor"},{"id":"conc","name":"conc","type":"numeric"},{"id":"uptake","name":"uptake","type":"numeric"}],"outlined":true,"dataKey":"274afcc59c70eb04519503de5ff85757","static":true,"nested":true},"children":[]}]},{"name":"div","attribs":{"style":{"padding":"1rem"}},"children":[{"name":"Reactable","attribs":{"data":{"Plant":["Qn3","Qn3","Qn3","Qn3","Qn3","Qn3","Qn3"],"Type":["Quebec","Quebec","Quebec","Quebec","Quebec","Quebec","Quebec"],"Treatment":["nonchilled","nonchilled","nonchilled","nonchilled","nonchilled","nonchilled","nonchilled"],"conc":[95,175,250,350,500,675,1000],"uptake":[16.2,32.4,40.3,42.1,42.9,43.9,45.5]},"columns":[{"id":"Plant","name":"Plant","type":["ordered","factor"]},{"id":"Type","name":"Type","type":"factor"},{"id":"Treatment","name":"Treatment","type":"factor"},{"id":"conc","name":"conc","type":"numeric"},{"id":"uptake","name":"uptake","type":"numeric"}],"outlined":true,"dataKey":"390fc7e55698ada351373e8b9cbb2de8","static":true,"nested":true},"children":[]}]},{"name":"div","attribs":{"style":{"padding":"1rem"}},"children":[{"name":"Reactable","attribs":{"data":{"Plant":["Qc1","Qc1","Qc1","Qc1","Qc1","Qc1","Qc1"],"Type":["Quebec","Quebec","Quebec","Quebec","Quebec","Quebec","Quebec"],"Treatment":["chilled","chilled","chilled","chilled","chilled","chilled","chilled"],"conc":[95,175,250,350,500,675,1000],"uptake":[14.2,24.1,30.3,34.6,32.5,35.4,38.7]},"columns":[{"id":"Plant","name":"Plant","type":["ordered","factor"]},{"id":"Type","name":"Type","type":"factor"},{"id":"Treatment","name":"Treatment","type":"factor"},{"id":"conc","name":"conc","type":"numeric"},{"id":"uptake","name":"uptake","type":"numeric"}],"outlined":true,"dataKey":"9b6c4de09e413dbbec621becdb23a930","static":true,"nested":true},"children":[]}]},{"name":"div","attribs":{"style":{"padding":"1rem"}},"children":[{"name":"Reactable","attribs":{"data":{"Plant":["Qc2","Qc2","Qc2","Qc2","Qc2","Qc2","Qc2"],"Type":["Quebec","Quebec","Quebec","Quebec","Quebec","Quebec","Quebec"],"Treatment":["chilled","chilled","chilled","chilled","chilled","chilled","chilled"],"conc":[95,175,250,350,500,675,1000],"uptake":[9.3,27.3,35,38.8,38.6,37.5,42.4]},"columns":[{"id":"Plant","name":"Plant","type":["ordered","factor"]},{"id":"Type","name":"Type","type":"factor"},{"id":"Treatment","name":"Treatment","type":"factor"},{"id":"conc","name":"conc","type":"numeric"},{"id":"uptake","name":"uptake","type":"numeric"}],"outlined":true,"dataKey":"123c74d366131d0e4c5d2b850f3ea266","static":true,"nested":true},"children":[]}]},{"name":"div","attribs":{"style":{"padding":"1rem"}},"children":[{"name":"Reactable","attribs":{"data":{"Plant":["Qc3","Qc3","Qc3","Qc3","Qc3","Qc3","Qc3"],"Type":["Quebec","Quebec","Quebec","Quebec","Quebec","Quebec","Quebec"],"Treatment":["chilled","chilled","chilled","chilled","chilled","chilled","chilled"],"conc":[95,175,250,350,500,675,1000],"uptake":[15.1,21,38.1,34,38.9,39.6,41.4]},"columns":[{"id":"Plant","name":"Plant","type":["ordered","factor"]},{"id":"Type","name":"Type","type":"factor"},{"id":"Treatment","name":"Treatment","type":"factor"},{"id":"conc","name":"conc","type":"numeric"},{"id":"uptake","name":"uptake","type":"numeric"}],"outlined":true,"dataKey":"fa4ca9ae21a38deda46b7a89643780ac","static":true,"nested":true},"children":[]}]},{"name":"div","attribs":{"style":{"padding":"1rem"}},"children":[{"name":"Reactable","attribs":{"data":{"Plant":["Mn1","Mn1","Mn1","Mn1","Mn1","Mn1","Mn1"],"Type":["Mississippi","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi"],"Treatment":["nonchilled","nonchilled","nonchilled","nonchilled","nonchilled","nonchilled","nonchilled"],"conc":[95,175,250,350,500,675,1000],"uptake":[10.6,19.2,26.2,30,30.9,32.4,35.5]},"columns":[{"id":"Plant","name":"Plant","type":["ordered","factor"]},{"id":"Type","name":"Type","type":"factor"},{"id":"Treatment","name":"Treatment","type":"factor"},{"id":"conc","name":"conc","type":"numeric"},{"id":"uptake","name":"uptake","type":"numeric"}],"outlined":true,"dataKey":"132a1311316c6125e77342626211f391","static":true,"nested":true},"children":[]}]},{"name":"div","attribs":{"style":{"padding":"1rem"}},"children":[{"name":"Reactable","attribs":{"data":{"Plant":["Mn2","Mn2","Mn2","Mn2","Mn2","Mn2","Mn2"],"Type":["Mississippi","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi"],"Treatment":["nonchilled","nonchilled","nonchilled","nonchilled","nonchilled","nonchilled","nonchilled"],"conc":[95,175,250,350,500,675,1000],"uptake":[12,22,30.6,31.8,32.4,31.1,31.5]},"columns":[{"id":"Plant","name":"Plant","type":["ordered","factor"]},{"id":"Type","name":"Type","type":"factor"},{"id":"Treatment","name":"Treatment","type":"factor"},{"id":"conc","name":"conc","type":"numeric"},{"id":"uptake","name":"uptake","type":"numeric"}],"outlined":true,"dataKey":"e03e7be820aaa420ae9d519ea5509106","static":true,"nested":true},"children":[]}]},{"name":"div","attribs":{"style":{"padding":"1rem"}},"children":[{"name":"Reactable","attribs":{"data":{"Plant":["Mn3","Mn3","Mn3","Mn3","Mn3","Mn3","Mn3"],"Type":["Mississippi","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi"],"Treatment":["nonchilled","nonchilled","nonchilled","nonchilled","nonchilled","nonchilled","nonchilled"],"conc":[95,175,250,350,500,675,1000],"uptake":[11.3,19.4,25.8,27.9,28.5,28.1,27.8]},"columns":[{"id":"Plant","name":"Plant","type":["ordered","factor"]},{"id":"Type","name":"Type","type":"factor"},{"id":"Treatment","name":"Treatment","type":"factor"},{"id":"conc","name":"conc","type":"numeric"},{"id":"uptake","name":"uptake","type":"numeric"}],"outlined":true,"dataKey":"32403b7312a2450922e0fbb06ee9350a","static":true,"nested":true},"children":[]}]},{"name":"div","attribs":{"style":{"padding":"1rem"}},"children":[{"name":"Reactable","attribs":{"data":{"Plant":["Mc1","Mc1","Mc1","Mc1","Mc1","Mc1","Mc1"],"Type":["Mississippi","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi"],"Treatment":["chilled","chilled","chilled","chilled","chilled","chilled","chilled"],"conc":[95,175,250,350,500,675,1000],"uptake":[10.5,14.9,18.1,18.9,19.5,22.2,21.9]},"columns":[{"id":"Plant","name":"Plant","type":["ordered","factor"]},{"id":"Type","name":"Type","type":"factor"},{"id":"Treatment","name":"Treatment","type":"factor"},{"id":"conc","name":"conc","type":"numeric"},{"id":"uptake","name":"uptake","type":"numeric"}],"outlined":true,"dataKey":"3df82715dfe4adc0c545b0f8b9c09db1","static":true,"nested":true},"children":[]}]},{"name":"div","attribs":{"style":{"padding":"1rem"}},"children":[{"name":"Reactable","attribs":{"data":{"Plant":["Mc2","Mc2","Mc2","Mc2","Mc2","Mc2","Mc2"],"Type":["Mississippi","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi"],"Treatment":["chilled","chilled","chilled","chilled","chilled","chilled","chilled"],"conc":[95,175,250,350,500,675,1000],"uptake":[7.7,11.4,12.3,13,12.5,13.7,14.4]},"columns":[{"id":"Plant","name":"Plant","type":["ordered","factor"]},{"id":"Type","name":"Type","type":"factor"},{"id":"Treatment","name":"Treatment","type":"factor"},{"id":"conc","name":"conc","type":"numeric"},{"id":"uptake","name":"uptake","type":"numeric"}],"outlined":true,"dataKey":"968b66e5b63992153dcc7410c031ddeb","static":true,"nested":true},"children":[]}]},{"name":"div","attribs":{"style":{"padding":"1rem"}},"children":[{"name":"Reactable","attribs":{"data":{"Plant":["Mc3","Mc3","Mc3","Mc3","Mc3","Mc3","Mc3"],"Type":["Mississippi","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi","Mississippi"],"Treatment":["chilled","chilled","chilled","chilled","chilled","chilled","chilled"],"conc":[95,175,250,350,500,675,1000],"uptake":[10.6,18,17.9,17.9,17.9,18.9,19.9]},"columns":[{"id":"Plant","name":"Plant","type":["ordered","factor"]},{"id":"Type","name":"Type","type":"factor"},{"id":"Treatment","name":"Treatment","type":"factor"},{"id":"conc","name":"conc","type":"numeric"},{"id":"uptake","name":"uptake","type":"numeric"}],"outlined":true,"dataKey":"96060a447c910d383e7b8582799a4e69","static":true,"nested":true},"children":[]}]}]},{"id":"Plant","name":"Plant","type":["ordered","factor"]},{"id":"Type","name":"Type","type":"factor"}],"dataKey":"8190af9c82d97e99fbacfc693b58af0d"},"children":[]},"class":"reactR_markup"},"evals":[],"jsHooks":[]} +

Conditional row details @@ -4089,7 +4090,7 @@

Conditional row details reactable(data.frame(x = c(1, 2, 3), y = c("a", "b", "c")), fullWidth = FALSE) } })

-
+
@@ -4155,7 +4156,7 @@

Conditional row details

- +

Multiple row details @@ -4183,7 +4184,7 @@

Multiple row details ")) ) )

-
+
- +
-
+
@@ -4341,7 +4342,7 @@

Default expanded rows

- +
-
+
-
+
-
.bold {
-  font-weight: bold;
-}
+
.bold {
+  font-weight: bold;
+}
-
+

JavaScript style function @@ -4594,7 +4595,7 @@

JavaScript style function } }") )

-
+
@@ -4798,7 +4799,7 @@

Highlight rows on hover
 reactable(iris[1:5, ], highlight = TRUE)
-
+

Bordered

 reactable(iris[1:5, ], bordered = TRUE)
-
+

Borderless

 reactable(iris[1:5, ], borderless = TRUE)
-
+

Outlined

 reactable(iris[1:5, ], outlined = TRUE)
-
+

Striped

 reactable(iris[1:5, ], striped = TRUE)
-
+

Bordered + striped + highlighting

 reactable(iris[1:5, ], bordered = TRUE, striped = TRUE, highlight = TRUE)
-
+

Outlined + borderless

 reactable(iris[1:5, ], outlined = TRUE, borderless = TRUE)
-
+

Compact

 reactable(iris[1:5, ], compact = TRUE)
-
+

No text wrapping @@ -5328,7 +5329,7 @@

No text wrapping bordered = TRUE, columns = list(Petal.Length = colDef(name = "Petal Length (cm)", minWidth = 50)) )

-
+
@@ -5391,7 +5392,7 @@

No text wrapping

- +

Fixed height + sticky header/footer @@ -5413,7 +5414,7 @@

Fixed height + sticky header/footer } ) )

-
+
- +
-
+
-
+
Manufacturer
@@ -5681,7 +5682,7 @@

No full width

- +

You can also set a maximum or fixed width on the table:

-
+
- +
@@ -5796,7 +5797,7 @@

Vertical alignment= colDef(vAlign = "center", headerVAlign = "bottom"), bordered = TRUE )

-
+
- +
-
+
@@ -5974,7 +5975,7 @@

Custom CSS{"x":{"tag":{"name":"Reactable","attribs":{"data":{"Sepal.Length":[5.1,4.9,4.7,4.6,5,5.4,4.6,5,4.4,4.9,5.4,4.8,4.8,4.3,5.8,5.7,5.4,5.1],"Sepal.Width":[3.5,3,3.2,3.1,3.6,3.9,3.4,3.4,2.9,3.1,3.7,3.4,3,3,4,4.4,3.9,3.5],"Petal.Length":[1.4,1.4,1.3,1.5,1.4,1.7,1.4,1.5,1.4,1.5,1.5,1.6,1.4,1.1,1.2,1.5,1.3,1.4],"Petal.Width":[0.2,0.2,0.2,0.2,0.2,0.4,0.3,0.2,0.2,0.1,0.2,0.2,0.1,0.1,0.2,0.4,0.4,0.3],"Species":["setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa","setosa"]},"columns":[{"id":"Sepal.Length","name":"Sepal.Length","type":"numeric","headerClassName":"my-header"},{"id":"Sepal.Width","name":"Sepal.Width","type":"numeric","headerClassName":"my-header","className":"my-col"},{"id":"Petal.Length","name":"Petal.Length","type":"numeric","headerClassName":"my-header"},{"id":"Petal.Width","name":"Petal.Width","type":"numeric","headerClassName":"my-header","className":"my-col"},{"id":"Species","name":"Species","type":"factor","headerClassName":"my-header"}],"defaultPageSize":6,"borderless":true,"className":"my-tbl","rowClassName":"my-row","dataKey":"f057f013682b93d14407c59d59ea399e"},"children":[]},"class":"reactR_markup"},"evals":[],"jsHooks":[]}
@@ -230,7 +231,7 @@

Jun 5, 2019

-
+
Q1
@@ -263,10 +264,10 @@

- +
Toronto Raptors
-
+
Player
Min
@@ -571,8 +572,8 @@

-
Golden State Warriors
-
+
Golden State Warriors
+
Player
Min
@@ -877,7 +878,7 @@

- +

Source: NBA.com

@@ -1040,107 +1041,107 @@

)

 htmltools::tags$link(href = "https://fonts.googleapis.com/css?family=Roboto:400,500&display=fallback", rel = "stylesheet")
-
.box-score {
-  font-family: 'Roboto', Helvetica, Arial, sans-serif;
-}
-
-.box-score a {
-  color: #337ab7;
-  text-decoration: none;
-}
-
-.box-score a:hover,
-.box-score a:focus {
-  text-decoration: underline;
-  text-decoration-thickness: max(1px, 0.0625rem);
-}
-
-.header {
-  text-align: center;
-  font-size: 1.25rem;
-}
-
-.game-date {
-  font-size: 1rem;
-}
-
-.line-score {
-  margin-top: 1.5rem;
-  text-align: center;
-}
-
-.line-score-tbl {
-  margin: 0 auto;
-  max-width: 32rem;
-  font-size: 0.9375rem;
-}
-
-.line-score-header {
-  font-size: 0.8125rem;
-  font-weight: 400;
-}
-
-.line-score-final {
-  font-weight: 500;
-}
-
-.team-name {
-  font-weight: 500;
-}
-
-.team-record {
-  margin-left: 0.375rem;
-  color: hsl(0, 0%, 45%);
-  font-size: 0.75rem;
-}
-
-.box-score-title {
-  margin-top: 1.5rem;
-  padding: 0.5rem;
-  background-color: hsl(205, 100%, 36%);
-  color: hsl(0, 0%, 98%);
-  font-size: 0.9375rem;
-  font-weight: 400;
-}
-
-.box-score-tbl {
-  font-size: 0.75rem;
-  letter-spacing: 0.2px;
-}
-
-.box-score-header {
-  border-bottom-width: 1px;
-  background-color: hsl(205, 93%, 16%);
-  color: hsl(0, 0%, 98%);
-  font-weight: 400;
-  font-size: 0.7rem;
-  text-transform: uppercase;
-  transition: box-shadow 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
-}
-
-.box-score-header:hover,
-.box-score-header:focus,
-.box-score-header[aria-sort="ascending"],
-.box-score-header[aria-sort="descending"] {
-  background-color: hsl(205, 100%, 36%);
-}
-
-.box-score-header[aria-sort="ascending"] {
-  box-shadow: inset 0 10px 0 -6px #efaa10;
-}
-
-.box-score-header[aria-sort="descending"] {
-  box-shadow: inset 0 -10px 0 -6px #efaa10;
-}
-
-.sorted {
-  background-color: hsla(0, 0%, 60%, 0.1);
-}
-
-.box-score-total {
-  font-size: 0.8125rem;
-  font-weight: 500;
-}
+
.box-score {
+  font-family: 'Roboto', Helvetica, Arial, sans-serif;
+}
+
+.box-score a {
+  color: #337ab7;
+  text-decoration: none;
+}
+
+.box-score a:hover,
+.box-score a:focus {
+  text-decoration: underline;
+  text-decoration-thickness: max(1px, 0.0625rem);
+}
+
+.header {
+  text-align: center;
+  font-size: 1.25rem;
+}
+
+.game-date {
+  font-size: 1rem;
+}
+
+.line-score {
+  margin-top: 1.5rem;
+  text-align: center;
+}
+
+.line-score-tbl {
+  margin: 0 auto;
+  max-width: 32rem;
+  font-size: 0.9375rem;
+}
+
+.line-score-header {
+  font-size: 0.8125rem;
+  font-weight: 400;
+}
+
+.line-score-final {
+  font-weight: 500;
+}
+
+.team-name {
+  font-weight: 500;
+}
+
+.team-record {
+  margin-left: 0.375rem;
+  color: hsl(0, 0%, 45%);
+  font-size: 0.75rem;
+}
+
+.box-score-title {
+  margin-top: 1.5rem;
+  padding: 0.5rem;
+  background-color: hsl(205, 100%, 36%);
+  color: hsl(0, 0%, 98%);
+  font-size: 0.9375rem;
+  font-weight: 400;
+}
+
+.box-score-tbl {
+  font-size: 0.75rem;
+  letter-spacing: 0.2px;
+}
+
+.box-score-header {
+  border-bottom-width: 1px;
+  background-color: hsl(205, 93%, 16%);
+  color: hsl(0, 0%, 98%);
+  font-weight: 400;
+  font-size: 0.7rem;
+  text-transform: uppercase;
+  transition: box-shadow 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
+}
+
+.box-score-header:hover,
+.box-score-header:focus,
+.box-score-header[aria-sort="ascending"],
+.box-score-header[aria-sort="descending"] {
+  background-color: hsl(205, 100%, 36%);
+}
+
+.box-score-header[aria-sort="ascending"] {
+  box-shadow: inset 0 10px 0 -6px #efaa10;
+}
+
+.box-score-header[aria-sort="descending"] {
+  box-shadow: inset 0 -10px 0 -6px #efaa10;
+}
+
+.sorted {
+  background-color: hsla(0, 0%, 60%, 0.1);
+}
+
+.box-score-total {
+  font-size: 0.8125rem;
+  font-weight: 500;
+}

@@ -1148,13 +1149,11 @@

diff --git a/articles/nba-box-score/nba-box-score_files/htmltools-fill-0.5.8.1/fill.css b/articles/nba-box-score/nba-box-score_files/htmltools-fill-0.5.8.1/fill.css new file mode 100644 index 00000000..841ea9d5 --- /dev/null +++ b/articles/nba-box-score/nba-box-score_files/htmltools-fill-0.5.8.1/fill.css @@ -0,0 +1,21 @@ +@layer htmltools { + .html-fill-container { + display: flex; + flex-direction: column; + /* Prevent the container from expanding vertically or horizontally beyond its + parent's constraints. */ + min-height: 0; + min-width: 0; + } + .html-fill-container > .html-fill-item { + /* Fill items can grow and shrink freely within + available vertical space in fillable container */ + flex: 1 1 auto; + min-height: 0; + min-width: 0; + } + .html-fill-container > :not(.html-fill-item) { + /* Prevent shrinking or growing of non-fill items */ + flex: 0 0 auto; + } +} diff --git a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/DESCRIPTION b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/DESCRIPTION index 78213928..17122e84 100644 --- a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/DESCRIPTION +++ b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/DESCRIPTION @@ -53,4 +53,4 @@ Author: Greg Lin [aut, cre], James Halliday [ctb, cph] (stream-browserify library), Posit Software, PBC [fnd, cph] Maintainer: Greg Lin -Built: R 4.3.2; ; 2024-02-04 19:59:08 UTC; unix +Built: R 4.4.1; ; 2024-07-21 22:22:53 UTC; unix diff --git a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/Rd.rds b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/Rd.rds index 8df52c24..090aed9c 100644 Binary files a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/Rd.rds and b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/Rd.rds differ diff --git a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/features.rds b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/features.rds index b8114a5f..781f60d4 100644 Binary files a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/features.rds and b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/features.rds differ diff --git a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/hsearch.rds b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/hsearch.rds index e44c66bf..cc3723ff 100644 Binary files a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/hsearch.rds and b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/hsearch.rds differ diff --git a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/links.rds b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/links.rds index 80652098..8e91bc12 100644 Binary files a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/links.rds and b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/links.rds differ diff --git a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/nsInfo.rds b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/nsInfo.rds index 8bfb3ccf..1d9429f1 100644 Binary files a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/nsInfo.rds and b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/nsInfo.rds differ diff --git a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/package.rds b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/package.rds index e596b760..4138c0f5 100644 Binary files a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/package.rds and b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/Meta/package.rds differ diff --git a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/R/reactable.rdb b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/R/reactable.rdb index 7e681ea1..f2a27c58 100644 Binary files a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/R/reactable.rdb and b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/R/reactable.rdb differ diff --git a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/R/reactable.rdx b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/R/reactable.rdx index fd1708d1..ac0701cc 100644 Binary files a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/R/reactable.rdx and b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/R/reactable.rdx differ diff --git a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/aliases.rds b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/aliases.rds index ecbd441e..46435c27 100644 Binary files a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/aliases.rds and b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/aliases.rds differ diff --git a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/paths.rds b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/paths.rds index 258c9532..c3c427a3 100644 Binary files a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/paths.rds and b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/paths.rds differ diff --git a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/reactable.rdb b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/reactable.rdb index 86ebed1d..00726713 100644 Binary files a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/reactable.rdb and b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/reactable.rdb differ diff --git a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/reactable.rdx b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/reactable.rdx index 86b991d0..bbf45e04 100644 Binary files a/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/reactable.rdx and b/articles/nba-box-score/nba-box-score_files/reactable 1xdhyk6 1626bqa-1/help/reactable.rdx differ diff --git a/articles/nba-box-score/nba-box-score_files/reactwidget-1.0.0/react-tools.js b/articles/nba-box-score/nba-box-score_files/reactwidget-1.0.0/react-tools.js deleted file mode 100644 index 871441a9..00000000 --- a/articles/nba-box-score/nba-box-score_files/reactwidget-1.0.0/react-tools.js +++ /dev/null @@ -1,547 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./srcjs/react-tools.js"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./srcjs/input.js": -/*!************************!*\ - !*** ./srcjs/input.js ***! - \************************/ -/*! exports provided: reactShinyInput */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reactShinyInput", function() { return reactShinyInput; }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ "react-dom"); -/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var shiny__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shiny */ "shiny"); -/* harmony import */ var shiny__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(shiny__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! jquery */ "jquery"); -/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_3__); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - - - - - -/* - * This default receiveMessage implementation expects data to contain whole - * configuration and value properties. If either is present, it will be set and - * the component will be re-rendered. Because receiveMessage is typically used - * by input authors to perform incremental updates, this default implementation - * can be overriden by the user with the receiveMessage arguments to - * reactShinyInput. - */ - -function defaultReceiveMessage(el, _ref) { - var configuration = _ref.configuration, - value = _ref.value; - var dirty = false; - - if (configuration !== undefined) { - this.setInputConfiguration(el, configuration); - dirty = true; - } - - if (value !== undefined) { - this.setInputValue(el, value); - dirty = true; - } - - if (dirty) { - this.getCallback(el)(); - this.render(el); - } -} - -var defaultOptions = { - receiveMessage: defaultReceiveMessage, - type: false, - ratePolicy: null -}; -/** - * Installs a new Shiny input binding based on a React component. - * - * @param {string} selector - jQuery selector that should identify the set of - * container elements within the scope argument of Shiny.InputBinding.find. - * @param {string} name - A name such as 'acme.FooInput' that should uniquely - * identify the component. - * @param {Object} component - React Component, either class or function. - * @param {Object} options - Additional configuration options. Supported - * options are: - * - receiveMessage: Implementation of Shiny.InputBinding to use in place of - * the default. Typically overridden as an optimization to perform - * incremental value updates. - * - type: `false`, a string, or a function. - * - `false` (the default): denotes that the value produced by this input - * should not be intercepted by any handlers registered in R on the - * server using shiny::registerInputHandler(). - * - string: denotes the input's *type* and should correspond to the - * type parameter of shiny::registerInputHandler(). - * - function: A function called with `this` bound to the InputBinding - * instance and passed a single argument, the input's containing DOM - * element. The function should return either `false` or a string - * corresponding to the type parameter of shiny::registerInputHandler(). - * - ratePolicy: A rate policy object as defined in the documentation for - * getRatePolicy(): https://shiny.rstudio.com/articles/building-inputs.html - * A rate policy object has two members: - * - `policy`: Valid values are the strings "direct", "debounce", and - * "throttle". "direct" means that all events are sent immediately. - * - `delay`: Number indicating the number of milliseconds that should be - * used when debouncing or throttling. Has no effect if the policy is - * direct. - * The specified rate policy is only applied when `true` is passed as the - * second argument to the `setValue` function passed as a prop to the - * input component. - * - */ - -function reactShinyInput(selector, name, component, options) { - options = Object.assign({}, defaultOptions, options); - shiny__WEBPACK_IMPORTED_MODULE_2___default.a.inputBindings.register(new ( /*#__PURE__*/function (_Shiny$InputBinding) { - _inherits(_class, _Shiny$InputBinding); - - var _super = _createSuper(_class); - - function _class() { - _classCallCheck(this, _class); - - return _super.apply(this, arguments); - } - - _createClass(_class, [{ - key: "find", - - /* - * Methods override those in Shiny.InputBinding - */ - value: function find(scope) { - return jquery__WEBPACK_IMPORTED_MODULE_3___default()(scope).find(selector); - } - }, { - key: "getValue", - value: function getValue(el) { - return this.getInputValue(el); - } - }, { - key: "setValue", - value: function setValue(el, value) { - var rateLimited = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - /* - * We have to check whether $(el).data('callback') is undefined here - * in case shiny::renderUI() is involved. If an input is contained in a - * shiny::uiOutput(), the following strange thing happens occasionally: - * - * 1. setValue() is bound to an el in this.render(), below - * 2. An event that will call setValue() is enqueued - * 3. While the event is still enqueued, el is unbound and removed - * from the DOM by the JS code associated with shiny::uiOutput() - * - That code uses jQuery .html() in output_binding_html.js - * - .html() removes el from the DOM and clears ist data and events - * 4. By the time the setValue() bound to the original el is invoked, - * el has been unbound and its data cleared. - * - * Since the original input is gone along with its callback, it - * seems to make the most sense to do nothing. - */ - if (jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('callback') !== undefined) { - this.setInputValue(el, value); - this.getCallback(el)(rateLimited); - this.render(el); - } - } - }, { - key: "initialize", - value: function initialize(el) { - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('value', JSON.parse(jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).next().text())); - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('configuration', JSON.parse(jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).next().next().text())); - } - }, { - key: "subscribe", - value: function subscribe(el, callback) { - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('callback', callback); - this.render(el); - } - }, { - key: "unsubscribe", - value: function unsubscribe(el) { - react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(null, el); - } - }, { - key: "receiveMessage", - value: function receiveMessage(el, data) { - options.receiveMessage.call(this, el, data); - } - }, { - key: "getType", - value: function getType(el) { - if (typeof options.type === 'function') { - return options.type.call(this, el); - } else if (options.type === false || typeof options.type === 'string') { - return options.type; - } else { - throw new Error('options.type must be false, a string, or a function'); - } - } - }, { - key: "getRatePolicy", - value: function getRatePolicy() { - return options.ratePolicy; - } - /* - * Methods not present in Shiny.InputBinding but accessible to users - * through `this` in receiveMessage - */ - - }, { - key: "getInputValue", - value: function getInputValue(el) { - return jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('value'); - } - }, { - key: "setInputValue", - value: function setInputValue(el, value) { - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('value', value); - } - }, { - key: "getInputConfiguration", - value: function getInputConfiguration(el) { - return jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('configuration'); - } - }, { - key: "setInputConfiguration", - value: function setInputConfiguration(el, configuration) { - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('configuration', configuration); - } - }, { - key: "getCallback", - value: function getCallback(el) { - return jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('callback'); - } - }, { - key: "render", - value: function render(el) { - var element = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(component, { - configuration: this.getInputConfiguration(el), - value: this.getValue(el), - setValue: this.setValue.bind(this, el), - el: el - }); - react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(element, el); - } - }]); - - return _class; - }(shiny__WEBPACK_IMPORTED_MODULE_2___default.a.InputBinding))(), name); -} - -/***/ }), - -/***/ "./srcjs/react-tools.js": -/*!******************************!*\ - !*** ./srcjs/react-tools.js ***! - \******************************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./widget */ "./srcjs/widget.js"); -/* harmony import */ var _input__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./input */ "./srcjs/input.js"); - - -window.reactR = { - reactShinyInput: _input__WEBPACK_IMPORTED_MODULE_1__["reactShinyInput"], - reactWidget: _widget__WEBPACK_IMPORTED_MODULE_0__["reactWidget"], - hydrate: _widget__WEBPACK_IMPORTED_MODULE_0__["hydrate"] -}; - -/***/ }), - -/***/ "./srcjs/widget.js": -/*!*************************!*\ - !*** ./srcjs/widget.js ***! - \*************************/ -/*! exports provided: hydrate, defaultOptions, mergeOptions, formatDimension, isTag, reactWidget */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hydrate", function() { return hydrate; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultOptions", function() { return defaultOptions; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeOptions", function() { return mergeOptions; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatDimension", function() { return formatDimension; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isTag", function() { return isTag; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reactWidget", function() { return reactWidget; }); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/** - * Recursively transforms tag, a JSON representation of an instance of a - * React component and its children, into a React element suitable for - * passing to ReactDOM.render. - * @param {Object} components - * @param {Object} tag - */ -function hydrate(components, tag) { - if (typeof tag === 'string') return tag; - - if (tag.name[0] === tag.name[0].toUpperCase() && !components.hasOwnProperty(tag.name)) { - throw new Error("Unknown component: " + tag.name); - } - - var elem = components.hasOwnProperty(tag.name) ? components[tag.name] : tag.name, - args = [elem, tag.attribs]; - - for (var i = 0; i < tag.children.length; i++) { - args.push(hydrate(components, tag.children[i])); - } - - return React.createElement.apply(React, args); -} -var defaultOptions = { - // The name of the property on the root tag to use for the width, if - // it's updated. - widthProperty: "width", - // The name of the property on the root tag to use for the height, if - // it's updated. - heightProperty: "height", - // Whether or not to append the string 'px' to the width and height - // properties when they change. - appendPx: false, - // Whether or not to dynamically update the width and height properties - // of the last known tag when the computed width and height change in - // the browser. - renderOnResize: false -}; -function mergeOptions(options) { - var merged = {}; - - for (var k in defaultOptions) { - merged[k] = defaultOptions[k]; - } - - for (var k in options) { - if (!defaultOptions.hasOwnProperty(k)) { - throw new Error("Unrecognized option: " + k); - } - - merged[k] = options[k]; - } - - return merged; -} -function formatDimension(dim, options) { - if (options.appendPx) { - return dim + 'px'; - } else { - return dim; - } -} -function isTag(value) { - return _typeof(value) === 'object' && value.hasOwnProperty('name') && value.hasOwnProperty('attribs') && value.hasOwnProperty('children'); -} -/** - * Creates an HTMLWidget that is updated by rendering a React component. - * React component constructors are made available by specifying them by - * name in the components object. - * @param {string} name - * @param {string} type - * @param {Object} components - * @param {Object} options - */ - -function reactWidget(name, type, components, options) { - var actualOptions = mergeOptions(options); - window.HTMLWidgets.widget({ - name: name, - type: type, - factory: function factory(el, width, height) { - var lastValue, - instance = {}, - renderValue = function renderValue(value) { - if (actualOptions.renderOnResize) { - // value.tag might be a primitive string, in which - // case there is no attribs property. - if (_typeof(value.tag) === 'object') { - value.tag.attribs[actualOptions["widthProperty"]] = formatDimension(width); - value.tag.attribs[actualOptions["heightProperty"]] = formatDimension(height); - } - - lastValue = value; - } // with functional stateless components this will be null - // see https://reactjs.org/docs/react-dom.html#render for more details - - - this.instance.component = ReactDOM.render(hydrate(components, value.tag), el); - }; - - return { - instance: instance, - renderValue: renderValue, - resize: function resize(newWidth, newHeight) { - if (actualOptions.renderOnResize) { - width = newWidth; - height = newHeight; - renderValue(lastValue); - } - } - }; - } - }); -} - -/***/ }), - -/***/ "jquery": -/*!********************************!*\ - !*** external "window.jQuery" ***! - \********************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = window.jQuery; - -/***/ }), - -/***/ "react": -/*!*******************************!*\ - !*** external "window.React" ***! - \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = window.React; - -/***/ }), - -/***/ "react-dom": -/*!**********************************!*\ - !*** external "window.ReactDOM" ***! - \**********************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = window.ReactDOM; - -/***/ }), - -/***/ "shiny": -/*!*******************************!*\ - !*** external "window.Shiny" ***! - \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = window.Shiny; - -/***/ }) - -/******/ }); -//# sourceMappingURL=react-tools.js.map \ No newline at end of file diff --git a/articles/nba-box-score/nba-box-score_files/reactwidget-1.0.0/react-tools.js.map b/articles/nba-box-score/nba-box-score_files/reactwidget-1.0.0/react-tools.js.map deleted file mode 100644 index 088dfa0e..00000000 --- a/articles/nba-box-score/nba-box-score_files/reactwidget-1.0.0/react-tools.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./srcjs/input.js","webpack:///./srcjs/react-tools.js","webpack:///./srcjs/widget.js","webpack:///external \"window.jQuery\"","webpack:///external \"window.React\"","webpack:///external \"window.ReactDOM\"","webpack:///external \"window.Shiny\""],"names":["defaultReceiveMessage","el","configuration","value","dirty","undefined","setInputConfiguration","setInputValue","getCallback","render","defaultOptions","receiveMessage","type","ratePolicy","reactShinyInput","selector","name","component","options","Object","assign","Shiny","inputBindings","register","scope","$","find","getInputValue","rateLimited","data","JSON","parse","next","text","callback","ReactDOM","call","Error","element","React","createElement","getInputConfiguration","getValue","setValue","bind","InputBinding","window","reactR","reactWidget","hydrate","components","tag","toUpperCase","hasOwnProperty","elem","args","attribs","i","children","length","push","apply","widthProperty","heightProperty","appendPx","renderOnResize","mergeOptions","merged","k","formatDimension","dim","isTag","actualOptions","HTMLWidgets","widget","factory","width","height","lastValue","instance","renderValue","resize","newWidth","newHeight"],"mappings":"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","file":"react-tools.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./srcjs/react-tools.js\");\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport Shiny from 'shiny';\r\nimport $ from 'jquery';\r\n\r\n/*\r\n * This default receiveMessage implementation expects data to contain whole\r\n * configuration and value properties. If either is present, it will be set and\r\n * the component will be re-rendered. Because receiveMessage is typically used\r\n * by input authors to perform incremental updates, this default implementation\r\n * can be overriden by the user with the receiveMessage arguments to\r\n * reactShinyInput.\r\n */\r\nfunction defaultReceiveMessage(el, { configuration, value }) {\r\n let dirty = false;\r\n if (configuration !== undefined) {\r\n this.setInputConfiguration(el, configuration);\r\n dirty = true;\r\n }\r\n if (value !== undefined) {\r\n this.setInputValue(el, value);\r\n dirty = true;\r\n }\r\n if (dirty) {\r\n this.getCallback(el)();\r\n this.render(el);\r\n }\r\n}\r\n\r\nconst defaultOptions = {\r\n receiveMessage: defaultReceiveMessage,\r\n type: false,\r\n ratePolicy: null\r\n};\r\n\r\n/**\r\n * Installs a new Shiny input binding based on a React component.\r\n *\r\n * @param {string} selector - jQuery selector that should identify the set of\r\n * container elements within the scope argument of Shiny.InputBinding.find.\r\n * @param {string} name - A name such as 'acme.FooInput' that should uniquely\r\n * identify the component.\r\n * @param {Object} component - React Component, either class or function.\r\n * @param {Object} options - Additional configuration options. Supported\r\n * options are:\r\n * - receiveMessage: Implementation of Shiny.InputBinding to use in place of\r\n * the default. Typically overridden as an optimization to perform\r\n * incremental value updates.\r\n * - type: `false`, a string, or a function.\r\n * - `false` (the default): denotes that the value produced by this input\r\n * should not be intercepted by any handlers registered in R on the\r\n * server using shiny::registerInputHandler().\r\n * - string: denotes the input's *type* and should correspond to the\r\n * type parameter of shiny::registerInputHandler().\r\n * - function: A function called with `this` bound to the InputBinding\r\n * instance and passed a single argument, the input's containing DOM\r\n * element. The function should return either `false` or a string\r\n * corresponding to the type parameter of shiny::registerInputHandler().\r\n * - ratePolicy: A rate policy object as defined in the documentation for\r\n * getRatePolicy(): https://shiny.rstudio.com/articles/building-inputs.html\r\n * A rate policy object has two members:\r\n * - `policy`: Valid values are the strings \"direct\", \"debounce\", and\r\n * \"throttle\". \"direct\" means that all events are sent immediately.\r\n * - `delay`: Number indicating the number of milliseconds that should be\r\n * used when debouncing or throttling. Has no effect if the policy is\r\n * direct.\r\n * The specified rate policy is only applied when `true` is passed as the\r\n * second argument to the `setValue` function passed as a prop to the\r\n * input component.\r\n *\r\n */\r\nexport function reactShinyInput(selector,\r\n name,\r\n component,\r\n options) {\r\n options = Object.assign({}, defaultOptions, options);\r\n Shiny.inputBindings.register(new class extends Shiny.InputBinding {\r\n\r\n /*\r\n * Methods override those in Shiny.InputBinding\r\n */\r\n\r\n find(scope) {\r\n return $(scope).find(selector);\r\n }\r\n getValue(el) {\r\n return this.getInputValue(el);\r\n }\r\n setValue(el, value, rateLimited = false) {\r\n /*\r\n * We have to check whether $(el).data('callback') is undefined here\r\n * in case shiny::renderUI() is involved. If an input is contained in a\r\n * shiny::uiOutput(), the following strange thing happens occasionally:\r\n *\r\n * 1. setValue() is bound to an el in this.render(), below\r\n * 2. An event that will call setValue() is enqueued\r\n * 3. While the event is still enqueued, el is unbound and removed\r\n * from the DOM by the JS code associated with shiny::uiOutput()\r\n * - That code uses jQuery .html() in output_binding_html.js\r\n * - .html() removes el from the DOM and clears ist data and events\r\n * 4. By the time the setValue() bound to the original el is invoked,\r\n * el has been unbound and its data cleared.\r\n *\r\n * Since the original input is gone along with its callback, it\r\n * seems to make the most sense to do nothing.\r\n */\r\n if ($(el).data('callback') !== undefined) {\r\n this.setInputValue(el, value);\r\n this.getCallback(el)(rateLimited);\r\n this.render(el);\r\n }\r\n }\r\n initialize(el) {\r\n $(el).data('value', JSON.parse($(el).next().text()));\r\n $(el).data('configuration', JSON.parse($(el).next().next().text()));\r\n }\r\n subscribe(el, callback) {\r\n $(el).data('callback', callback);\r\n this.render(el);\r\n }\r\n unsubscribe(el) {\r\n ReactDOM.render(null, el);\r\n }\r\n receiveMessage(el, data) {\r\n options.receiveMessage.call(this, el, data);\r\n }\r\n getType(el) {\r\n if (typeof options.type === 'function') {\r\n return options.type.call(this, el);\r\n } else if (options.type === false || typeof options.type === 'string') {\r\n return options.type;\r\n } else {\r\n throw new Error('options.type must be false, a string, or a function');\r\n }\r\n }\r\n getRatePolicy() {\r\n return options.ratePolicy;\r\n }\r\n\r\n /*\r\n * Methods not present in Shiny.InputBinding but accessible to users\r\n * through `this` in receiveMessage\r\n */\r\n\r\n getInputValue(el) {\r\n return $(el).data('value');\r\n }\r\n setInputValue(el, value) {\r\n $(el).data('value', value);\r\n }\r\n getInputConfiguration(el) {\r\n return $(el).data('configuration');\r\n }\r\n setInputConfiguration(el, configuration) {\r\n $(el).data('configuration', configuration);\r\n }\r\n getCallback(el) {\r\n return $(el).data('callback');\r\n }\r\n render(el) {\r\n const element = React.createElement(component, {\r\n configuration: this.getInputConfiguration(el),\r\n value: this.getValue(el),\r\n setValue: this.setValue.bind(this, el),\r\n el: el\r\n });\r\n ReactDOM.render(element, el);\r\n }\r\n }, name);\r\n}\r\n\r\n","import { reactWidget, hydrate } from './widget';\r\nimport { reactShinyInput } from './input';\r\n\r\nwindow.reactR = {\r\n reactShinyInput: reactShinyInput,\r\n reactWidget: reactWidget,\r\n hydrate: hydrate\r\n};\r\n","/**\r\n * Recursively transforms tag, a JSON representation of an instance of a\r\n * React component and its children, into a React element suitable for\r\n * passing to ReactDOM.render.\r\n * @param {Object} components\r\n * @param {Object} tag\r\n */\r\nexport function hydrate(components, tag) {\r\n if (typeof tag === 'string') return tag;\r\n if (tag.name[0] === tag.name[0].toUpperCase()\r\n && !components.hasOwnProperty(tag.name)) {\r\n throw new Error(\"Unknown component: \" + tag.name);\r\n }\r\n var elem = components.hasOwnProperty(tag.name) ? components[tag.name] : tag.name,\r\n args = [elem, tag.attribs];\r\n for (var i = 0; i < tag.children.length; i++) {\r\n args.push(hydrate(components, tag.children[i]));\r\n }\r\n return React.createElement.apply(React, args);\r\n}\r\n\r\nexport const defaultOptions = {\r\n // The name of the property on the root tag to use for the width, if\r\n // it's updated.\r\n widthProperty: \"width\",\r\n // The name of the property on the root tag to use for the height, if\r\n // it's updated.\r\n heightProperty: \"height\",\r\n // Whether or not to append the string 'px' to the width and height\r\n // properties when they change.\r\n appendPx: false,\r\n // Whether or not to dynamically update the width and height properties\r\n // of the last known tag when the computed width and height change in\r\n // the browser.\r\n renderOnResize: false\r\n};\r\n\r\nexport function mergeOptions(options) {\r\n var merged = {};\r\n for (var k in defaultOptions) {\r\n merged[k] = defaultOptions[k];\r\n }\r\n for (var k in options) {\r\n if (!defaultOptions.hasOwnProperty(k)) {\r\n throw new Error(\"Unrecognized option: \" + k);\r\n }\r\n merged[k] = options[k];\r\n }\r\n return merged;\r\n}\r\n\r\nexport function formatDimension(dim, options) {\r\n if (options.appendPx) {\r\n return dim + 'px';\r\n } else {\r\n return dim;\r\n }\r\n}\r\n\r\nexport function isTag(value) {\r\n return (typeof value === 'object')\r\n && value.hasOwnProperty('name')\r\n && value.hasOwnProperty('attribs')\r\n && value.hasOwnProperty('children');\r\n}\r\n\r\n/**\r\n * Creates an HTMLWidget that is updated by rendering a React component.\r\n * React component constructors are made available by specifying them by\r\n * name in the components object.\r\n * @param {string} name\r\n * @param {string} type\r\n * @param {Object} components\r\n * @param {Object} options\r\n */\r\nexport function reactWidget(name, type, components, options) {\r\n var actualOptions = mergeOptions(options);\r\n window.HTMLWidgets.widget({\r\n name: name,\r\n type: type,\r\n factory: function (el, width, height) {\r\n var lastValue,\r\n instance = {},\r\n renderValue = (function (value) {\r\n if (actualOptions.renderOnResize) {\r\n // value.tag might be a primitive string, in which\r\n // case there is no attribs property.\r\n if (typeof value.tag === 'object') {\r\n value.tag.attribs[actualOptions[\"widthProperty\"]] = formatDimension(width);\r\n value.tag.attribs[actualOptions[\"heightProperty\"]] = formatDimension(height);\r\n }\r\n lastValue = value;\r\n }\r\n // with functional stateless components this will be null\r\n // see https://reactjs.org/docs/react-dom.html#render for more details\r\n this.instance.component = ReactDOM.render(hydrate(components, value.tag), el);\r\n });\r\n return {\r\n instance: instance,\r\n renderValue: renderValue,\r\n resize: function (newWidth, newHeight) {\r\n if (actualOptions.renderOnResize) {\r\n width = newWidth;\r\n height = newHeight;\r\n renderValue(lastValue);\r\n }\r\n }\r\n };\r\n }\r\n })\r\n}\r\n\r\n","module.exports = window.jQuery;","module.exports = window.React;","module.exports = window.ReactDOM;","module.exports = window.Shiny;"],"sourceRoot":""} \ No newline at end of file diff --git a/articles/nba-box-score/nba-box-score_files/reactwidget-2.0.0/react-tools.umd.cjs b/articles/nba-box-score/nba-box-score_files/reactwidget-2.0.0/react-tools.umd.cjs new file mode 100644 index 00000000..159c7ab3 --- /dev/null +++ b/articles/nba-box-score/nba-box-score_files/reactwidget-2.0.0/react-tools.umd.cjs @@ -0,0 +1 @@ +(function(s,u){typeof exports=="object"&&typeof module<"u"?u(exports):typeof define=="function"&&define.amd?define(["exports"],u):(s=typeof globalThis<"u"?globalThis:s||self,u(s.reactR={}))})(this,function(s){"use strict";function u(n,t){if(typeof t=="string")return t;if(t.name[0]===t.name[0].toUpperCase()&&!n.hasOwnProperty(t.name))throw new Error("Unknown component: "+t.name);for(let i in t.attribs)g(t.attribs[i])&&(t.attribs[i]=u(n,t.attribs[i]));for(var a=n.hasOwnProperty(t.name)?n[t.name]:t.name,r=[a,t.attribs],e=0;e - + @@ -183,7 +184,7 @@ +
+

Source: The Movie Database @@ -572,73 +573,73 @@

), class = "movies-tbl" ) -
// Custom JavaScript cell renderer for the Movie column
-function renderMovie(cellInfo) {
-  const url = 'https://www.themoviedb.org/movie/' + cellInfo.row['id']
-  const imageSrc = 'https://www.themoviedb.org/t/p/w45' + cellInfo.row['poster_path']
-  const altText = cellInfo.value + ' movie poster'
-  const poster = `<a href="${url}"><img src="${imageSrc}" class="movie-poster" alt="${altText}"></a>`
-
-  const title = `<a href="${url}">${cellInfo.value}</a>`
-
-  let rating = cellInfo.row['certification']
-  if (rating) {
-    rating = `<span class="movie-rating">${rating}</span>`
-  } else {
-    rating = ''
-  }
-
-  const genres = ' ' + cellInfo.row['genres'].join(', ')
-
-  let runtime = cellInfo.row['runtime']
-  if (runtime != null) {
-    const hours = Math.floor(runtime / 60)
-    const mins = runtime % 60
-    runtime = [hours > 0 ? hours + 'h' : '', mins > 0 ? mins + 'm' : ''].join(' ')
-    runtime = `<span aria-hidden="true"> • </span>` +
-      `<div class="movie-runtime">${runtime}</div>`
-  } else {
-    runtime = ''
-  }
-
-  const details = `<div class="movie-info-details">${rating}${genres}${runtime}</div>`
-  const text = `<div class="movie-info-text">${title}${details}</div>`
-  return `<div class="movie-info">${poster}${text}</div>`
-}
-
-// Custom JavaScript cell renderer for the User Score column
-function renderUserScore(cellInfo) {
-  return donutChart(cellInfo.value, cellInfo.row['score_color'])
-}
-
-// Generates HTML for a donut chart given a percentage value (out of 100) and color
-function donutChart(value, color) {
-  // All units are in rem for relative scaling
-  const radius = 1.5
-  const diameter = 3.75
-  const center = diameter / 2
-  const width = 0.25
-  const sliceLength = 2 * Math.PI * radius
-  const sliceOffset = sliceLength * (1 - value / 100)
-  const donutChart = `
-    <svg width="${diameter}rem" height="${diameter}rem" style="transform: rotate(-90deg)" focusable="false">
-      <circle cx="${center}rem" cy="${center}rem" r="${radius}rem" fill="none" stroke-width="${width}rem" stroke="rgba(0,0,0,0.1)"></circle>
-      <circle cx="${center}rem" cy="${center}rem" r="${radius}rem" fill="none" stroke-width="${width}rem" stroke="${color}"
-       stroke-dasharray="${sliceLength}rem" stroke-dashoffset="${sliceOffset}rem"></circle>
-    </svg>
-  `
-  const label = `
-    <div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%)">
-      ${value}%
-    </div>
-  `
-  return `
-    <div style="display: inline-flex; position: relative">
-      ${donutChart}
-      ${label}
-    </div>
-  `
-}
+
// Custom JavaScript cell renderer for the Movie column
+function renderMovie(cellInfo) {
+  const url = 'https://www.themoviedb.org/movie/' + cellInfo.row['id']
+  const imageSrc = 'https://www.themoviedb.org/t/p/w45' + cellInfo.row['poster_path']
+  const altText = cellInfo.value + ' movie poster'
+  const poster = `<a href="${url}"><img src="${imageSrc}" class="movie-poster" alt="${altText}"></a>`
+
+  const title = `<a href="${url}">${cellInfo.value}</a>`
+
+  let rating = cellInfo.row['certification']
+  if (rating) {
+    rating = `<span class="movie-rating">${rating}</span>`
+  } else {
+    rating = ''
+  }
+
+  const genres = ' ' + cellInfo.row['genres'].join(', ')
+
+  let runtime = cellInfo.row['runtime']
+  if (runtime != null) {
+    const hours = Math.floor(runtime / 60)
+    const mins = runtime % 60
+    runtime = [hours > 0 ? hours + 'h' : '', mins > 0 ? mins + 'm' : ''].join(' ')
+    runtime = `<span aria-hidden="true"> • </span>` +
+      `<div class="movie-runtime">${runtime}</div>`
+  } else {
+    runtime = ''
+  }
+
+  const details = `<div class="movie-info-details">${rating}${genres}${runtime}</div>`
+  const text = `<div class="movie-info-text">${title}${details}</div>`
+  return `<div class="movie-info">${poster}${text}</div>`
+}
+
+// Custom JavaScript cell renderer for the User Score column
+function renderUserScore(cellInfo) {
+  return donutChart(cellInfo.value, cellInfo.row['score_color'])
+}
+
+// Generates HTML for a donut chart given a percentage value (out of 100) and color
+function donutChart(value, color) {
+  // All units are in rem for relative scaling
+  const radius = 1.5
+  const diameter = 3.75
+  const center = diameter / 2
+  const width = 0.25
+  const sliceLength = 2 * Math.PI * radius
+  const sliceOffset = sliceLength * (1 - value / 100)
+  const donutChart = `
+    <svg width="${diameter}rem" height="${diameter}rem" style="transform: rotate(-90deg)" focusable="false">
+      <circle cx="${center}rem" cy="${center}rem" r="${radius}rem" fill="none" stroke-width="${width}rem" stroke="rgba(0,0,0,0.1)"></circle>
+      <circle cx="${center}rem" cy="${center}rem" r="${radius}rem" fill="none" stroke-width="${width}rem" stroke="${color}"
+       stroke-dasharray="${sliceLength}rem" stroke-dashoffset="${sliceOffset}rem"></circle>
+    </svg>
+  `
+  const label = `
+    <div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%)">
+      ${value}%
+    </div>
+  `
+  return `
+    <div style="display: inline-flex; position: relative">
+      ${donutChart}
+      ${label}
+    </div>
+  `
+}
 # Custom Crosstalk select filter. This is a single-select input that works
 # on columns containing multiple values per row (list columns).
@@ -805,145 +806,145 @@ 

tags$hr(), tbl )

-
/* Font from https://fontsarena.com/hanken-grotesk-by-hanken-design-co/ */
-@font-face {
-  font-family: 'Hanken Grotesk';
-  font-style: normal;
-  font-weight: 400;
-  src: url("fonts/HKGrotesk-Regular.woff2") format("woff2"),
-       url("fonts/HKGrotesk-Regular.woff") format("woff");
-}
-
-@font-face {
-  font-family: 'Hanken Grotesk';
-  font-style: normal;
-  font-weight: 600;
-  src: url("fonts/HKGrotesk-SemiBold.woff2") format("woff2"),
-       url("fonts/HKGrotesk-SemiBold.woff") format("woff");
-}
-
-@font-face {
-  font-family: 'Hanken Grotesk';
-  font-style: normal;
-  font-weight: 700;
-  src: url("fonts/HKGrotesk-Bold.woff2") format("woff2"),
-       url("fonts/HKGrotesk-Bold.woff") format("woff");
-}
-
-.movies {
-  font-family: 'Hanken Grotesk', Helvetica, Arial, sans-serif;
-}
-
-.movies h2 {
-  font-weight: 600;
-}
-
-.movies a {
-  color: #007899;
-  text-decoration: none;
-}
-
-.movies a:hover,
-.movies a:focus {
-  text-decoration: underline;
-  text-decoration-thickness: max(1px, 0.0625rem);
-}
-
-.movies-tbl {
-  margin-top: 1rem;
-  font-size: 1rem;
-}
-
-.header {
-  color: hsl(0, 0%, 45%);
-  font-weight: 700;
-  font-size: 0.8125rem;
-  letter-spacing: 0.4px;
-  text-transform: uppercase;
-}
-
-.header:hover[aria-sort],
-.header[aria-sort='ascending'],
-.header[aria-sort='descending'] {
-  color: hsl(0, 0%, 5%);
-}
-
-.movie-info {
-  display: flex;
-  align-items: center;
-}
-
-.movie-info-text {
-  margin-left: 0.75rem;
-  font-weight: 600;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.movie-info-details {
-  margin-top: 0.125rem;
-  font-size: 0.875rem;
-  font-weight: 400;
-  color: hsl(0, 0%, 40%);
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.movie-poster {
-  width: 45px;
-  height: 68px;
-  box-shadow: 0 0 0 1px hsl(0, 0%, 95%);
-}
-
-.movie-runtime {
-  display: inline-block;
-}
-
-.movie-rating {
-  margin-right: 0.25rem;
-  padding: 0 0.25rem;
-  border: 1px solid hsl(0, 0%, 75%);
-  border-radius: 2px;
-}
-
-.user-score {
-  font-weight: 600;
-}
-
-.filters {
-  display: flex;
-  flex-wrap: wrap;
-  margin-top: 1rem;
-  margin-left: -32px;
-}
-
-.filter-input {
-  margin-top: 0.5rem;
-  margin-left: 32px;
-  flex: 1;
-  min-width: 250px;
-}
-
-.filter-input label {
-  color: hsl(0, 0%, 45%);
-  font-weight: 700;
-  font-size: 0.8125rem;
-  letter-spacing: 0.4px;
-  text-transform: uppercase;
-}
-
-.filter-input select,
-.filter-input input[type="search"] {
-  padding: 0 0.375rem;
-  height: 2rem;
-}
-
-.filter-input input[type="search"] {
-  /* Revert Bootstrap 5's Reboot styles, which change native search input styling */
-  -webkit-appearance: searchfield;
-  outline-offset: revert;
-  border-color: revert;
-}
+
/* Font from https://fontsarena.com/hanken-grotesk-by-hanken-design-co/ */
+@font-face {
+  font-family: 'Hanken Grotesk';
+  font-style: normal;
+  font-weight: 400;
+  src: url("fonts/HKGrotesk-Regular.woff2") format("woff2"),
+       url("fonts/HKGrotesk-Regular.woff") format("woff");
+}
+
+@font-face {
+  font-family: 'Hanken Grotesk';
+  font-style: normal;
+  font-weight: 600;
+  src: url("fonts/HKGrotesk-SemiBold.woff2") format("woff2"),
+       url("fonts/HKGrotesk-SemiBold.woff") format("woff");
+}
+
+@font-face {
+  font-family: 'Hanken Grotesk';
+  font-style: normal;
+  font-weight: 700;
+  src: url("fonts/HKGrotesk-Bold.woff2") format("woff2"),
+       url("fonts/HKGrotesk-Bold.woff") format("woff");
+}
+
+.movies {
+  font-family: 'Hanken Grotesk', Helvetica, Arial, sans-serif;
+}
+
+.movies h2 {
+  font-weight: 600;
+}
+
+.movies a {
+  color: #007899;
+  text-decoration: none;
+}
+
+.movies a:hover,
+.movies a:focus {
+  text-decoration: underline;
+  text-decoration-thickness: max(1px, 0.0625rem);
+}
+
+.movies-tbl {
+  margin-top: 1rem;
+  font-size: 1rem;
+}
+
+.header {
+  color: hsl(0, 0%, 45%);
+  font-weight: 700;
+  font-size: 0.8125rem;
+  letter-spacing: 0.4px;
+  text-transform: uppercase;
+}
+
+.header:hover[aria-sort],
+.header[aria-sort='ascending'],
+.header[aria-sort='descending'] {
+  color: hsl(0, 0%, 5%);
+}
+
+.movie-info {
+  display: flex;
+  align-items: center;
+}
+
+.movie-info-text {
+  margin-left: 0.75rem;
+  font-weight: 600;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.movie-info-details {
+  margin-top: 0.125rem;
+  font-size: 0.875rem;
+  font-weight: 400;
+  color: hsl(0, 0%, 40%);
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.movie-poster {
+  width: 45px;
+  height: 68px;
+  box-shadow: 0 0 0 1px hsl(0, 0%, 95%);
+}
+
+.movie-runtime {
+  display: inline-block;
+}
+
+.movie-rating {
+  margin-right: 0.25rem;
+  padding: 0 0.25rem;
+  border: 1px solid hsl(0, 0%, 75%);
+  border-radius: 2px;
+}
+
+.user-score {
+  font-weight: 600;
+}
+
+.filters {
+  display: flex;
+  flex-wrap: wrap;
+  margin-top: 1rem;
+  margin-left: -32px;
+}
+
+.filter-input {
+  margin-top: 0.5rem;
+  margin-left: 32px;
+  flex: 1;
+  min-width: 250px;
+}
+
+.filter-input label {
+  color: hsl(0, 0%, 45%);
+  font-weight: 700;
+  font-size: 0.8125rem;
+  letter-spacing: 0.4px;
+  text-transform: uppercase;
+}
+
+.filter-input select,
+.filter-input input[type="search"] {
+  padding: 0 0.375rem;
+  height: 2rem;
+}
+
+.filter-input input[type="search"] {
+  /* Revert Bootstrap 5's Reboot styles, which change native search input styling */
+  -webkit-appearance: searchfield;
+  outline-offset: revert;
+  border-color: revert;
+}
"}var y=function(e,t){return function(n){var r=e.inserted,a=e.key,o=e.registered,i=new RegExp("<|"+a+"-([a-zA-Z0-9-_]+)","gm"),l={},u="",s="",c="";for(var f in r)if(r.hasOwnProperty(f)){var d=r[f];!0!==d&&void 0===o[a+"-"+f]&&(c+=d,s+=" "+f)}""!==c&&(u=g(a,s.substring(1),c,t));for(var p,h="",y="",m=0;null!==(p=i.exec(n));)if("<"!==p[0]){var b=p[1],v=r[b];!0===v||void 0===v||l[b]||(l[b]=!0,y+=v,h+=" "+b)}else""!==h&&(u+=g(a,h.substring(1),y,t),h="",y=""),u+=n.substring(m,p.index),m=p.index;return u+n.substring(m)}},m=function(e,t){return function(){var n={},r=c()(),a=u()((function(r){var a=r[0],o=r[1];if("open"===a){for(var i,l="",u={},s=o.toString(),c=new RegExp(e.key+"-([a-zA-Z0-9-_]+)","gm");null!==(i=c.exec(s));)null!==i&&void 0===n[i[1]]&&(u[i[1]]=!0);Object.keys(e.inserted).forEach((function(t){!0!==e.inserted[t]&&void 0===n[t]&&(!0===u[t]||void 0===e.registered[e.key+"-"+t]&&(u[t]=!0))&&(n[t]=!0,l+=e.inserted[t])})),""!==l&&this.queue('")}this.queue(o)}),(function(){this.queue(null)}));return d()(r,a)}},b=function(e,t){return function(e){var n="";return e.styles.forEach((function(e){n+=g(e.key,e.ids.join(" "),e.css,t)})),n}};__webpack_require__(3878).g,__webpack_require__(3878).i;var v=["style","className"];function w(e){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w(e)}function S(e){return function(e){if(Array.isArray(e))return k(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return k(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var N="Renderer Error ☝️",A={init:"init"},_=function(){return r.createElement(r.Fragment,null," ")},x={Cell:function(e){var t=e.value;return void 0===t?"":t},width:150,minWidth:0,maxWidth:Number.MAX_SAFE_INTEGER};function P(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:{};return function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[].concat(S(e),[n]).reduce((function(e,r){return O(e,r,E(E({},t),{},{userProps:n}))}),{})}},Z=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.reduce((function(e,t){return t(e,n)}),t)},T=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.forEach((function(e){e(t,n)}))};function D(e,t,n,r){e.findIndex((function(e){return e.pluginName===n})),t.forEach((function(t){e.findIndex((function(e){return e.pluginName===t}))}))}function I(e,t){return"function"==typeof e?e(t):e}function j(e){var t=r.useRef();return t.current=e,r.useCallback((function(){return t.current}),[])}var B="undefined"!=typeof document?r.useLayoutEffect:r.useEffect;function F(e,t){var n=r.useRef(!1);B((function(){n.current&&e(),n.current=!0}),t)}function z(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function(r){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o="string"==typeof r?t[r]:r;if(void 0===o)throw console.info(t),new Error(N);return U(o,E(E(E({},e),{},{column:t},n),a))}}function U(e,t){return function(e){return"function"==typeof e&&(t=Object.getPrototypeOf(e)).prototype&&t.prototype.isReactComponent;var t}(n=e)||"function"==typeof n||function(e){return"object"===w(e)&&"symbol"===w(e.$$typeof)&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}(n)?r.createElement(e,t):e;var n}function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function H(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:0;return e.map((function(e){return q(e=H(H({},e),{},{parent:t,depth:n})),e.columns&&(e.columns=K(e.columns,e,n+1)),e}))}function V(e){return t="columns",n=[],function e(r){r.forEach((function(r){r[t]?e(r[t]):n.push(r)}))}(e),n;var t,n}function q(e){var t=e.id,n=e.accessor,r=e.Header;if("string"==typeof n){t=t||n;var a=n.split(".");n=function(e){return function(e,t,n){if(!t)return e;var r,a="function"==typeof t?t:JSON.stringify(t),o=X.get(a)||function(){var e=function(e){return ie(e).map((function(e){return String(e).replace(".","_")})).join(".").replace(ae,".").replace(oe,"").split(".")}(t);return X.set(a,e),e}();try{r=o.reduce((function(e,t){return e[t]}),e)}catch(e){}return void 0!==r?r:void 0}(e,a)}}if(!t&&"string"==typeof r&&r&&(t=r),!t&&e.columns)throw console.error(e),new Error('A column ID (or unique "Header" value) is required!');if(!t)throw console.error(e),new Error("A column ID (or string accessor) is required!");return Object.assign(e,{id:t,accessor:n}),e}function $(e,t){if(!t)throw new Error;return Object.assign(e,H(H(H({Header:_,Footer:_},x),t),e)),Object.assign(e,{originalWidth:e.width}),e}function Y(e,t){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return{}},r=[],a=e,o=0,i=function(){return o++},l=function(){var e={headers:[]},o=[],l=a.some((function(e){return e.parent}));a.forEach((function(r){var a,u=[].concat(o).reverse()[0];l&&(a=r.parent?H(H({},r.parent),{},{originalId:r.parent.id,id:"".concat(r.parent.id,"_").concat(i()),headers:[r]},n(r)):$(H({originalId:"".concat(r.id,"_placeholder"),id:"".concat(r.id,"_placeholder_").concat(i()),placeholderOf:r,headers:[r]},n(r)),t),u&&u.originalId===a.originalId?u.headers.push(r):o.push(a)),e.headers.push(r)})),r.push(e),a=o};a.length;)l();return r.reverse()}var X=new Map;function Q(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1])||arguments[1];t.isExpanded=t.original&&t.original[n]||r[t.id],t.canExpand=t.subRows&&!!t.subRows.length,a&&i.push(t),t.subRows&&t.subRows.length&&t.isExpanded&&t.subRows.forEach((function(t){return e(t,o)}))};return e.forEach((function(e){return l(e)})),i}function te(e,t,n){return J(e)||t[e]||n[e]||n.text}function ne(e,t,n){return e?e(t,n):void 0===t}function re(){throw new Error("React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.")}var ae=/\[/g,oe=/\]/g;function ie(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(Array.isArray(e))for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,xe)),{},{initialState:n,defaultColumn:a,getSubRows:i,getRowId:u,stateReducer:c,useControlledState:d})}var We=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a1&&void 0!==arguments[1]?arguments[1]:0,n=0,r=0,a=0,o=0;return e.forEach((function(e){var i=e.headers;if(e.totalLeft=t,i&&i.length){var l=Pe(Ke(i,t),4),u=l[0],s=l[1],c=l[2],f=l[3];e.totalMinWidth=u,e.totalWidth=s,e.totalMaxWidth=c,e.totalFlexWidth=f}else e.totalMinWidth=e.minWidth,e.totalWidth=Math.min(Math.max(e.minWidth,e.width),e.maxWidth),e.totalMaxWidth=e.maxWidth,e.totalFlexWidth=e.canResize?e.totalWidth:0;e.isVisible&&(t+=e.totalWidth,n+=e.totalMinWidth,r+=e.totalWidth,a+=e.totalMaxWidth,o+=e.totalFlexWidth)})),[n,r,a,o]}function Ve(e){var t=e.data,n=e.rows,r=e.flatRows,a=e.rowsById,o=e.column,i=e.getRowId,l=e.getSubRows,u=e.accessValueHooks,s=e.getInstance,c=function e(n,c){var f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,d=arguments.length>3?arguments[3]:void 0,p=arguments.length>4?arguments[4]:void 0,h=n,g=i(n,c,d),y=a[g];if(y)y.subRows&&y.originalSubRows.forEach((function(t,n){return e(t,n,f+1,y)}));else if((y={id:g,original:h,index:c,depth:f,cells:[{}]}).cells.map=re,y.cells.filter=re,y.cells.forEach=re,y.cells[0].getCellProps=re,y.values={},p.push(y),r.push(y),a[g]=y,y.originalSubRows=l(n,c),y.originalSubRows){var m=[];y.originalSubRows.forEach((function(t,n){return e(t,n,f+1,y,m)})),y.subRows=m}o.accessor&&(y.values[o.id]=o.accessor(n,c,y,p,t)),y.values[o.id]=Z(u,y.values[o.id],{row:y,column:o,instance:s()},!0)};t.forEach((function(e,t){return c(e,t,0,void 0,n)}))}function qe(e){return qe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},qe(e)}function $e(e){var t=function(e,t){if("object"!==qe(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!==qe(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"===qe(t)?t:String(t)}function Ye(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xe(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(d,[u].map($e)));return Xe(Xe({},e),{},{expanded:p})}return e}}function rt(e){var t=e.data,n=e.rows,a=e.rowsById,o=e.manualExpandedKey,i=void 0===o?"expanded":o,l=e.paginateExpandedRows,u=void 0===l||l,s=e.expandSubRows,c=void 0===s||s,f=e.autoResetExpanded,d=void 0===f||f,p=e.getHooks,h=e.plugins,g=e.state.expanded,y=e.dispatch;D(h,["useSortBy","useGroupBy","usePivotColumns","useGlobalFilter"],"useExpanded");var m=j(d),b=Boolean(Object.keys(a).length&&Object.keys(g).length);b&&Object.keys(a).some((function(e){return!g[e]}))&&(b=!1),F((function(){m()&&y({type:A.resetExpanded})}),[y,t]);var v=r.useCallback((function(e,t){y({type:A.toggleRowExpanded,id:e,value:t})}),[y]),w=r.useCallback((function(e){return y({type:A.toggleAllRowsExpanded,value:e})}),[y]),S=r.useMemo((function(){return u?ee(n,{manualExpandedKey:i,expanded:g,expandSubRows:c}):n}),[u,n,i,g,c]),k=r.useMemo((function(){return function(e){var t=0;return Object.keys(e).forEach((function(e){var n=e.split(".");t=Math.max(t,n.length)})),t}(g)}),[g]),L=j(e),E=M(p().getToggleAllRowsExpandedProps,{instance:L()});Object.assign(e,{preExpandedRows:n,expandedRows:S,rows:S,expandedDepth:k,isAllRowsExpanded:b,toggleRowExpanded:v,toggleAllRowsExpanded:w,getToggleAllRowsExpandedProps:E})}function at(e,t){var n=t.instance.getHooks,r=t.instance;e.toggleRowExpanded=function(t){return r.toggleRowExpanded(e.id,t)},e.getToggleRowExpandedProps=M(n().getToggleRowExpandedProps,{instance:r,row:e})}function ot(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n(o="number"==typeof o?o:1/0)){var i=a;a=o,o=i}return e.filter((function(e){return t.some((function(t){var n=e.values[t];return n>=a&&n<=o}))}))};function yt(e,t){if(e){if("string"==typeof e)return mt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?mt(e,t):void 0}}function mt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:0,i=a;return i=p.reduce((function(t,n){var r=n.id,a=n.value,i=l.find((function(e){return e.id===r}));if(!i)return t;0===o&&(i.preFilteredRows=t);var s=te(i.filter,u||{},e);return s?(i.filteredRows=s(t,[r],a),i.filteredRows):(console.warn("Could not find a valid 'column.filter' for column with the ID: ".concat(i.id,".")),t)}),a),i.forEach((function(e){t.push(e),n[e.id]=e,e.subRows&&(e.subRows=e.subRows&&e.subRows.length>0?r(e.subRows,o+1):e.subRows)})),i}(a),t,n]}),[s,p,a,o,i,l,u]),w=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(e){l=!0,a=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw a}}return o}}(e,t)||yt(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(v,3),S=w[0],k=w[1],L=w[2];r.useMemo((function(){var e=l.filter((function(e){return!p.find((function(t){return t.id===e.id}))}));e.forEach((function(e){e.preFilteredRows=S,e.filteredRows=S}))}),[S,p,l]);var E=j(y);F((function(){E()&&h({type:A.resetFilters})}),[h,s?null:n]),Object.assign(t,{preFilteredRows:a,preFilteredFlatRows:o,preFilteredRowsById:i,filteredRows:S,filteredFlatRows:k,filteredRowsById:L,rows:S,flatRows:k,rowsById:L,setFilter:m,setAllFilters:b})}St.pluginName="useFilters";var Et=["globalFilter"];function Ct(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(t,Et)):Nt(Nt({},t),{},{globalFilter:u})}}function Pt(t){var n=t.data,a=t.rows,o=t.flatRows,i=t.rowsById,l=t.allColumns,u=t.filterTypes,s=t.globalFilter,c=t.manualGlobalFilter,f=t.state.globalFilter,d=t.dispatch,p=t.autoResetGlobalFilter,h=void 0===p||p,g=t.disableGlobalFilter,y=r.useCallback((function(e){d({type:A.setGlobalFilter,filterValue:e})}),[d]),m=r.useMemo((function(){if(c||void 0===f)return[a,o,i];var t=[],n={},r=te(s,u||{},e);if(!r)return console.warn("Could not find a valid 'globalFilter' option."),a;l.forEach((function(e){var t=e.disableGlobalFilter;e.canFilter=Q(!0!==t&&void 0,!0!==g&&void 0,!0)}));var d=l.filter((function(e){return!0===e.canFilter}));return[function e(a){return(a=r(a,d.map((function(e){return e.id})),f)).forEach((function(r){t.push(r),n[r.id]=r,r.subRows=r.subRows&&r.subRows.length?e(r.subRows):r.subRows})),a}(a),t,n]}),[c,f,s,u,l,a,o,i,g]),b=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(e){l=!0,a=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw a}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ct(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ct(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(m,3),v=b[0],w=b[1],S=b[2],k=j(h);F((function(){k()&&d({type:A.resetGlobalFilter})}),[d,c?null:n]),Object.assign(t,{preGlobalFilteredRows:a,preGlobalFilteredFlatRows:o,preGlobalFilteredRowsById:i,globalFilteredRows:v,globalFilteredFlatRows:w,globalFilteredRowsById:S,rows:v,flatRows:w,rowsById:S,setGlobalFilter:y,disableGlobalFilter:g})}function Ot(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nl)return 1;if(l>i)return-1}else{if(isNaN(c[1]))return isNaN(u)?-1:1;if(u>s)return 1;if(s>u)return-1}}return a.length-o.length};function Kt(e,t,n){var r=Ut(Xt(e,t,n),2),a=r[0],o=r[1];return Yt(a=a.getTime(),o=o.getTime())}function Vt(e,t,n){var r=Ut(Xt(e,t,n),2);return Yt(r[0],r[1])}function qt(e,t,n){var r=Ut(Xt(e,t,n),2),a=r[0],o=r[1];for(a=a.split("").filter(Boolean),o=o.split("").filter(Boolean);a.length&&o.length;){var i=a.shift(),l=o.shift(),u=i.toLowerCase(),s=l.toLowerCase();if(u>s)return 1;if(s>u)return-1;if(i>l)return 1;if(l>i)return-1}return a.length-o.length}function $t(e,t,n){var r=Ut(Xt(e,t,n),2),a=r[0],o=r[1],i=/[^0-9.]/gi;return Yt(a=Number(String(a).replace(i,"")),o=Number(String(o).replace(i,"")))}function Yt(e,t){return e===t?0:e>t?1:-1}function Xt(e,t,n){return[e.values[n],t.values[n]]}function Qt(e){return"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?"":String(e):"string"==typeof e?e:""}function Jt(e){return function(e){if(Array.isArray(e))return tn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||en(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function en(e,t){if(e){if("string"==typeof e)return tn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?tn(e,t):void 0}}function tn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}(t.children);try{for(o.s();!(n=o.n()).done;){var i=n.value;a.push(dn(e,i))}}catch(e){o.e(e)}finally{o.f()}return r.createElement.apply(r,a)}A.resetPage="resetPage",A.gotoPage="gotoPage",A.setPageSize="setPageSize",A.resetPivot="resetPivot",A.togglePivot="togglePivot",A.resetSelectedRows="resetSelectedRows",A.toggleAllRowsSelected="toggleAllRowsSelected",A.toggleRowSelected="toggleRowSelected",A.toggleAllPageRowsSelected="toggleAllPageRowsSelected",A.setRowState="setRowState",A.setCellState="setCellState",A.resetRowState="resetRowState",A.resetColumnOrder="resetColumnOrder",A.setColumnOrder="setColumnOrder",x.canResize=!0,A.columnStartResizing="columnStartResizing",A.columnResizing="columnResizing",A.columnDoneResizing="columnDoneResizing",A.resetResize="resetResize",A.columnStartResizing="columnStartResizing",A.columnResizing="columnResizing",A.columnDoneResizing="columnDoneResizing",A.resetResize="resetResize",__webpack_require__(3935);var pn=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t0?wn(xn,--An):0,Rn--,10===_n&&(Rn=1,Cn--),_n}function Zn(){return _n=An2||jn(_n)>3?"":" "}function Gn(e,t){for(;--t&&Zn()&&!(_n<48||_n>102||_n>57&&_n<65||_n>70&&_n<97););return In(e,Dn()+(t<6&&32==Tn()&&32==Zn()))}function Hn(e){for(;Zn();)switch(_n){case e:return An;case 34:case 39:34!==e&&39!==e&&Hn(_n);break;case 40:41===e&&Hn(e);break;case 92:Zn()}return An}function Wn(e,t){for(;Zn()&&e+_n!==57&&(e+_n!==84||47!==Tn()););return"/*"+In(t,An-1)+"*"+gn(47===e?e:Zn())}function Kn(e){for(;!jn(Tn());)Zn();return In(e,An)}var Vn="-ms-",qn="-moz-",$n="-webkit-",Yn="comm",Xn="rule",Qn="decl",Jn="@keyframes";function er(e,t){for(var n="",r=Ln(e),a=0;a6)switch(wn(e,t+1)){case 109:if(45!==wn(e,t+4))break;case 102:return bn(e,/(.+:)(.+)-([^]+)/,"$1-webkit-$2-$3$1"+qn+(108==wn(e,t+3)?"$3":"$2-$3"))+e;case 115:return~vn(e,"stretch")?nr(bn(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==wn(e,t+1))break;case 6444:switch(wn(e,kn(e)-3-(~vn(e,"!important")&&10))){case 107:return bn(e,":",":"+$n)+e;case 101:return bn(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+$n+(45===wn(e,14)?"inline-":"")+"box$3$1"+$n+"$2$3$1"+Vn+"$2box$3")+e}break;case 5936:switch(wn(e,t+11)){case 114:return $n+e+Vn+bn(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return $n+e+Vn+bn(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return $n+e+Vn+bn(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return $n+e+Vn+e+e}return e}function rr(e){var t=Ln(e);return function(n,r,a,o){for(var i="",l=0;l0&&kn(L)-f&&En(p>32?ur(L+";",r,n,f-1):ur(bn(L," ","")+";",r,n,f-2),u);break;case 59:L+=";";default:if(En(k=ir(L,t,n,s,c,a,l,v,w=[],S=[],f),o),123===b)if(0===c)or(L,t,k,k,w,o,f,l,S);else switch(d){case 100:case 109:case 115:or(e,k,k,r&&En(ir(e,k,k,0,0,a,l,v,a,w=[],f),S),a,S,f,l,r?w:S);break;default:or(L,k,k,k,[""],S,0,l,S)}}s=c=p=0,g=m=1,v=L="",f=i;break;case 58:f=1+kn(L),p=h;default:if(g<1)if(123==b)--g;else if(125==b&&0==g++&&125==Mn())continue;switch(L+=gn(b),b*g){case 38:m=c>0?1:(L+="\f",-1);break;case 44:l[s++]=(kn(L)-1)*m,m=1;break;case 64:45===Tn()&&(L+=zn(Zn())),d=Tn(),c=f=kn(v=L+=Kn(Dn())),b++;break;case 45:45===h&&2==kn(L)&&(g=0)}}return o}function ir(e,t,n,r,a,o,i,l,u,s,c){for(var f=a-1,d=0===a?o:[""],p=Ln(d),h=0,g=0,y=0;h0?d[m]+" "+b:bn(b,/&\f/g,d[m])))&&(u[y++]=v);return Pn(e,t,n,0===a?Xn:l,u,s,c)}function lr(e,t,n){return Pn(e,t,n,Yn,gn(_n),Sn(e,2,-2),0)}function ur(e,t,n,r){return Pn(e,t,n,Qn,Sn(e,0,r),Sn(e,r+1,-1),r)}var sr,cr,fr=function(e,t,n){for(var r=0,a=0;r=a,a=Tn(),38===r&&12===a&&(t[n]=1),!jn(a);)Zn();return In(e,An)},dr=new WeakMap,pr=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||dr.get(n))&&!r){dr.set(e,!0);for(var a=[],o=function(e,t){return Fn(function(e,t){var n=-1,r=44;do{switch(jn(r)){case 0:38===r&&12===Tn()&&(t[n]=1),e[n]+=fr(An-1,t,n);break;case 2:e[n]+=zn(r);break;case 4:if(44===r){e[++n]=58===Tn()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=gn(r)}}while(r=Zn());return e}(Bn(e),t))}(t,a),i=n.props,l=0,u=0;l-1&&!e.return)switch(e.type){case Qn:e.return=nr(e.value,e.length);break;case Jn:return er([On(e,{value:bn(e.value,"@","@"+$n)})],r);case Xn:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return er([On(e,{props:[bn(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return er([On(e,{props:[bn(t,/:(plac\w+)/,":-webkit-input-$1")]}),On(e,{props:[bn(t,/:(plac\w+)/,":-moz-$1")]}),On(e,{props:[bn(t,/:(plac\w+)/,Vn+"input-$1")]})],r)}return""}))}}];const br=function(e){var t=e.key;if(gr&&"css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var r,a,o=e.stylisPlugins||mr,i={},l=[];gr&&(r=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n=4;++r,a-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(a){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},wr={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Sr=function(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}};var kr=/[A-Z]|^ms/g,Lr=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Er=function(e){return 45===e.charCodeAt(1)},Cr=function(e){return null!=e&&"boolean"!=typeof e},Rr=Sr((function(e){return Er(e)?e:e.replace(kr,"-$&").toLowerCase()})),Nr=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(Lr,(function(e,t,n){return _r={name:t,styles:n,next:_r},t}))}return 1===wr[e]||Er(e)||"number"!=typeof t||0===t?t:t+"px"};function Ar(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return _r={name:n.name,styles:n.styles,next:_r},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)_r={name:r.name,styles:r.styles,next:_r},r=r.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var a=0;a=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function Ur(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Gr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Hr(e){return Hr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hr(e)}function Wr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(e){l=!0,a=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw a}}return o}}(e,t)||Kr(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Kr(e,t){if(e){if("string"==typeof e)return Vr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Vr(e,t):void 0}}function Vr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=t.columnIds,r=t.headers,a=void 0===r||r,o=t.sep,i=void 0===o?",":o,l=t.dec,u=void 0===l?".":l,s=function(e){return e.map((function(e){return null==e&&(e=""),e instanceof Date?e=e.toISOString():"string"!=typeof e&&"number"!=typeof e?e=JSON.stringify(e):"."!==u&&"number"==typeof e&&(e=e.toString().replace(".",u)),"string"==typeof e&&(e.includes('"')||e.includes(i))&&(e='"'.concat(e.replace(/"/g,'""'),'"')),e})).join(i)},c=[];n||(n=e.length>0?Object.keys(e[0]):[]),a&&c.push(s(n));var f,d=zr(e);try{var p=function(){var e=f.value,t=n.map((function(t){return e[t]}));c.push(s(t))};for(d.s();!(f=d.n()).done;)p()}catch(e){d.e(e)}finally{d.f()}return c.join("\n")+"\n"}function ta(e,t){var n=new Blob([e],{type:"text/csv;charset=utf-8"});if(window.navigator.msSaveBlob)window.navigator.msSaveBlob(n,t);else{var r=document.createElement("a"),a=window.URL.createObjectURL(n);r.href=a,r.download=t,r.click(),window.URL.revokeObjectURL(a)}}function na(){return"undefined"!=typeof document}function ra(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}(document.querySelectorAll("link"));try{for(r.s();!(n=r.n()).done;){var a=n.value,o=a.href.substring(a.href.lastIndexOf("/")+1);if("stylesheet"===a.rel&&"reactable.css"===o){e=a.parentElement,t=a;break}}}catch(e){r.e(e)}finally{r.f()}}return jr=function(e){var t=br(e);t.sheet.speedy=function(e){this.isSpeedy=e},t.compat=!0;var n=function(){for(var e=arguments.length,n=new Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:{};if(!e||!t)return e;var n=Object.keys(t),r="("+n.map((function(e){return"{".concat(e,"}")})).join("|")+")",a=e.split(new RegExp(r)),o=n.reduce((function(e,n){return e["{".concat(n,"}")]=t[n],e}),{}),i=a.map((function(e){return null!=o[e]?o[e]:e}));return i.some((function(e){return"object"===ca(e)}))?i:i.join("")}function pa(e){return pa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pa(e)}var ha=["isCurrent","className"];function ga(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,ha);return n=qr(n,"rt-page-button",t?" rt-page-button-current":null),r.createElement("button",Sa({type:"button",className:n},a),a.children)},La=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ya(e,t)}(u,e);var t,n,a,o,i,l=(o=u,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=va(o);if(i){var n=va(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return ma(this,e)});function u(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),(t=l.call(this,e)).changePage=t.changePage.bind(ba(t)),t.applyPage=t.applyPage.bind(ba(t)),t.state={pageJumpValue:e.page+1,prevPage:e.page},t}return t=u,n=[{key:"changePage",value:function(e){e!==this.props.page+1&&this.props.onPageChange(e-1)}},{key:"applyPage",value:function(e){e&&e.preventDefault();var t=this.state.pageJumpValue;if(""!==t)this.changePage(t);else{var n=this.props.page+1;this.setState({pageJumpValue:n})}}},{key:"renderPageInfo",value:function(e){var t=e.page,n=e.pageSize,a=e.pageRowCount,o=e.rowCount,i=e.language,l=Math.min(t*n+1,o),u=Math.max(Math.min(t*n+n,o),a),s=da(i.pageInfo,{rowStart:l,rowEnd:u,rows:o});return r.createElement("div",{className:"rt-page-info","aria-live":"polite"},s)}},{key:"renderPageSizeOptions",value:function(e){var t=e.pageSize,n=e.pageSizeOptions,a=e.onPageSizeChange,o=e.language,i=r.createElement("select",{key:"page-size-select",className:"rt-page-size-select","aria-label":o.pageSizeOptionsLabel,onChange:function(e){return a(Number(e.target.value))},value:t},n.map((function(e,t){return r.createElement("option",{key:t,value:e},e)}))),l=da(o.pageSizeOptions,{rows:i});return r.createElement("div",{className:"rt-page-size"},l)}},{key:"renderPageJump",value:function(e){var t=e.onChange,n=e.value,a=e.onBlur,o=e.onKeyPress,i=e.inputType,l=e.language;return r.createElement("input",{key:"page-jump",className:"rt-page-jump","aria-label":l.pageJumpLabel,type:i,onChange:t,value:n,onBlur:a,onKeyPress:o})}},{key:"getPageJumpProperties",value:function(){var e=this;return{onKeyPress:function(t){13!==t.which&&13!==t.keyCode||e.applyPage()},onBlur:this.applyPage,value:this.state.pageJumpValue,onChange:function(t){var n=t.target.value;if(""!==n){var r=Number(n);if(!Number.isNaN(r)){var a=Math.min(Math.max(r,1),Math.max(e.props.pages,1));e.setState({pageJumpValue:a})}}else e.setState({pageJumpValue:n})},inputType:"number",language:this.props.language}}},{key:"render",value:function(){var e,t=this,n=this.props,a=n.paginationType,o=n.showPageSizeOptions,i=n.showPageInfo,l=n.page,u=n.pages,s=n.canPrevious,c=n.canNext,f=n.theme,d=n.language,p=i?this.renderPageInfo(this.props):null,h=o?this.renderPageSizeOptions(this.props):null,g=l+1,y=function(e,t){return t<=6?(n=Array(t),function(e){if(Array.isArray(e))return wa(e)}(n)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||function(e,t){if(e){if("string"==typeof e)return wa(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wa(e,t):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map((function(e,t){return t+1})):e<=4?[1,2,3,4,5,t]:t-e<3?[1,t-3,t-2,t-1,t]:[1,e-1,e,e+1,t];var n}(g,u);if("numbers"===a){var m=[];y.forEach((function(e,n){var a=g===e,o=r.createElement(ka,{key:e,isCurrent:a,onClick:t.changePage.bind(null,e),"aria-label":da(d.pageNumberLabel,{page:e})+(a?" ":""),"aria-current":a?"page":null},e);e-y[n-1]>1&&m.push(r.createElement("span",{className:"rt-page-ellipsis",key:"ellipsis-".concat(e),role:"separator"},"...")),m.push(o)})),e=m}else{var b="jump"===a?this.renderPageJump(this.getPageJumpProperties()):g,v=Math.max(u,1);e=r.createElement("div",{className:"rt-page-numbers"},da(d.pageNumbers,{page:b,pages:v}))}var w=r.createElement(ka,{className:"rt-prev-button",onClick:function(){s&&t.changePage(g-1)},disabled:!s,"aria-disabled":s?null:"true","aria-label":d.pagePreviousLabel},d.pagePrevious),S=r.createElement(ka,{className:"rt-next-button",onClick:function(){c&&t.changePage(g+1)},disabled:!c,"aria-disabled":c?null:"true","aria-label":d.pageNextLabel},d.pageNext);return r.createElement("div",{className:qr("rt-pagination",sa(f.paginationStyle))},r.createElement("div",{className:"rt-pagination-info"},p,h),r.createElement("div",{className:"rt-pagination-nav"},w,e,S))}}],a=[{key:"getDerivedStateFromProps",value:function(e,t){return e.page!==t.prevPage?{pageJumpValue:e.page+1,prevPage:e.page}:null}}],n&&ga(t.prototype,n),a&&ga(t,a),Object.defineProperty(t,"prototype",{writable:!1}),u}(r.Component);La.defaultProps={paginationType:"numbers",pageSizeOptions:[10,25,50,100],showPageInfo:!0,language:fa};var Ea=__webpack_require__(3878).i;function Ca(e){return Ca="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ca(e)}function Ra(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Na(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function za(e,t){if(e){if("string"==typeof e)return Ua(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ua(e,t):void 0}}function Ua(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:0;if(n.forEach((function(e){e.depth=r})),r!==e.length){var a=e[r],o=e.slice(0,r+1),l=i.filter((function(e){return!o.includes(e.id)})).map((function(e){return e.id}));n.forEach((function(e){e.isGrouped&&(e.groupByID=a,e.aggregatedColumns=l,t(e.subRows,r+1))}))}}(t),[n,t,o,no,ro,t,o]}var r=h.filter((function(e){return i.find((function(t){return t.id===e}))})),l=function(e,t,n,r){var a={};return i.forEach((function(o){if(r.includes(o.id)){var i="function"==typeof o.aggregate?o.aggregate:d[o.aggregate]||to[o.aggregate];if(i){var l=e.map((function(e){var t=e.values[o.id];if(!n&&o.aggregateValue){var r="function"==typeof o.aggregateValue?o.aggregateValue:d[o.aggregateValue]||to[o.aggregateValue];if(!r)throw console.info({column:o}),new Error("React Table: Invalid column.aggregateValue option for column listed above");t=r(t,e,o)}return t}));a[o.id]=i(l,e.map((function(e){return e.values})),t.map((function(e){return e.values})))}else{if(o.aggregate)throw console.info({column:o}),new Error("React Table: Invalid column.aggregate option for column listed above");a[o.id]=null}}else a[o.id]=t[0]?t[0].values[o.id]:null})),a},u=[],f={},p=[],g={},y=[],m={},b=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2?arguments[2]:void 0;if(n===r.length)return t.forEach((function(e){e.depth=n})),t;var o=r[n],c=s(t,o),d=Object.entries(c).map((function(t,s){var c=qa(t,2),d=c[0],h=c[1],b="".concat(o,":").concat(d);b=a?"".concat(a,">").concat(b):b;var v=e(h,n+1,b),w=n?po(h,"leafRows"):h,S=r.slice(0,n+1),k=i.filter((function(e){return!S.includes(e.id)})).map((function(e){return e.id})),L=l(w,v,n,k),E={id:b,isGrouped:!0,groupByID:o,groupByVal:d,values:L,subRows:v,leafRows:w,depth:n,index:void 0,groupIndex:s,aggregatedColumns:k};return v.forEach((function(e){u.push(e),f[e.id]=e,e.isGrouped?(p.push(e),g[e.id]=e):(y.push(e),m[e.id]=e)})),E}));return d}(n);return b.forEach((function(e){u.push(e),f[e.id]=e,e.isGrouped?(p.push(e),g[e.id]=e):(y.push(e),m[e.id]=e)})),[b,u,f,p,g,y,m]}),[c,h,n,a,o,i,d,s]),C=qa(E,7),R=C[0],N=C[1],_=C[2],x=C[3],P=C[4],O=C[5],Z=C[6],T=j(m);F((function(){T()&&g({type:A.resetGroupBy})}),[g,c?null:t]),Object.assign(e,{preGroupedRows:n,preGroupedFlatRow:a,preGroupedRowsById:o,groupedRows:R,groupedFlatRows:N,groupedRowsById:_,onlyGroupedFlatRows:x,onlyGroupedRowsById:P,nonGroupedFlatRows:O,nonGroupedRowsById:Z,rows:R,flatRows:N,rowsById:_,toggleGroupBy:k,setGroupBy:L})}function co(e){e.allCells.forEach((function(t){var n,r;t.isGrouped=t.column.isGrouped&&t.column.id===e.groupByID,t.isAggregated=!t.isGrouped&&(null===(n=e.aggregatedColumns)||void 0===n?void 0:n.includes(t.column.id))&&(null===(r=e.subRows)||void 0===r?void 0:r.length),t.isPlaceholder=!t.isGrouped&&t.column.isGrouped&&!t.isAggregated}))}function fo(e,t){return e.reduce((function(e,n){var r="".concat(n.values[t]);return e[r]=Array.isArray(e[r])?e[r]:[],e[r].push(n),e}),{})}function po(e,t){var n=[];return function e(r){r.forEach((function(r){r[t]?e(r[t]):n.push(r)}))}(e),n}function ho(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function go(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n1)return;n=!0}var r,o,i=function(e){var t=[];return function e(n){n.columns&&n.columns.length&&n.columns.forEach(e),t.push(n)}(e),t}(t),l=i.map((function(e){return[e.id,e.getDOMWidth()]})),u=l.find((function(e){return mo(e,1)[0]===t.id}))[1],s=n?Math.round(e.touches[0].clientX):e.clientX,c=function(){window.cancelAnimationFrame(r),r=null,a({type:A.columnResizing,clientX:o})},f=function(){window.cancelAnimationFrame(r),r=null,a({type:A.columnDoneResizing})},d=function(e){o=e,r||(r=window.requestAnimationFrame(c))},p={mouse:{moveEvent:"mousemove",moveHandler:function(e){return d(e.clientX)},upEvent:"mouseup",upHandler:function(){document.removeEventListener("mousemove",p.mouse.moveHandler),document.removeEventListener("mouseup",p.mouse.upHandler),f()}},touch:{moveEvent:"touchmove",moveHandler:function(e){return e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1},upEvent:"touchend",upHandler:function(){document.removeEventListener(p.touch.moveEvent,p.touch.moveHandler),document.removeEventListener(p.touch.upEvent,p.touch.upHandler),f()}}},h=n?p.touch:p.mouse,g=!!function(){if("boolean"==typeof vo)return vo;var e=!1;try{var t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(t){e=!1}return vo=e}()&&{passive:!1};document.addEventListener(h.moveEvent,h.moveHandler,g),document.addEventListener(h.upEvent,h.upHandler,g),a({type:A.columnStartResizing,columnId:t.id,columnWidth:u,headerIdWidths:l,clientX:s})};return[e,{onMouseDown:function(e){return e.persist()||o(e,r)},onTouchStart:function(e){return e.persist()||o(e,r)},style:{cursor:"col-resize"},draggable:!1,role:"separator"}]};function ko(e,t){if(t.type===A.init)return go({columnResizing:{columnWidths:{}}},e);if(t.type===A.resetResize)return go(go({},e),{},{columnResizing:{columnWidths:{}}});if(t.type===A.columnStartResizing){var n=t.clientX,r=t.columnId,a=t.columnWidth,o=t.headerIdWidths;return go(go({},e),{},{columnResizing:go(go({},e.columnResizing),{},{startX:n,headerIdWidths:o,columnWidth:a,isResizingColumn:r})})}if(t.type===A.columnResizing){var i=t.clientX,l=e.columnResizing,u=l.startX,s=l.columnWidth,c=l.headerIdWidths,f=(i-u)/s,d={};return(void 0===c?[]:c).forEach((function(e){var t=mo(e,2),n=t[0],r=t[1];d[n]=Math.max(r+r*f,0)})),go(go({},e),{},{columnResizing:go(go({},e.columnResizing),{},{columnWidths:go(go({},e.columnResizing.columnWidths),d)})})}return t.type===A.columnDoneResizing?go(go({},e),{},{columnResizing:go(go({},e.columnResizing),{},{startX:null,isResizingColumn:null})}):void 0}wo.pluginName="useResizeColumns";var Lo=function(e){var t=e.flatHeaders,n=e.disableResizing,r=e.getHooks,a=e.state.columnResizing,o=j(e);t.forEach((function(e){var t=$r(!0!==e.disableResizing&&void 0,!0!==n&&void 0,!0);e.canResize=t,e.width=$r(a.columnWidths[e.id],e.originalWidth,e.width),e.isResizing=a.isResizingColumn===e.id,t&&(e.getResizerProps=M(r().getResizerProps,{instance:o(),header:e}))}))};function Eo(e){var t=e.plugins,n=e.dispatch,a=e.autoResetResize,o=void 0===a||a,i=e.columns;D(t,["useAbsoluteLayout"],"useResizeColumns");var l=j(o);F((function(){l()&&n({type:A.resetResize})}),[i]);var u=r.useCallback((function(){return n({type:A.resetResize})}),[n]);Object.assign(e,{resetResizing:u})}function Co(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ro(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.pageIndex?l=-1===a?o.length>=e.pageSize:i-1),l?Bo(Bo({},e),{},{pageIndex:i}):e}if(t.type===A.setPageSize){var u=t.pageSize,s=e.pageSize*e.pageIndex,c=Math.floor(s/u);return Bo(Bo({},e),{},{pageIndex:c,pageSize:u})}}function Go(e){var t=e.rows,n=e.autoResetPage,a=void 0===n||n,o=e.manualExpandedKey,i=void 0===o?"expanded":o,l=e.plugins,u=e.pageCount,s=e.paginateExpandedRows,c=void 0===s||s,f=e.expandSubRows,d=void 0===f||f,p=e.disablePagination,h=e.state,g=h.pageIndex,y=h.expanded,m=h.globalFilter,b=h.filters,v=h.groupBy,w=h.sortBy,S=e.dispatch,k=e.data,L=e.manualPagination,E=e.rowCount;D(l,["useGlobalFilter","useFilters","useGroupBy","useSortBy","useExpanded"],"usePagination");var C=j(a);F((function(){C()&&S({type:A.resetPage})}),[S,L?null:k,m,b,v,w]);var R,N=p?t.length:e.state.pageSize;R=L?null!=E&&E>=0?Math.ceil(E/N):u:Math.ceil(t.length/N);var _=r.useMemo((function(){return R>0?(e=new Array(R),function(e){if(Array.isArray(e))return Io(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Do(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).fill(null).map((function(e,t){return t})):[];var e}),[R]),x=r.useMemo((function(){var e;if(L)e=t;else{var n=N*g,r=n+N;e=t.slice(n,r)}var a=e.length;return c?[e,a]:[Ho(e,{manualExpandedKey:i,expanded:y,expandSubRows:d}),a]}),[d,y,i,L,g,N,c,t]),P=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(e){l=!0,a=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw a}}return o}}(e,t)||Do(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(x,2),O=P[0],M=P[1],Z=g>0,T=-1===R?O.length>=N:g1&&void 0!==arguments[1])||arguments[1];t.isExpanded=t.original&&t.original[n]||r[t.id],t.canExpand=t.subRows&&!!t.subRows.length,a&&i.push(t),t.subRows&&t.subRows.length&&t.isExpanded&&t.subRows.forEach((function(t){return e(t,o)}))};return e.forEach((function(e){return l(e)})),i}function Wo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ko(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nt)&&(t=e)})),t},min:function(e){var t;return e.forEach((function(e){(null==t||e1?" (".concat(t[e],")"):"")})).join(", ")}};function ni(e,t){return"numeric"===t&&ei[e]?ei[e]:ti[e]}function ri(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;if(!Number.isFinite(e))return e;t=t>0?t:0;var n=Math.pow(10,t);return Math.sign(e)*Math.round(Math.abs(e)*n)/n}function ai(e){return e.filter((function(e){return null!=e&&!Number.isNaN(e)}))}var oi=["html","className"];function ii(){return ii=Object.assign?Object.assign.bind():function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function fi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(i[pi]=vi(e.subRows)),i}))}function wi(e){var t=e.html,n=e.className,a=function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,oi);return r.createElement("div",ii({className:qr("rt-text-content",n),dangerouslySetInnerHTML:{__html:t}},a))}function Si(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=n.sortable,o=n.defaultSortDesc,i=n.showSortIcon,l=n.showSortable,u=n.filterable,s=n.resizable;return e=e.map((function(e){var t=ui({},e);t.accessor=function(e){return e[t.id]},"string"==typeof t.aggregate&&(t.aggregate=ni(t.aggregate,t.type));var n=Li({type:t.type,naLast:t.sortNALast});t.sortType=function(e,t,r,a){return n(e.values[r],t.values[r],a)},t.sortable=$r(t.sortable,a),t.disableSortBy=!t.sortable,t.defaultSortDesc=$r(t.defaultSortDesc,o),t.sortDescFirst=t.defaultSortDesc,t.filterable=$r(t.filterable,u),t.disableFilters=!t.filterable,!1===t.searchable&&(t.disableGlobalFilter=!0),!1===t.show&&!0!==t.searchable&&(t.disableGlobalFilter=!0),"numeric"===t.type?t.createMatcher=Ci:t.createMatcher=Ri,t.filter=function(e,n,r){var a=n[0];if("function"==typeof t.filterMethod)return t.filterMethod(e,a,r);var o=t.createMatcher(r);return e.filter((function(e){var t=e.values[a];return o(t)}))},"numeric"===t.type?t.align=t.align||"right":t.align=t.align||"left",t.vAlign=t.vAlign||"top",t.headerVAlign=t.headerVAlign||"top";var c=t.width,f=t.minWidth,d=t.maxWidth;t.minWidth=$r(c,f,100),t.maxWidth=$r(c,d,Number.MAX_SAFE_INTEGER),t.minWidth=Math.min(t.minWidth,t.maxWidth),t.width=t.minWidth,t.resizable=$r(t.resizable,s),t.minWidth===t.maxWidth&&(t.resizable=!1),t.disableResizing=!t.resizable,t.Cell=function(e,n){var a=e.value,o=null==a||Number.isNaN(a);return o&&(a=t.na),!o&&t.format&&t.format.cell&&(a=Ei(a,t.format.cell)),t.cell&&("function"==typeof t.cell&&(a=t.cell(ui(ui({},e),{},{value:a}),n)),Array.isArray(t.cell)&&!e.aggregated&&(a=t.cell[e.index])&&(a=dn({Fragment:r.Fragment,WidgetContainer:Pa},a))),null!=a&&""!==a||(a=di),r.isValidElement(a)?a:t.html?r.createElement(wi,{style:{display:"inline"},html:a}):String(a)},t.grouped?t.Grouped=function(e,n){var a=e.value,o=null==a||Number.isNaN(a);return o&&(a=t.na),!o&&t.format&&t.format.cell&&(a=Ei(a,t.format.cell)),null!=(a=t.grouped(ui(ui({},e),{},{value:a}),n))&&""!==a||(a=di),r.isValidElement(a)?a:t.html?r.createElement(wi,{style:{display:"inline"},html:a}):String(a)}:t.Grouped=function(e,n){var a=t.Cell(e,n);return r.createElement(r.Fragment,null,a,e.subRows&&" (".concat(e.subRows.length,")"))},t.Aggregated=function(e,n){var a,o=e.value;if(null!=o&&t.format&&t.format.aggregated&&(o=Ei(o,t.format.aggregated)),t.aggregated&&(o=t.aggregated(ui(ui({},e),{},{value:o}),n)),null==o&&(o=""),r.isValidElement(o))a=o;else{if(t.html)return r.createElement(wi,{html:o});a=String(o)}return a},t.Header=function(e,n){var a,o=t.name;if(null!=t.header&&(o="function"==typeof t.header?t.header(e,n):dn({Fragment:r.Fragment,WidgetContainer:Pa},t.header)),a=r.isValidElement(o)?o:t.html?r.createElement(wi,{html:o}):null!=o?String(o):"",t.sortable&&i){var u=l?"rt-sort":"";return a=t.html?a:r.createElement("div",{className:"rt-text-content"},a),"right"===t.align?r.createElement("div",{className:"rt-sort-header"},r.createElement("span",{className:qr(u,"rt-sort-left"),"aria-hidden":"true"}),a):r.createElement("div",{className:"rt-sort-header"},a,r.createElement("span",{className:qr(u,"rt-sort-right"),"aria-hidden":"true"}))}return a},null!=t.footer?t.Footer=function(e,n){var a;return a="function"==typeof t.footer?t.footer(e,n):dn({Fragment:r.Fragment,WidgetContainer:Pa},t.footer),r.isValidElement(a)?a:t.html?r.createElement(wi,{html:a}):null!=a?String(a):""}:t.Footer=di;var p=Ni(t.align),h=Ai(t.vAlign),g=Ai(t.headerVAlign);return t.headerClassName=qr(p,g,t.headerClassName),t.footerClassName=qr(p,h,t.footerClassName),t.getProps=function(e,n,r){var a,o,i={className:qr(p,h)};return t.className&&(a="function"==typeof t.className?t.className(e,n,r):Array.isArray(t.className)?t.className[e.index]:t.className,i.className=qr(i.className,a)),t.style&&(o="function"==typeof t.style?t.style(e,n,r):Array.isArray(t.style)?t.style[e.index]:t.style,i.style=o),i},t})),t&&(e=ki(e,t)).forEach((function(e,t){e.id="group_".concat(t),null!=e.name||null!=e.header?e.Header=function(t,n){var a=e.name;return e.header&&(a="function"==typeof e.header?e.header(t,n):dn({Fragment:r.Fragment,WidgetContainer:Pa},e.header)),r.isValidElement(a)?a:e.html?r.createElement(wi,{html:a}):null!=a?String(a):""}:e.Header=di,Qr(e).every((function(e){return e.disableResizing}))&&(e.disableResizing=!0),e.align=e.align||"center",e.headerVAlign=e.headerVAlign||"top";var n=Ni(e.align),a=Ai(e.headerVAlign);e.headerClassName=qr(n,a,e.headerClassName)})),e}function ki(e,t){t.forEach((function(t){var n=(t=ui({},t)).columns;t.columns=[],e=e.reduce((function(e,r){return r.id===n[0]?(e.push(t),t.columns.push(r)):n.includes(r.id)?t.columns.push(r):e.push(r),e}),[])}));var n,r=[];return e.forEach((function(e){e.columns?(r.push(e),n=null):(n||(n={columns:[],isUngrouped:!0},r.push(n)),n.columns.push(e))})),e=r}function Li(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.type,n=e.naLast;return function(e,r,a){return"numeric"===t?(e=Number.isNaN(e)?null:e,r=Number.isNaN(r)?null:r):(e="string"==typeof e?e.toLowerCase():e,r="string"==typeof r?r.toLowerCase():r),e===r?0:null==e?n?a?-1:1:-1:null==r?n?a?1:-1:1:e>r?1:e=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function Xi(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Qi(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var cl={};function fl(e){var t=e.data,n=e.columns,a=e.columnGroups,o=e.sortable,i=e.defaultSortDesc,l=e.showSortIcon,u=e.showSortable,s=e.filterable,c=e.resizable,f=e.theme,d=e.language,p=e.dataKey,h=sl(e,_i);for(var g in t=gi(t,n),n=Si(n,a,{sortable:o,defaultSortDesc:i,showSortIcon:l,showSortable:u,filterable:s,resizable:c}),f=function(e){if(!e)return null;var t=e.color,n=e.backgroundColor,r=e.borderColor,a=e.borderWidth,o=e.stripedColor,i=e.highlightColor,l=e.cellPadding,u=e.style,s=e.tableBorderColor,c=void 0===s?r:s,f=e.tableBorderWidth,d=void 0===f?a:f,p=e.tableStyle,h=e.headerBorderColor,g=void 0===h?r:h,y=e.headerBorderWidth,m=void 0===y?a:y,b=e.headerStyle,v=e.groupHeaderBorderColor,w=void 0===v?r:v,S=e.groupHeaderBorderWidth,k=void 0===S?a:S,L=e.groupHeaderStyle,E=e.tableBodyStyle,C=e.rowGroupStyle,R=e.rowStyle,N=e.rowStripedStyle,A=e.rowHighlightStyle,_=e.rowSelectedStyle,x=e.cellBorderColor,P=void 0===x?r:x,O=e.cellBorderWidth,M=void 0===O?a:O,Z=e.cellStyle,T=e.footerBorderColor,D=void 0===T?r:T,I=e.footerBorderWidth,j=void 0===I?a:I,B=e.footerStyle,F=e.inputStyle,z=e.filterInputStyle,U=e.searchInputStyle,G=e.selectStyle,H=e.paginationStyle,W=e.pageButtonStyle,K=e.pageButtonHoverStyle,V=e.pageButtonActiveStyle,q=e.pageButtonCurrentStyle,$=la([Z,R,E,p,u],"color",t),Y=la([G,u],"color",t);m=la([b],"borderWidth",m);var X,Q={style:oa({color:t,backgroundColor:n},u),tableStyle:oa({borderColor:c,borderWidth:d},p),headerStyle:oa(oa({borderColor:g,borderWidth:m,padding:l},b),{},{".rt-bordered &, .rt-outlined &":{borderWidth:m}}),groupHeaderStyle:oa(oa({borderColor:w,borderWidth:k,padding:l},L),{},{"&::after":{backgroundColor:w,height:k},".rt-bordered &":{borderWidth:k}}),tableBodyStyle:E,rowGroupStyle:C,rowStyle:oa(oa({},R),{},{"&.rt-tr-striped":oa({backgroundColor:o},N),"&.rt-tr-highlight:hover":oa({backgroundColor:i},A),"&.rt-tr-selected":oa({},_)}),cellStyle:oa({borderColor:P,borderWidth:M,padding:l},Z),footerStyle:oa({borderColor:D,borderWidth:j,padding:l},B),filterCellStyle:oa({borderColor:P,borderWidth:M,padding:l},Z),expanderStyle:{"&::after":{borderTopColor:$}},filterInputStyle:oa(oa({},F),z),searchInputStyle:oa(oa({},F),U),paginationStyle:oa(oa({borderTopColor:P,borderTopWidth:M},H),{},{".rt-page-jump":oa({},F),".rt-page-size-select":oa(oa({},G),{},{"@supports (-moz-appearance: none)":{backgroundImage:Y&&'url(\'data:image/svg+xml;charset=US-ASCII,'+'\')')}}),".rt-page-button":oa({},W),".rt-page-button:not(:disabled):hover":oa({},K),".rt-page-button:not(:disabled):active":oa({},V),".rt-keyboard-active & .rt-page-button:not(:disabled):focus":oa({},K),".rt-page-button-current":oa({},q)})};return Yr(Q),Q}(f)||{},d=ll(ll({},fa),d))d[g]=d[g]||null;return r.createElement(Ol,ol({data:t,columns:n,theme:f,language:d,key:p},h))}function dl(e){var t=JSON.stringify(e);return r.useMemo((function(){return e}),[t])}function pl(e){var t=e.data,n=e.columns,a=e.columnGroups,o=e.sortable,i=e.defaultSortDesc,l=e.showSortIcon,u=e.showSortable,s=e.filterable,c=e.resizable,f=e.sortBy,d=e.filters,p=e.searchValue,h=e.groupBy,g=e.expanded,y=e.selectedRowIds,m=sl(e,xi);return t=r.useMemo((function(){return gi(t,n)}),[]),n=r.useMemo((function(){return Si(n,a,{sortable:o,defaultSortDesc:i,showSortIcon:l,showSortable:u,filterable:s,resizable:c})}),[]),f=dl(f||[]),d=dl(d||[]),h=dl(h||[]),g=dl(g||{}),y=dl(y||{}),r.createElement(Pl,ol({data:t,columns:n,sortBy:f,filters:d,searchValue:p,groupBy:h,expanded:g,selectedRowIds:y},m))}var hl=r.forwardRef((function(e,t){var n=e.className,a=sl(e,Pi);return r.createElement("div",ol({ref:t,className:qr("Reactable","ReactTable",n)},a))})),gl=r.forwardRef((function(e,t){var n=e.className,a=sl(e,Oi);return r.createElement("div",ol({ref:t,className:qr("rt-table",n),role:"table"},a))}));function yl(e){var t=e.className,n=sl(e,Mi);return r.createElement("div",ol({className:qr("rt-thead",t),role:"rowgroup"},n))}function ml(e){var t=e.className,n=sl(e,Zi);return r.createElement("div",ol({className:qr("rt-tbody",t),role:"rowgroup"},n))}function bl(e){var t=e.className,n=sl(e,Ti);return r.createElement("div",ol({className:qr("rt-tfoot",t),role:"rowgroup"},n))}function vl(e){var t=e.className,n=sl(e,Di);return r.createElement("div",ol({className:qr("rt-tr-group",t)},n))}function wl(e){var t=e.className,n=sl(e,Ii);return r.createElement("div",ol({className:qr("rt-tr",t),role:"row"},n))}var Sl=r.forwardRef((function(e,t){var n=e.canSort,a=e.sortDescFirst,o=e.isSorted,i=e.isSortedDesc,l=e.toggleSortBy,u=e.canResize,s=e.isResizing,c=e.className,f=e.innerClassName,d=e.children,p=sl(e,ji),h=nl(r.useState(!1),2),g=h[0],y=h[1];if(n){var m=o?i?"descending":"ascending":"none",b=a?"descending":"ascending",v=function(e){var t=o?!i:a;e&&(t=null),l&&l(t,e)};p=ll(ll({},p),{},{"aria-sort":m,tabIndex:"0",onClick:function(e){g||v(e.shiftKey)},onKeyPress:function(e){var t=e.which||e.keyCode;13!==t&&32!==t||v(e.shiftKey)},onMouseUp:function(){y(!!s)},onMouseDown:function(e){(e.detail>1||e.shiftKey)&&e.preventDefault()},"data-sort-hint":o?null:b})}return r.createElement("div",ol({className:qr("rt-th",u&&"rt-th-resizable",c),role:"columnheader",ref:t},p),r.createElement("div",{className:qr("rt-th-inner",f)},d))}));function kl(e){var t=e.className,n=e.innerClassName,a=e.children,o=sl(e,Bi);return r.createElement("div",ol({className:qr("rt-td",t),role:"cell"},o),r.createElement("div",{className:qr("rt-td-inner",n)},a))}function Ll(e){if(!e)return{};if(null!=e.padding){var t=e.padding;return{className:sa(sl(e,Fi)),innerClassName:sa({padding:t})}}return{className:sa(e)}}function El(e){var t=e.onMouseDown,n=e.onTouchStart,a=e.className,o=sl(e,zi);return r.createElement("div",ol({className:qr("rt-resizer",a),onMouseDown:t,onTouchStart:n,"aria-hidden":!0},o))}var Cl=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ji(e,t)}(l,e);var t,n,a,o,i=(a=l,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=tl(a);if(o){var n=tl(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return el(this,e)});function l(){return Xi(this,l),i.apply(this,arguments)}return t=l,(n=[{key:"componentDidMount",value:function(){window.Shiny&&window.Shiny.bindAll&&window.Shiny.bindAll(this.el)}},{key:"componentWillUnmount",value:function(){window.Shiny&&window.Shiny.unbindAll&&window.Shiny.unbindAll(this.el)}},{key:"render",value:function(){var e=this,t=this.props,n=t.children,a=t.html,o={ref:function(t){return e.el=t}};return o=ll(ll({},o),{},a?{dangerouslySetInnerHTML:{__html:a}}:{children:n}),r.createElement("div",ol({className:"rt-tr-details"},o))}}])&&Qi(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),l}(r.Component);function Rl(e){var t=e.isExpanded,n=e.className,a=e["aria-label"];return r.createElement("button",{className:"rt-expander-button","aria-label":a,"aria-expanded":t?"true":"false"},r.createElement("span",{className:qr("rt-expander",t&&"rt-expander-open",n),tabIndex:"-1","aria-hidden":"true"},"​"))}function Nl(e){var t=e.filterValue,n=e.setFilter,a=e.className,o=e.placeholder,i=e["aria-label"];return r.createElement("input",{type:"text",className:qr("rt-filter",a),value:t||"",onChange:function(e){return n(e.target.value||void 0)},placeholder:o,"aria-label":i})}function Al(e){var t=e.searchValue,n=e.setSearch,a=e.className,o=e.placeholder,i=e["aria-label"];return r.createElement("input",{type:"text",value:t||"",onChange:function(e){return n(e.target.value||void 0)},className:qr("rt-search",a),placeholder:o,"aria-label":i})}function _l(e){var t=e.className,n=sl(e,Ui);return r.createElement("div",ol({className:qr("rt-no-data",t),"aria-live":"assertive"},n))}function xl(e){var t=e.type,n=e.checked,a=e.onChange,o=e["aria-label"];return r.createElement("div",{className:"rt-select"},r.createElement("input",{type:t,checked:n,onChange:a,className:"rt-select-input","aria-label":o}),"​")}function Pl(e){var t=e.data,n=e.columns,a=e.groupBy,o=e.searchMethod,i=e.pagination,l=e.paginateSubRows,u=e.selection,s=e.crosstalkGroup,c=e.crosstalkId,f=e.setResolvedData,d=e.pageSize,p=e.pageIndex,h=e.sortBy,g=e.filters,y=e.searchValue,m=e.expanded,b=e.selectedRowIds,v=r.useMemo((function(){return n.reduce((function(e,t){return e.concat(Qr(t))}),[])}),[n]),w=r.useMemo((function(){return o||function(e,t,n){var r=v.reduce((function(e,t){return e[t.id]=t.createMatcher(n),e}),{});return e.filter((function(e){var n,a=Yi(t);try{for(a.s();!(n=a.n()).done;){var o=n.value,i=e.values[o];if(r[o](i))return!0}}catch(e){a.e(e)}finally{a.f()}}))}}),[v,o]),S=We({columns:n,data:t,useControlledState:function(e){return r.useMemo((function(){return ll(ll({},e),{},{pageIndex:p,pageSize:d,sortBy:h,filters:g,globalFilter:y,groupBy:a,expanded:m,selectedRowIds:b})}),[e,p,d,h,g,y,a,m,b])},globalFilter:w,paginateExpandedRows:!!l,disablePagination:!i,getSubRows:hi,manualExpandedKey:null,autoResetGroupBy:!1,autoResetSortBy:!1,autoResetExpanded:!1,autoResetFilters:!1,autoResetGlobalFilter:!1,autoResetSelectedRows:!1,autoResetResize:!1,autoResetPage:!0},wo,Oa,Ga,St,_t,ao,on,Je,zo,Ao,(function(e){u&&e.visibleColumns.push((function(e){return[ll(ll({},e.find((function(e){return e.selectable}))),{},{selectable:!0,disableSortBy:!0,filterable:!1,disableFilters:!0,disableGlobalFilter:!0})].concat($i(e.filter((function(e){return!e.selectable}))))}))}),(function(e){s&&(e.visibleColumns.push((function(e){var t={id:c,filter:function(e,t,n){return n?e.filter((function(e){if(n.includes(e.index))return!0})):e},disableGlobalFilter:!0};return e.concat(t)})),e.stateReducers.push((function(e){return e.hiddenColumns.includes(c)?e:ll(ll({},e),{},{hiddenColumns:e.hiddenColumns.concat(c)})})))})),k=r.useRef(l?S.flatRows.length:S.rows.length);return r.useEffect((function(){k.current=0}),[t]),r.useEffect((function(){var e=l?S.flatRows.length:S.rows.length;e>k.current&&(k.current=e)}),[l,S.flatRows,S.rows]),f&&f({data:vi(S.page,l),rowCount:S.rows.length,maxRowCount:k.current}),null}function Ol(e){var t=e.data,n=e.columns,a=e.groupBy,o=e.searchable,i=e.searchMethod,l=e.defaultSorted,u=e.pagination,s=e.paginationType,c=e.showPagination,f=e.showPageSizeOptions,d=e.showPageInfo,p=e.defaultPageSize,h=e.pageSizeOptions,g=e.minRows,y=e.paginateSubRows,m=e.defaultExpanded,b=e.selection,v=e.defaultSelected,w=e.selectionId,S=e.onClick,k=e.outlined,L=e.bordered,E=e.borderless,C=e.compact,R=e.nowrap,N=e.striped,A=e.highlight,_=e.className,x=e.style,P=e.rowClassName,O=e.rowStyle,M=e.inline,Z=e.width,T=e.height,D=e.theme,I=e.language,z=e.meta,U=e.crosstalkKey,G=e.crosstalkGroup,H=e.crosstalkId,W=e.elementId,K=e.nested,V=e.dataURL,q=e.serverRowCount,$=e.serverMaxRowCount,Y=nl(r.useState(null),2),X=Y[0],Q=Y[1],J=r.useMemo((function(){return X||t}),[X,t]),ee=null!=V,te=nl(r.useState(q),2),ne=te[0],re=te[1],ae=nl(r.useState($),2),oe=ae[0],ie=ae[1],le=r.useMemo((function(){return n.reduce((function(e,t){return e.concat(Qr(t))}),[])}),[n]),ue=r.useMemo((function(){return i||function(e,t,n){var r=le.reduce((function(e,t){return e[t.id]=t.createMatcher(n),e}),{});return e.filter((function(e){var n,a=Yi(t);try{for(a.s();!(n=a.n()).done;){var o=n.value,i=e.values[o];if(r[o](i))return!0}}catch(e){a.e(e)}finally{a.f()}}))}}),[le,i]),se=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=$o(r.useState(e),2),n=t[0],a=t[1],o=function(e){if(null!=e){if("object"!==qo(e)&&"function"!=typeof e)throw new Error("meta must be an object or function");a((function(t){"function"==typeof e&&(e=e(t));for(var n=Ko(Ko({},t),e),r=0,a=Object.entries(n);r_e.current&&(_e.current=e)}),[y,ye.flatRows,ye.rows]);var xe=r.useRef(null),Pe={onMouseDown:function(){xe.current.classList.remove("rt-keyboard-active")},onKeyDown:function(){xe.current.classList.add("rt-keyboard-active")},onKeyUp:function(e){9===(e.which||e.keyCode)&&xe.current.classList.add("rt-keyboard-active")}},Oe=r.useRef(null),Me=nl(r.useState(!1),2),Ze=Me[0],Te=Me[1];B((function(){var e=function(){var e=Oe.current,t=e.scrollHeight,n=e.clientHeight,r=e.scrollWidth,a=e.clientWidth;Te(t>n||r>a)};if(window.ResizeObserver){var t=new ResizeObserver((function(){e()}));return t.observe(Oe.current),function(){t.disconnect()}}e()}),[]),r.useEffect((function(){if(window.Shiny&&window.Shiny.onInputChange&&!K){var e=xe.current.parentElement.getAttribute("data-reactable-output");if(e){var t,n=ke.selected.map((function(e){return e+1})),r=ke.page+1,a=ke.sorted.length>0?{}:null,o=Yi(ke.sorted);try{for(o.s();!(t=o.n()).done;){var i=t.value;a[i.id]=i.desc?"desc":"asc"}}catch(e){o.e(e)}finally{o.f()}var l={page:r,pageSize:ke.pageSize,pages:ke.pages,sorted:a,selected:n};Object.keys(l).forEach((function(t){window.Shiny.onInputChange("".concat(e,"__reactable__").concat(t),l[t])}))}}}),[K,ke.page,ke.pageSize,ke.pages,ke.sorted,ke.selected]);var De=j(ye.pageCount);r.useEffect((function(){if(window.Shiny&&!K){var e=xe.current.parentElement.getAttribute("data-reactable-output");if(e){var t=ye.setRowsSelected,n=ye.gotoPage,r=ye.toggleAllRowsExpanded;window.Shiny.addCustomMessageHandler("__reactable__".concat(e),(function(e){if(e.jsEvals){var a,o=Yi(e.jsEvals);try{for(o.s();!(a=o.n()).done;){var i=a.value;window.HTMLWidgets.evaluateStringMember(e,i)}}catch(e){o.e(e)}finally{o.f()}}if(null!=e.data){var l=gi(e.data,le);Q(l)}if(null!=e.selected){var u=e.selected.map((function(e){return String(e)}));t(u)}if(null!=e.page){var s=Math.min(Math.max(e.page,0),Math.max(De()-1,0));n(s)}null!=e.expanded&&(e.expanded?r(!0):r(!1)),void 0!==e.meta&&de(e.meta)}))}}}),[K,ye.setRowsSelected,ye.gotoPage,ye.toggleAllRowsExpanded,le,De,de]);var Ie=r.useRef(null);B((function(){if(G&&window.crosstalk){var e={};e.selection=new window.crosstalk.SelectionHandle(G),e.filter=new window.crosstalk.FilterHandle(G),e.selected=e.selection.value,e.filtered=e.filter.filteredKeys,Ie.current=e;var t=(U||[]).reduce((function(e,t,n){return e[t]=n,e}),{}),n=ye.setFilter,r=ye.setRowsSelected,a=function(){var r,a=e.selected&&e.selected.length>0?e.selected:null,o=e.filtered,i=(r=a||o?a?o?a.filter((function(e){return o.includes(e)})):a:o:null)?r.map((function(e){return t[e]})):null;n(H,i)},o=function(t){e.selected!==t&&(e.selected=t,a())};return e.selection.on("change",(function(t){t.sender!==e.selection?(o(t.value),e.skipNextSelection=!0,r([])):o(null)})),e.filter.on("change",(function(t){var n;t.sender!==e.filter&&(n=t.value,e.filtered!==n&&(e.filtered=n,a()))})),(e.selected||e.filtered)&&a(),function(){try{e.selection.close()}catch(e){console.error("Error closing Crosstalk selection handle:",e)}try{e.filter.close()}catch(e){console.error("Error closing Crosstalk filter handle:",e)}}}}),[U,G,H,ye.setFilter,ye.setRowsSelected]),B((function(){Ie.current&&(v||(Ie.current.skipNextSelection=!0))}),[v]),B((function(){if(Ie.current&&b){var e=Ie.current;if(e.skipNextSelection)e.skipNextSelection=!1;else{var t=Object.keys(ge.selectedRowIds).map((function(e){return U[be[e].index]}));try{e.selection.set(t)}catch(e){console.error("Error selecting Crosstalk keys:",e)}}}}),[ge.selectedRowIds,be,b,U]),ye.state=ke,ye.downloadDataCSV=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=e||"data.csv";var n=ye.getDataCSV(t);ta(n,e)},ye.getDataCSV=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.columnIds||(e.columnIds=le.map((function(e){return e.id})));var t=J.length>0?Object.keys(J[0]):[];e.columnIds=e.columnIds.filter((function(e){return t.includes(e)}));var n=ye.preGroupedRows.map((function(e){return e.values})),r=ea(n,e);return r},ye.setMeta=de;var je=ye.toggleHideColumn;ye.toggleHideColumn=function(e,t){t&&ke.hiddenColumns.includes(e)||je(e,t)},ye.setData=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t=Object.assign({resetSelected:!0,resetExpanded:!1},t),"object"!==qi(e)||null==e)throw new Error("data must be an array of row objects or an object containing column arrays");Array.isArray(e)||(e=gi(e,le)),Q(e),t.resetSelected&&ye.setRowsSelected([]),t.resetExpanded&&ye.toggleAllRowsExpanded(!1)};var Be=r.useRef([]);ye.onStateChange=function(e){if("function"!=typeof e)throw new Error("listenerFn must be a function");return Be.current.push(e),function(){Be.current=Be.current.filter((function(t){return t!==e}))}};var Fe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=r.useRef({}),a=j(e),o=j(t);return r.useCallback((function(){for(var e=arguments.length,t=new Array(e),r=0;r0){var g=function(){return ye.toggleAllRowsSelected()};o=ll(ll({},o),{},{onClick:g,className:qr(o.className,"rt-td-select")}),a=r.createElement(xl,{type:"checkbox",checked:ye.isAllRowsSelected,onChange:g,"aria-label":I.selectAllRowsLabel})}var y=e.getHeaderProps(o),m=y.key,v=sl(y,Wi);return r.createElement(Sl,ol({key:m},v),a,t)})))})),Ee?r.createElement(wl,{className:qr("rt-tr-filters",sa(D.rowStyle))},ye.visibleColumns.map((function(e){var t,n;e.filterable&&(null!=e.filterInput?(n="function"==typeof e.filterInput?e.filterInput(e,ke):dn({Fragment:r.Fragment,WidgetContainer:Pa},e.filterInput),r.isValidElement(n)?t=n:e.html&&(t=r.createElement(wi,{html:n}))):t=r.createElement(Nl,{filterValue:e.filterValue,setFilter:e.setFilter,className:sa(D.filterInputStyle),placeholder:I.filterPlaceholder,"aria-label":da(I.filterLabel,{name:e.name})}));var a=Ll(D.filterCellStyle),o=a.className,i=a.innerClassName,l={role:"cell",colSpan:null,className:qr("rt-td-filter",e.headerClassName,o),innerClassName:i,style:e.headerStyle},u=e.getHeaderProps(l),s=u.key,c=sl(u,Ki);return r.createElement(kl,ol({key:s},c),t)}))):null)),function(){var e,t=ye.visibleColumns.some((function(e){return e.sticky})),n=t?"rt-tr-highlight-sticky":"rt-tr-highlight",a=t?"rt-tr-striped-sticky":"rt-tr-striped",o=ye.page.map((function(e,t){ye.prepareRow(e);var o,i=function(t){null==t&&(t=!e.isSelected),"single"===b&&ye.setRowsSelected([]),e.toggleRowSelected(t)},l=ll(ll({},e),{},{toggleRowSelected:i,viewIndex:t,row:e.values,subRows:Jr(e.subRows),aggregated:e.isGrouped,expanded:e.isExpanded,level:e.depth,selected:e.isSelected,page:ge.pageIndex}),u={className:qr(N&&(t%2?null:a),A&&n,e.isSelected&&"rt-tr-selected",sa(D.rowStyle))};P&&(o="function"==typeof P?P(l,ke):Array.isArray(P)?P[l.index]:P,u.className=qr(u.className,o)),O&&("function"==typeof O?u.style=O(l,ke):Array.isArray(O)?u.style=O[l.index]:u.style=O);var s,c=function(e,t){if(!e.isExpanded||e.isGrouped)return null;var n,a=Ne[e.id];if(!(n=null!=a?ye.visibleColumns.find((function(e){return e.id===a})):ye.visibleColumns.find((function(e){return e.details}))))return null;var o=n,i=o.details,l=o.html,u={};if("function"==typeof i){var s=i(e,t);l&&(u.html=s),u.children=s}else if(Array.isArray(i)){var c=i[e.index];if(null==c)return null;l&&(u.html=c),u.children=dn({Reactable:fl,Fragment:r.Fragment,WidgetContainer:Pa},c)}return r.createElement(Cl,ol({key:"".concat(n.id,"_").concat(e.index)},u))}(l,ke);if(e.isExpanded)if(null!=Ne[e.id])s=Ne[e.id];else{var f=ye.visibleColumns.find((function(e){return e.details}));s=f?f.id:null}var d=e.getRowProps(u);return r.createElement(vl,{key:"".concat(e.depth,"_").concat(t),className:sa(D.rowGroupStyle)},r.createElement(wl,ol({},d,{key:void 0}),e.cells.map((function(t,n){var a=t.column,o=a.getProps?a.getProps(l,a,ke):{},u=Ll(D.cellStyle),c=u.className,f=u.innerClassName;o=ll(ll({},o),{},{className:qr(o.className,c),innerClassName:f,role:a.rowHeader?"rowheader":"cell"});var d,p,h,g=ll(ll({},t),{},{column:a,filterValue:a.filterValue},l);if(d=t.isGrouped?a.Grouped?a.Grouped(g,ke):g.value:t.isAggregated?a.Aggregated?a.Aggregated(g,ke):t.render("Aggregated"):t.isPlaceholder?"":a.Cell?a.Cell(g,ke):t.render("Cell"),a.details&&!e.isGrouped&&(Array.isArray(a.details)&&null==a.details[e.index]||(p=!0)),p){var y=e.isExpanded&&s===a.id;o=ll(ll({},o),{},{onClick:function(){if(y){e.toggleRowExpanded(!1);var t=ll({},Ne);delete t[e.id],Ae(t)}else{e.toggleRowExpanded(!0);var n=ll(ll({},Ne),{},ul({},e.id,a.id));Ae(n)}},className:qr(o.className,"rt-td-expandable")}),d===di&&(o.style=ll({textOverflow:"clip",userSelect:"none"},o.style));var m={isExpanded:y,className:sa(D.expanderStyle),"aria-label":I.detailsExpandLabel};h=r.createElement(Rl,m)}else if(t.isGrouped){var v=e.isExpanded;o=ll(ll({},o),{},{onClick:function(){return e.toggleRowExpanded()},className:qr(o.className,"rt-td-expandable")});var w={isExpanded:v,className:sa(D.expanderStyle),"aria-label":I.groupExpandLabel};h=r.createElement(Rl,w)}else t.column.isGrouped&&e.canExpand&&(o=ll(ll({},o),{},{onClick:function(){return e.toggleRowExpanded()},className:qr(o.className,"rt-td-expandable")}));var k,L="multiple"===b||"single"===b&&!t.isAggregated;a.selectable&&L&&(o=ll(ll({},o),{},{onClick:function(){return i()},className:qr(o.className,"rt-td-select")}),k=t.isAggregated?I.selectAllSubRowsLabel:I.selectRowLabel,d=r.createElement(xl,{type:"multiple"===b?"checkbox":"radio",checked:e.isSelected,onChange:function(){return i()},"aria-label":k})),S&&!o.onClick&&("expand"===S?o.onClick=function(){return e.toggleRowExpanded()}:"select"===S&&L?o.onClick=function(){return i()}:"function"==typeof S&&(o.onClick=function(){return S(l,a,ke)}));var E=t.getCellProps(o);return r.createElement(kl,ol({},E,{key:"".concat(n,"_").concat(a.id)}),h,d)}))),c)}));g=g?Math.max(g,1):1;var i=Math.max(g-ye.page.length,0);i>0&&(e=$i(Array(i)).map((function(e,t){var n,a={className:qr("rt-tr-pad",sa(D.rowStyle))};return P&&("function"==typeof P?n=P(void 0,ke):Array.isArray(P)||(n=P),a.className=qr(a.className,n)),O&&("function"==typeof O?a.style=O(void 0,ke):Array.isArray(O)||(a.style=O)),r.createElement(vl,{key:t,className:sa(D.rowGroupStyle),"aria-hidden":!0},r.createElement(wl,a,ye.visibleColumns.map((function(e){var n=Ll(D.cellStyle),a=n.className,o=n.innerClassName,i={className:a},l=e.getFooterProps(i),u=l.className,s=l.style;return r.createElement(kl,{key:"".concat(t,"_").concat(e.id),className:u,innerClassName:o,style:s}," ")}))))})));var l,u=sa(D.tableBodyStyle);0===ye.rows.length?(l=r.createElement(_l,null,I.noData),u=qr("rt-tbody-no-data",u)):l=r.createElement(_l,null);var s=ye.getTableBodyProps({className:u});return r.createElement(ml,s,o,e,l)}(),function(){var e=ye.visibleColumns.some((function(e){return null!=e.footer}));if(!e)return null;var t=ye.getTfootProps();return r.createElement(bl,t,r.createElement(wl,null,ye.visibleColumns.map((function(e){var t="function"==typeof(e=ll(ll({},e),{},{column:e,data:Se})).Footer?e.Footer(e,ke):e.render("Footer"),n=Ll(D.footerStyle),a=n.className,o=n.innerClassName,i={className:qr("rt-td-footer",e.footerClassName,a),innerClassName:o,style:e.footerStyle,role:e.rowHeader?"rowheader":"cell",colSpan:null},l=e.getFooterProps(i),u=l.key,s=sl(l,Vi);return r.createElement(kl,ol({key:u},s),t)}))))}()),function(){if(!1===c)return null;if(!u&&null==c)return null;if(u&&null==c){var e=f?Math.min.apply(Math,[ge.pageSize].concat($i(h||[]))):ge.pageSize;if((null!=oe?oe:null!=ne?ne:_e.current)<=e)return null}return r.createElement(La,{paginationType:s,pageSizeOptions:h,showPageInfo:d,showPageSizeOptions:f,page:ge.pageIndex,pages:ye.pageCount,pageSize:ge.pageSize,pageRowCount:ye.pageRowCount,canNext:ye.canNextPage,canPrevious:ye.canPreviousPage,onPageChange:ye.gotoPage,onPageSizeChange:ye.setPageSize,rowCount:null!=ne?ne:ye.rows.length,theme:D,language:I})}())}fl.defaultProps={sortable:!0,pagination:!0,defaultPageSize:10,paginationType:"numbers",pageSizeOptions:[10,25,50,100],showPageInfo:!0,minRows:1,showSortIcon:!0,crosstalkId:"__crosstalk__"},pl.defaultProps=fl.defaultProps;var Ml=__webpack_require__(6484);function Zl(){return Zl=Object.assign?Object.assign.bind():function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function Dl(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0])||arguments[0];Bl=e}function Kl(){var e;if(Bl){for(var t=arguments.length,n=new Array(t),r=0;r + * @license MIT + */ + +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ + +/*! safe-buffer. MIT License. Feross Aboukhadijeh */ + +/** @license React v0.20.2 + * scheduler-unstable_mock.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v17.0.2 + * react-dom-server.node.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v17.0.2 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/articles/quarto/observable-reactable_files/reactable-0.4.4.9000/reactable.server.js.map b/articles/quarto/observable-reactable_files/reactable-0.4.4.9000/reactable.server.js.map new file mode 100644 index 00000000..a223c8d9 --- /dev/null +++ b/articles/quarto/observable-reactable_files/reactable-0.4.4.9000/reactable.server.js.map @@ -0,0 +1 @@ +{"version":3,"file":"reactable.server.js","mappings":"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IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,SAAY,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,QAAW,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,SAAY,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,SAAY,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,QAAW,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,SAAY,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,SAAY,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,SAAY,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,SAAY,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,SAAY,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,QAAW,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,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IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,aAAc,MACd,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,GAAM,MACN,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,cAAe,MACf,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,QACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,QACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,YAAa,iBACb,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,UACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,aAAc,MACd,IAAO,KACP,QAAS,MACT,QAAS,MACT,YAAa,iBACb,aAAc,mBACd,QAAS,MACT,YAAa,MACb,QAAS,KACT,UAAW,gBACX,WAAY,KACZ,QAAS,MACT,QAAS,MACT,QAAS,MACT,QAAS,MACT,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,GAAM,KACN,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,GAAM,KACN,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,SAAU,KACV,YAAa,KACb,SAAU,KACV,aAAc,KACd,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,QACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,YAAa,MACb,YAAa,MACb,SAAU,MACV,YAAa,MACb,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,SAAU,MACV,GAAM,UACN,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,QACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,GAAM,MACN,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,QACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,aAAc,SACd,cAAe,MACf,cAAe,MACf,aAAc,MACd,YAAa,MACb,qBAAsB,cACtB,aAAc,MACd,cAAe,MACf,YAAa,MACb,YAAa,MACb,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,IAAO,KACP,IAAO,MACP,IAAO,MACP,IAAO,MACP,SAAU,KACV,cAAe,UACf,cAAe,UACf,SAAU,MACV,WAAY,KACZ,WAAY,MACZ,SAAU,eACV,aAAc,MACd,SAAU,MACV,WAAY,MACZ,SAAU,MACV,IAAO,KACP,IAAO,KACP,IAAO,MACP,IAAO,KACP,IAAO,KACP,IAAO,MAEX1B,EAAQyB,eAAiB,CACrB,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,sCACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,QACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,WACP,IAAO,KACP,IAAO,WACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,QACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,cACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,+CACP,IAAO,KACP,IAAO,KACP,IAAO,QACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,oBACP,IAAO,QACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,UACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,MAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,WACN,IAAO,KACP,IAAO,WACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,QACN,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,QACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,GAAM,QACN,IAAO,QACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,cACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,QACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,+CACN,IAAO,+CACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,IAAO,KACP,GAAM,KA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P,IAAO,cACP,GAAM,aACN,IAAO,cACP,WAAY,cACZ,WAAY,cACZ,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,GAAM,aACN,UAAW,aACX,QAAS,aACT,QAAS,aACT,QAAS,aACT,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,UAAW,aACX,GAAM,aACN,GAAM,aACN,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,UAAW,aACX,IAAO,cACP,IAAO,cACP,GAAM,cACN,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,UAAW,aACX,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,WAAY,cACZ,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,QAAS,aACT,QAAS,aACT,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,GAAM,aACN,IAAO,cACP,GAAM,aACN,GAAM,aACN,GAAM,cACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,GAAM,cACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,GAAM,aACN,GAAM,aACN,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,eACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,GAAM,aACN,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,QAAS,aACT,UAAW,aACX,QAAS,aACT,QAAS,aACT,QAAS,aACT,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,UAAW,aACX,QAAS,aACT,UAAW,aACX,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,UAAW,aACX,QAAS,aACT,UAAW,aACX,QAAS,aACT,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,WAAY,cACZ,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,SAAU,cACV,WAAY,cACZ,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,QAAS,aACT,UAAW,aACX,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,QAAS,aACT,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,eACP,IAAO,cACP,GAAM,aACN,UAAW,aACX,QAAS,aACT,IAAO,cACP,IAAO,cACP,WAAY,cACZ,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,eACP,GAAM,aACN,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,SAAU,cACV,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,UAAW,aACX,UAAW,aACX,UAAW,aACX,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,GAAM,aACN,QAAS,aACT,QAAS,aACT,QAAS,aACT,QAAS,aACT,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,UAAW,aACX,QAAS,aACT,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,UAAW,aACX,QAAS,aACT,QAAS,aACT,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,aACP,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,aACX,UAAW,cACX,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,cACV,SAAU,aACV,WAAY,aACZ,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,cACf,cAAe,cACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,cACf,cAAe,cACf,cAAe,aACf,cAAe,aACf,cAAe,cACf,WAAY,cACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,cACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,SAAU,cACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,SAAU,cACV,WAAY,cACZ,cAAe,cACf,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,cACV,SAAU,aACV,WAAY,aACZ,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,cACf,cAAe,aACf,SAAU,aACV,SAAU,aACV,WAAY,aACZ,cAAe,aACf,cAAe,cACf,cAAe,cACf,cAAe,cACf,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,SAAU,aACV,WAAY,aACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,WAAY,cACZ,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,cAAe,cACf,SAAU,cACV,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,WAAY,aACZ,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,WAAY,aACZ,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,cAAe,aACf,WAAY,aACZ,SAAU,aACV,WAAY,cACZ,SAAU,cACV,WAAY,cACZ,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,WAAY,aACZ,WAAY,cACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,SAAU,aACV,WAAY,cACZ,WAAY,aACZ,WAAY,aACZ,WAAY,cACZ,SAAU,aACV,WAAY,aACZ,WAAY,aACZ,SAAU,aACV,SAAU,aACV,WAAY,cACZ,SAAU,aACV,SAAU,aACV,SAAU,aAC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P,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,cACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,cACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,SAAU,cACV,WAAY,cACZ,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,IAAO,cACP,IAAO,cACP,IAAO,cACP,IAAO,cACP,GAAM,aACN,QAAS,aACT,QAAS,aACT,UAAW,aACX,QAAS,aACT,QAAS,aACT,UAAW,aACX,UAAW,aACX,QAAS,aACT,QAAS,aACT,QAAS,aACT,QAAS,aACT,QAAS,aACT,QAAS,aACT,QAAS,aACT,QAAS,aACT,QAAS,aACT,QAAS,aAC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S,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,KAAM,KAAM,MAAO,KAAM,QAAS,KAAM,UAAW,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,UAAW,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,aAAc,KAAM,MAAO,KAAM,QAAS,KAAM,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,MAAO,KAAM,KAAM,QAAS,KAAM,KAAM,MAAO,SAAU,SAAU,KAAM,MAAO,KAAM,KAAM,QAAS,QAAS,MAAO,KAAM,KAAM,KAAM,QAAS,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QAAS,QAAS,QAAS,KAAM,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,KAAM,MAAO,KAAM,KAAM,KAAM,QAAS,MAAO,KAAM,UAAW,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,MAAO,KAAM,QAAS,QAAS,QAAS,KAAM,MAAO,SAAU,KAAM,KAAM,MAAO,MAAO,KAAM,MAAO,MAAO,SAAU,MAAO,MAAO,KAAM,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,MAAO,WAAY,KAAM,KAAM,QAAS,QAAS,QAAS,KAAM,MAAO,KAAM,MAAO,MAAO,KAAM,QAAS,KAAM,MAAO,SAAU,KAAM,QAAS,KAAM,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,MAAO,KAAM,MAAO,KAAM,MAAO,MAAO,KAAM,QAAS,KAAM,KAAM,QAAS,KAAM,UAAW,UAAW,MAAO,KAAM,KAAM,QAAS,KAAM,QAAS,QAAS,QAA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","sources":["webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/CanonicalizeLocaleList.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/CanonicalizeTimeZoneName.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/262.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/CoerceOptionsToObject.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/DefaultNumberOption.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/GetNumberOption.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/GetOption.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/GetOptionsObject.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/IsSanctionedSimpleUnitIdentifier.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/IsValidTimeZoneName.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/IsWellFormedCurrencyCode.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/IsWellFormedUnitIdentifier.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/utils.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ComputeExponentForMagnitude.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ToRawPrecision.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ToRawFixed.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericToString.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ComputeExponent.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/CurrencyDigits.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/digit-mapping.generated.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/regex.generated.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/format_to_parts.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/PartitionNumberPattern.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericToParts.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/SetNumberFormatUnitOptions.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/SetNumberFormatDigitOptions.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/InitializeNumberFormat.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/PartitionPattern.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/SupportedLocales.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/types/date-time.js","webpack://Reactable/./node_modules/@formatjs/ecma402-abstract/lib/data.js","webpack://Reactable/./node_modules/@formatjs/intl-getcanonicallocales/index.js","webpack://Reactable/./node_modules/@formatjs/intl-getcanonicallocales/polyfill.js","webpack://Reactable/./node_modules/@formatjs/intl-getcanonicallocales/should-polyfill.js","webpack://Reactable/./node_modules/@formatjs/intl-getcanonicallocales/src/aliases.generated.js","webpack://Reactable/./node_modules/@formatjs/intl-getcanonicallocales/src/canonicalizer.js","webpack://Reactable/./node_modules/@formatjs/intl-getcanonicallocales/src/emitter.js","webpack://Reactable/./node_modules/@formatjs/intl-getcanonicallocales/src/likelySubtags.generated.js","webpack://Reactable/./node_modules/@formatjs/intl-getcanonicallocales/src/parser.js","webpack://Reactable/./node_modules/@formatjs/intl-getcanonicallocales/src/types.js","webpack://Reactable/./node_modules/@formatjs/intl-locale/get_internal_slots.js","webpack://Reactable/./node_modules/@formatjs/intl-locale/index.js","webpack://Reactable/./node_modules/@formatjs/intl-locale/polyfill.js","webpack://Reactable/./node_modules/@formatjs/intl-locale/should-polyfill.js","webpack://Reactable/./node_modules/@formatjs/intl-localematcher/lib/abstract/BestAvailableLocale.js","webpack://Reactable/./node_modules/@formatjs/intl-localematcher/lib/abstract/LookupSupportedLocales.js","webpack://Reactable/./node_modules/@formatjs/intl-localematcher/lib/abstract/UnicodeExtensionValue.js","webpack://Reactable/./node_modules/@formatjs/intl-localematcher/lib/abstract/ResolveLocale.js","webpack://Reactable/./node_modules/@formatjs/intl-localematcher/lib/abstract/LookupMatcher.js","webpack://Reactable/./node_modules/@formatjs/intl-localematcher/lib/abstract/BestFitMatcher.js","webpack://Reactable/./node_modules/@formatjs/intl-localematcher/lib/abstract/utils.js","webpack://Reactable/./node_modules/@formatjs/intl-localematcher/lib/index.js","webpack://Reactable/./node_modules/@formatjs/intl-localematcher/lib/abstract/CanonicalizeLocaleList.js","webpack://Reactable/./node_modules/@formatjs/intl-numberformat/locale-data/en.js","webpack://Reactable/./node_modules/@formatjs/intl-numberformat/polyfill.js","webpack://Reactable/./node_modules/@formatjs/intl-numberformat/should-polyfill.js","webpack://Reactable/./node_modules/@formatjs/intl-numberformat/src/core.js","webpack://Reactable/./node_modules/@formatjs/intl-numberformat/src/currency-digits.generated.js","webpack://Reactable/./node_modules/@formatjs/intl-numberformat/src/get_internal_slots.js","webpack://Reactable/./node_modules/@formatjs/intl-numberformat/src/numbering-systems.generated.js","webpack://Reactable/./node_modules/@formatjs/intl-numberformat/src/to_locale_string.js","webpack://Reactable/./node_modules/@formatjs/intl-numberformat/supported-locales.generated.js","webpack://Reactable/./node_modules/@formatjs/intl-pluralrules/abstract/GetOperands.js","webpack://Reactable/./node_modules/@formatjs/intl-pluralrules/abstract/InitializePluralRules.js","webpack://Reactable/./node_modules/@formatjs/intl-pluralrules/abstract/ResolvePlural.js","webpack://Reactable/./node_modules/@formatjs/intl-pluralrules/get_internal_slots.js","webpack://Reactable/./node_modules/@formatjs/intl-pluralrules/index.js","webpack://Reactable/./node_modules/@formatjs/intl-pluralrules/polyfill.js","webpack://Reactable/./node_modules/@formatjs/intl-pluralrules/should-polyfill.js","webpack://Reactable/./node_modules/@formatjs/intl-pluralrules/supported-locales.generated.js","webpack://Reactable/./srcjs/htmlwidgets.js","webpack://Reactable/./srcjs/server-globals.js","webpack://Reactable/./node_modules/base64-js/index.js","webpack://Reactable/./node_modules/buffer/index.js","webpack://Reactable/./node_modules/call-bind/callBound.js","webpack://Reactable/./node_modules/call-bind/index.js","webpack://Reactable/./node_modules/core-util-is/lib/util.js","webpack://Reactable/./node_modules/duplexer2/index.js","webpack://Reactable/./node_modules/duplexer2/node_modules/isarray/index.js","webpack://Reactable/./node_modules/duplexer2/node_modules/readable-stream/lib/_stream_duplex.js","webpack://Reactable/./node_modules/duplexer2/node_modules/readable-stream/lib/_stream_passthrough.js","webpack://Reactable/./node_modules/duplexer2/node_modules/readable-stream/lib/_stream_readable.js","webpack://Reactable/./node_modules/duplexer2/node_modules/readable-stream/lib/_stream_transform.js","webpack://Reactable/./node_modules/duplexer2/node_modules/readable-stream/lib/_stream_writable.js","webpack://Reactable/./node_modules/duplexer2/node_modules/readable-stream/lib/internal/streams/BufferList.js","webpack://Reactable/./node_modules/duplexer2/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://Reactable/./node_modules/duplexer2/node_modules/readable-stream/lib/internal/streams/stream.js","webpack://Reactable/./node_modules/duplexer2/node_modules/readable-stream/readable.js","webpack://Reactable/./node_modules/duplexer2/node_modules/string_decoder/lib/string_decoder.js","webpack://Reactable/./node_modules/events/events.js","webpack://Reactable/./node_modules/for-each/index.js","webpack://Reactable/./node_modules/function-bind/implementation.js","webpack://Reactable/./node_modules/function-bind/index.js","webpack://Reactable/./node_modules/get-intrinsic/index.js","webpack://Reactable/./node_modules/has-symbols/index.js","webpack://Reactable/./node_modules/has-symbols/shams.js","webpack://Reactable/./node_modules/has-tostringtag/shams.js","webpack://Reactable/./node_modules/has/src/index.js","webpack://Reactable/./node_modules/html-tokenize/index.js","webpack://Reactable/./node_modules/html-tokenize/node_modules/buffer-from/index.js","webpack://Reactable/./node_modules/ieee754/index.js","webpack://Reactable/./node_modules/inherits/inherits.js","webpack://Reactable/./node_modules/inherits/inherits_browser.js","webpack://Reactable/./node_modules/is-arguments/index.js","webpack://Reactable/./node_modules/is-callable/index.js","webpack://Reactable/./node_modules/is-generator-function/index.js","webpack://Reactable/./node_modules/is-typed-array/index.js","webpack://Reactable/./node_modules/isarray/index.js","webpack://Reactable/./node_modules/multipipe/index.js","webpack://Reactable/./node_modules/object-assign/index.js","webpack://Reactable/./node_modules/process-nextick-args/index.js","webpack://Reactable/./node_modules/process/browser.js","webpack://Reactable/./node_modules/react-dom/cjs/react-dom-server.node.production.min.js","webpack://Reactable/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://Reactable/./node_modules/react-dom/index.js","webpack://Reactable/./node_modules/react-dom/server.js","webpack://Reactable/./node_modules/react-dom/server.node.js","webpack://Reactable/./node_modules/react-test-renderer/cjs/react-test-renderer.production.min.js","webpack://Reactable/./node_modules/react-test-renderer/index.js","webpack://Reactable/./node_modules/react/cjs/react.production.min.js","webpack://Reactable/./node_modules/react/index.js","webpack://Reactable/./node_modules/readable-stream/lib/_stream_duplex.js","webpack://Reactable/./node_modules/readable-stream/lib/_stream_passthrough.js","webpack://Reactable/./node_modules/readable-stream/lib/_stream_readable.js","webpack://Reactable/./node_modules/readable-stream/lib/_stream_transform.js","webpack://Reactable/./node_modules/readable-stream/lib/_stream_writable.js","webpack://Reactable/./node_modules/readable-stream/readable.js","webpack://Reactable/./node_modules/safe-buffer/index.js","webpack://Reactable/./node_modules/scheduler/cjs/scheduler-unstable_mock.production.min.js","webpack://Reactable/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://Reactable/./node_modules/scheduler/index.js","webpack://Reactable/./node_modules/scheduler/unstable_mock.js","webpack://Reactable/./node_modules/stream-browserify/index.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/errors.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_passthrough.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_readable.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_transform.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/from.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/stream.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/safe-buffer/index.js","webpack://Reactable/./node_modules/stream-browserify/node_modules/string_decoder/lib/string_decoder.js","webpack://Reactable/./node_modules/string_decoder/index.js","webpack://Reactable/./node_modules/through/index.js","webpack://Reactable/./node_modules/tslib/tslib.es6.js","webpack://Reactable/./node_modules/util-deprecate/node.js","webpack://Reactable/./node_modules/util/support/isBuffer.js","webpack://Reactable/./node_modules/util/support/types.js","webpack://Reactable/./node_modules/util/util.js","webpack://Reactable/./node_modules/which-typed-array/index.js","webpack://Reactable/./node_modules/available-typed-arrays/index.js","webpack://Reactable/./node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js","webpack://Reactable/webpack/bootstrap","webpack://Reactable/webpack/runtime/compat get default export","webpack://Reactable/webpack/runtime/define property getters","webpack://Reactable/webpack/runtime/global","webpack://Reactable/webpack/runtime/hasOwnProperty shorthand","webpack://Reactable/webpack/runtime/make namespace object","webpack://Reactable/webpack/runtime/node module decorator","webpack://Reactable/./node_modules/@emotion/server/create-instance/dist/emotion-server-create-instance.esm.js","webpack://Reactable/./node_modules/react-table/src/publicUtils.js","webpack://Reactable/./node_modules/react-table/src/utils.js","webpack://Reactable/./node_modules/react-table/src/makeDefaultPluginHooks.js","webpack://Reactable/./node_modules/react-table/src/hooks/useColumnVisibility.js","webpack://Reactable/./node_modules/react-table/src/hooks/useTable.js","webpack://Reactable/./node_modules/react-table/src/plugin-hooks/useExpanded.js","webpack://Reactable/./node_modules/react-table/src/filterTypes.js","webpack://Reactable/./node_modules/react-table/src/plugin-hooks/useFilters.js","webpack://Reactable/./node_modules/react-table/src/plugin-hooks/useGlobalFilter.js","webpack://Reactable/./node_modules/react-table/src/aggregations.js","webpack://Reactable/./node_modules/react-table/src/plugin-hooks/useGroupBy.js","webpack://Reactable/./node_modules/react-table/src/sortTypes.js","webpack://Reactable/./node_modules/react-table/src/plugin-hooks/useSortBy.js","webpack://Reactable/./srcjs/reactR.js","webpack://Reactable/./node_modules/react-table/src/plugin-hooks/usePagination.js","webpack://Reactable/./node_modules/react-table/src/plugin-hooks/_UNSTABLE_usePivotColumns.js","webpack://Reactable/./node_modules/react-table/src/plugin-hooks/useRowSelect.js","webpack://Reactable/./node_modules/react-table/src/plugin-hooks/useRowState.js","webpack://Reactable/./node_modules/react-table/src/plugin-hooks/useColumnOrder.js","webpack://Reactable/./node_modules/react-table/src/plugin-hooks/useResizeColumns.js","webpack://Reactable/./node_modules/react-table/src/plugin-hooks/useGridLayout.js","webpack://Reactable/./node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","webpack://Reactable/./node_modules/stylis/src/Utility.js","webpack://Reactable/./node_modules/stylis/src/Tokenizer.js","webpack://Reactable/./node_modules/stylis/src/Enum.js","webpack://Reactable/./node_modules/stylis/src/Serializer.js","webpack://Reactable/./node_modules/stylis/src/Prefixer.js","webpack://Reactable/./node_modules/stylis/src/Middleware.js","webpack://Reactable/./node_modules/stylis/src/Parser.js","webpack://Reactable/./node_modules/@emotion/cache/dist/emotion-cache.esm.js","webpack://Reactable/./node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js","webpack://Reactable/./node_modules/@emotion/cache/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://Reactable/./node_modules/@emotion/hash/dist/emotion-hash.esm.js","webpack://Reactable/./node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","webpack://Reactable/./node_modules/@emotion/serialize/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://Reactable/./node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","webpack://Reactable/./node_modules/@emotion/utils/dist/emotion-utils.esm.js","webpack://Reactable/./node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js","webpack://Reactable/./srcjs/theme.js","webpack://Reactable/./srcjs/utils.js","webpack://Reactable/./srcjs/language.js","webpack://Reactable/./srcjs/Pagination.js","webpack://Reactable/./srcjs/WidgetContainer.js","webpack://Reactable/./srcjs/useFlexLayout.js","webpack://Reactable/./srcjs/useStickyColumns.js","webpack://Reactable/./srcjs/useGroupBy.js","webpack://Reactable/./srcjs/useResizeColumns.js","webpack://Reactable/./srcjs/useRowSelect.js","webpack://Reactable/./srcjs/usePagination.js","webpack://Reactable/./srcjs/aggregators.js","webpack://Reactable/./srcjs/columns.js","webpack://Reactable/./srcjs/Reactable.js","webpack://Reactable/./srcjs/useMeta.js","webpack://Reactable/./srcjs/server.js"],"sourcesContent":["/**\n * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist\n * @param locales\n */\nexport function CanonicalizeLocaleList(locales) {\n // TODO\n return Intl.getCanonicalLocales(locales);\n}\n","/**\n * https://tc39.es/ecma402/#sec-canonicalizetimezonename\n * @param tz\n */\nexport function CanonicalizeTimeZoneName(tz, _a) {\n var tzData = _a.tzData, uppercaseLinks = _a.uppercaseLinks;\n var uppercasedTz = tz.toUpperCase();\n var uppercasedZones = Object.keys(tzData).reduce(function (all, z) {\n all[z.toUpperCase()] = z;\n return all;\n }, {});\n var ianaTimeZone = uppercaseLinks[uppercasedTz] || uppercasedZones[uppercasedTz];\n if (ianaTimeZone === 'Etc/UTC' || ianaTimeZone === 'Etc/GMT') {\n return 'UTC';\n }\n return ianaTimeZone;\n}\n","/**\n * https://tc39.es/ecma262/#sec-tostring\n */\nexport function ToString(o) {\n // Only symbol is irregular...\n if (typeof o === 'symbol') {\n throw TypeError('Cannot convert a Symbol value to a string');\n }\n return String(o);\n}\n/**\n * https://tc39.es/ecma262/#sec-tonumber\n * @param val\n */\nexport function ToNumber(val) {\n if (val === undefined) {\n return NaN;\n }\n if (val === null) {\n return +0;\n }\n if (typeof val === 'boolean') {\n return val ? 1 : +0;\n }\n if (typeof val === 'number') {\n return val;\n }\n if (typeof val === 'symbol' || typeof val === 'bigint') {\n throw new TypeError('Cannot convert symbol/bigint to number');\n }\n return Number(val);\n}\n/**\n * https://tc39.es/ecma262/#sec-tointeger\n * @param n\n */\nfunction ToInteger(n) {\n var number = ToNumber(n);\n if (isNaN(number) || SameValue(number, -0)) {\n return 0;\n }\n if (isFinite(number)) {\n return number;\n }\n var integer = Math.floor(Math.abs(number));\n if (number < 0) {\n integer = -integer;\n }\n if (SameValue(integer, -0)) {\n return 0;\n }\n return integer;\n}\n/**\n * https://tc39.es/ecma262/#sec-timeclip\n * @param time\n */\nexport function TimeClip(time) {\n if (!isFinite(time)) {\n return NaN;\n }\n if (Math.abs(time) > 8.64 * 1e15) {\n return NaN;\n }\n return ToInteger(time);\n}\n/**\n * https://tc39.es/ecma262/#sec-toobject\n * @param arg\n */\nexport function ToObject(arg) {\n if (arg == null) {\n throw new TypeError('undefined/null cannot be converted to object');\n }\n return Object(arg);\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-samevalue\n * @param x\n * @param y\n */\nexport function SameValue(x, y) {\n if (Object.is) {\n return Object.is(x, y);\n }\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n }\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-arraycreate\n * @param len\n */\nexport function ArrayCreate(len) {\n return new Array(len);\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-hasownproperty\n * @param o\n * @param prop\n */\nexport function HasOwnProperty(o, prop) {\n return Object.prototype.hasOwnProperty.call(o, prop);\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-type\n * @param x\n */\nexport function Type(x) {\n if (x === null) {\n return 'Null';\n }\n if (typeof x === 'undefined') {\n return 'Undefined';\n }\n if (typeof x === 'function' || typeof x === 'object') {\n return 'Object';\n }\n if (typeof x === 'number') {\n return 'Number';\n }\n if (typeof x === 'boolean') {\n return 'Boolean';\n }\n if (typeof x === 'string') {\n return 'String';\n }\n if (typeof x === 'symbol') {\n return 'Symbol';\n }\n if (typeof x === 'bigint') {\n return 'BigInt';\n }\n}\nvar MS_PER_DAY = 86400000;\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#eqn-modulo\n * @param x\n * @param y\n * @return k of the same sign as y\n */\nfunction mod(x, y) {\n return x - Math.floor(x / y) * y;\n}\n/**\n * https://tc39.es/ecma262/#eqn-Day\n * @param t\n */\nexport function Day(t) {\n return Math.floor(t / MS_PER_DAY);\n}\n/**\n * https://tc39.es/ecma262/#sec-week-day\n * @param t\n */\nexport function WeekDay(t) {\n return mod(Day(t) + 4, 7);\n}\n/**\n * https://tc39.es/ecma262/#sec-year-number\n * @param y\n */\nexport function DayFromYear(y) {\n return Date.UTC(y, 0) / MS_PER_DAY;\n}\n/**\n * https://tc39.es/ecma262/#sec-year-number\n * @param y\n */\nexport function TimeFromYear(y) {\n return Date.UTC(y, 0);\n}\n/**\n * https://tc39.es/ecma262/#sec-year-number\n * @param t\n */\nexport function YearFromTime(t) {\n return new Date(t).getUTCFullYear();\n}\nexport function DaysInYear(y) {\n if (y % 4 !== 0) {\n return 365;\n }\n if (y % 100 !== 0) {\n return 366;\n }\n if (y % 400 !== 0) {\n return 365;\n }\n return 366;\n}\nexport function DayWithinYear(t) {\n return Day(t) - DayFromYear(YearFromTime(t));\n}\nexport function InLeapYear(t) {\n return DaysInYear(YearFromTime(t)) === 365 ? 0 : 1;\n}\n/**\n * https://tc39.es/ecma262/#sec-month-number\n * @param t\n */\nexport function MonthFromTime(t) {\n var dwy = DayWithinYear(t);\n var leap = InLeapYear(t);\n if (dwy >= 0 && dwy < 31) {\n return 0;\n }\n if (dwy < 59 + leap) {\n return 1;\n }\n if (dwy < 90 + leap) {\n return 2;\n }\n if (dwy < 120 + leap) {\n return 3;\n }\n if (dwy < 151 + leap) {\n return 4;\n }\n if (dwy < 181 + leap) {\n return 5;\n }\n if (dwy < 212 + leap) {\n return 6;\n }\n if (dwy < 243 + leap) {\n return 7;\n }\n if (dwy < 273 + leap) {\n return 8;\n }\n if (dwy < 304 + leap) {\n return 9;\n }\n if (dwy < 334 + leap) {\n return 10;\n }\n if (dwy < 365 + leap) {\n return 11;\n }\n throw new Error('Invalid time');\n}\nexport function DateFromTime(t) {\n var dwy = DayWithinYear(t);\n var mft = MonthFromTime(t);\n var leap = InLeapYear(t);\n if (mft === 0) {\n return dwy + 1;\n }\n if (mft === 1) {\n return dwy - 30;\n }\n if (mft === 2) {\n return dwy - 58 - leap;\n }\n if (mft === 3) {\n return dwy - 89 - leap;\n }\n if (mft === 4) {\n return dwy - 119 - leap;\n }\n if (mft === 5) {\n return dwy - 150 - leap;\n }\n if (mft === 6) {\n return dwy - 180 - leap;\n }\n if (mft === 7) {\n return dwy - 211 - leap;\n }\n if (mft === 8) {\n return dwy - 242 - leap;\n }\n if (mft === 9) {\n return dwy - 272 - leap;\n }\n if (mft === 10) {\n return dwy - 303 - leap;\n }\n if (mft === 11) {\n return dwy - 333 - leap;\n }\n throw new Error('Invalid time');\n}\nvar HOURS_PER_DAY = 24;\nvar MINUTES_PER_HOUR = 60;\nvar SECONDS_PER_MINUTE = 60;\nvar MS_PER_SECOND = 1e3;\nvar MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE;\nvar MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR;\nexport function HourFromTime(t) {\n return mod(Math.floor(t / MS_PER_HOUR), HOURS_PER_DAY);\n}\nexport function MinFromTime(t) {\n return mod(Math.floor(t / MS_PER_MINUTE), MINUTES_PER_HOUR);\n}\nexport function SecFromTime(t) {\n return mod(Math.floor(t / MS_PER_SECOND), SECONDS_PER_MINUTE);\n}\nfunction IsCallable(fn) {\n return typeof fn === 'function';\n}\n/**\n * The abstract operation OrdinaryHasInstance implements\n * the default algorithm for determining if an object O\n * inherits from the instance object inheritance path\n * provided by constructor C.\n * @param C class\n * @param O object\n * @param internalSlots internalSlots\n */\nexport function OrdinaryHasInstance(C, O, internalSlots) {\n if (!IsCallable(C)) {\n return false;\n }\n if (internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction) {\n var BC = internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction;\n return O instanceof BC;\n }\n if (typeof O !== 'object') {\n return false;\n }\n var P = C.prototype;\n if (typeof P !== 'object') {\n throw new TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');\n }\n return Object.prototype.isPrototypeOf.call(P, O);\n}\nexport function msFromTime(t) {\n return mod(t, MS_PER_SECOND);\n}\n","import { ToObject } from './262';\n/**\n * https://tc39.es/ecma402/#sec-coerceoptionstoobject\n * @param options\n * @returns\n */\nexport function CoerceOptionsToObject(options) {\n if (typeof options === 'undefined') {\n return Object.create(null);\n }\n return ToObject(options);\n}\n","export function DefaultNumberOption(val, min, max, fallback) {\n if (val !== undefined) {\n val = Number(val);\n if (isNaN(val) || val < min || val > max) {\n throw new RangeError(\"\".concat(val, \" is outside of range [\").concat(min, \", \").concat(max, \"]\"));\n }\n return Math.floor(val);\n }\n return fallback;\n}\n","/**\n * https://tc39.es/ecma402/#sec-getnumberoption\n * @param options\n * @param property\n * @param min\n * @param max\n * @param fallback\n */\nimport { DefaultNumberOption } from './DefaultNumberOption';\nexport function GetNumberOption(options, property, minimum, maximum, fallback) {\n var val = options[property];\n // @ts-expect-error\n return DefaultNumberOption(val, minimum, maximum, fallback);\n}\n","import { ToString } from './262';\n/**\n * https://tc39.es/ecma402/#sec-getoption\n * @param opts\n * @param prop\n * @param type\n * @param values\n * @param fallback\n */\nexport function GetOption(opts, prop, type, values, fallback) {\n if (typeof opts !== 'object') {\n throw new TypeError('Options must be an object');\n }\n var value = opts[prop];\n if (value !== undefined) {\n if (type !== 'boolean' && type !== 'string') {\n throw new TypeError('invalid type');\n }\n if (type === 'boolean') {\n value = Boolean(value);\n }\n if (type === 'string') {\n value = ToString(value);\n }\n if (values !== undefined && !values.filter(function (val) { return val == value; }).length) {\n throw new RangeError(\"\".concat(value, \" is not within \").concat(values.join(', ')));\n }\n return value;\n }\n return fallback;\n}\n","/**\n * https://tc39.es/ecma402/#sec-getoptionsobject\n * @param options\n * @returns\n */\nexport function GetOptionsObject(options) {\n if (typeof options === 'undefined') {\n return Object.create(null);\n }\n if (typeof options === 'object') {\n return options;\n }\n throw new TypeError('Options must be an object');\n}\n","/**\n * https://tc39.es/ecma402/#table-sanctioned-simple-unit-identifiers\n */\nexport var SANCTIONED_UNITS = [\n 'angle-degree',\n 'area-acre',\n 'area-hectare',\n 'concentr-percent',\n 'digital-bit',\n 'digital-byte',\n 'digital-gigabit',\n 'digital-gigabyte',\n 'digital-kilobit',\n 'digital-kilobyte',\n 'digital-megabit',\n 'digital-megabyte',\n 'digital-petabyte',\n 'digital-terabit',\n 'digital-terabyte',\n 'duration-day',\n 'duration-hour',\n 'duration-millisecond',\n 'duration-minute',\n 'duration-month',\n 'duration-second',\n 'duration-week',\n 'duration-year',\n 'length-centimeter',\n 'length-foot',\n 'length-inch',\n 'length-kilometer',\n 'length-meter',\n 'length-mile-scandinavian',\n 'length-mile',\n 'length-millimeter',\n 'length-yard',\n 'mass-gram',\n 'mass-kilogram',\n 'mass-ounce',\n 'mass-pound',\n 'mass-stone',\n 'temperature-celsius',\n 'temperature-fahrenheit',\n 'volume-fluid-ounce',\n 'volume-gallon',\n 'volume-liter',\n 'volume-milliliter',\n];\n// In CLDR, the unit name always follows the form `namespace-unit` pattern.\n// For example: `digital-bit` instead of `bit`. This function removes the namespace prefix.\nexport function removeUnitNamespace(unit) {\n return unit.slice(unit.indexOf('-') + 1);\n}\n/**\n * https://tc39.es/ecma402/#table-sanctioned-simple-unit-identifiers\n */\nexport var SIMPLE_UNITS = SANCTIONED_UNITS.map(removeUnitNamespace);\n/**\n * https://tc39.es/ecma402/#sec-issanctionedsimpleunitidentifier\n */\nexport function IsSanctionedSimpleUnitIdentifier(unitIdentifier) {\n return SIMPLE_UNITS.indexOf(unitIdentifier) > -1;\n}\n","/**\n * https://tc39.es/ecma402/#sec-isvalidtimezonename\n * @param tz\n * @param implDetails implementation details\n */\nexport function IsValidTimeZoneName(tz, _a) {\n var tzData = _a.tzData, uppercaseLinks = _a.uppercaseLinks;\n var uppercasedTz = tz.toUpperCase();\n var zoneNames = new Set();\n var linkNames = new Set();\n Object.keys(tzData)\n .map(function (z) { return z.toUpperCase(); })\n .forEach(function (z) { return zoneNames.add(z); });\n Object.keys(uppercaseLinks).forEach(function (linkName) {\n linkNames.add(linkName.toUpperCase());\n zoneNames.add(uppercaseLinks[linkName].toUpperCase());\n });\n return zoneNames.has(uppercasedTz) || linkNames.has(uppercasedTz);\n}\n","/**\n * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping\n * @param str string to convert\n */\nfunction toUpperCase(str) {\n return str.replace(/([a-z])/g, function (_, c) { return c.toUpperCase(); });\n}\nvar NOT_A_Z_REGEX = /[^A-Z]/;\n/**\n * https://tc39.es/ecma402/#sec-iswellformedcurrencycode\n */\nexport function IsWellFormedCurrencyCode(currency) {\n currency = toUpperCase(currency);\n if (currency.length !== 3) {\n return false;\n }\n if (NOT_A_Z_REGEX.test(currency)) {\n return false;\n }\n return true;\n}\n","import { IsSanctionedSimpleUnitIdentifier } from './IsSanctionedSimpleUnitIdentifier';\n/**\n * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping\n * @param str string to convert\n */\nfunction toLowerCase(str) {\n return str.replace(/([A-Z])/g, function (_, c) { return c.toLowerCase(); });\n}\n/**\n * https://tc39.es/ecma402/#sec-iswellformedunitidentifier\n * @param unit\n */\nexport function IsWellFormedUnitIdentifier(unit) {\n unit = toLowerCase(unit);\n if (IsSanctionedSimpleUnitIdentifier(unit)) {\n return true;\n }\n var units = unit.split('-per-');\n if (units.length !== 2) {\n return false;\n }\n var numerator = units[0], denominator = units[1];\n if (!IsSanctionedSimpleUnitIdentifier(numerator) ||\n !IsSanctionedSimpleUnitIdentifier(denominator)) {\n return false;\n }\n return true;\n}\n","/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n var arr = new Array(times);\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n return arr.join('');\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(\"\".concat(pl, \" InternalSlot has not been initialized\"));\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value,\n });\n}\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","/**\n * The abstract operation ComputeExponentForMagnitude computes an exponent by which to scale a\n * number of the given magnitude (power of ten of the most significant digit) according to the\n * locale and the desired notation (scientific, engineering, or compact).\n */\nexport function ComputeExponentForMagnitude(numberFormat, magnitude, _a) {\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(numberFormat);\n var notation = internalSlots.notation, dataLocaleData = internalSlots.dataLocaleData, numberingSystem = internalSlots.numberingSystem;\n switch (notation) {\n case 'standard':\n return 0;\n case 'scientific':\n return magnitude;\n case 'engineering':\n return Math.floor(magnitude / 3) * 3;\n default: {\n // Let exponent be an implementation- and locale-dependent (ILD) integer by which to scale a\n // number of the given magnitude in compact notation for the current locale.\n var compactDisplay = internalSlots.compactDisplay, style = internalSlots.style, currencyDisplay = internalSlots.currencyDisplay;\n var thresholdMap = void 0;\n if (style === 'currency' && currencyDisplay !== 'name') {\n var currency = dataLocaleData.numbers.currency[numberingSystem] ||\n dataLocaleData.numbers.currency[dataLocaleData.numbers.nu[0]];\n thresholdMap = currency.short;\n }\n else {\n var decimal = dataLocaleData.numbers.decimal[numberingSystem] ||\n dataLocaleData.numbers.decimal[dataLocaleData.numbers.nu[0]];\n thresholdMap = compactDisplay === 'long' ? decimal.long : decimal.short;\n }\n if (!thresholdMap) {\n return 0;\n }\n var num = String(Math.pow(10, magnitude));\n var thresholds = Object.keys(thresholdMap); // TODO: this can be pre-processed\n if (num < thresholds[0]) {\n return 0;\n }\n if (num > thresholds[thresholds.length - 1]) {\n return thresholds[thresholds.length - 1].length - 1;\n }\n var i = thresholds.indexOf(num);\n if (i === -1) {\n return 0;\n }\n // See https://unicode.org/reports/tr35/tr35-numbers.html#Compact_Number_Formats\n // Special handling if the pattern is precisely `0`.\n var magnitudeKey = thresholds[i];\n // TODO: do we need to handle plural here?\n var compactPattern = thresholdMap[magnitudeKey].other;\n if (compactPattern === '0') {\n return 0;\n }\n // Example: in zh-TW, `10000000` maps to `0000萬`. So we need to return 8 - 4 = 4 here.\n return (magnitudeKey.length -\n thresholdMap[magnitudeKey].other.match(/0+/)[0].length);\n }\n }\n}\n","import { repeat, getMagnitude } from '../utils';\nexport function ToRawPrecision(x, minPrecision, maxPrecision) {\n var p = maxPrecision;\n var m;\n var e;\n var xFinal;\n if (x === 0) {\n m = repeat('0', p);\n e = 0;\n xFinal = 0;\n }\n else {\n var xToString = x.toString();\n // If xToString is formatted as scientific notation, the number is either very small or very\n // large. If the precision of the formatted string is lower that requested max precision, we\n // should still infer them from the formatted string, otherwise the formatted result might have\n // precision loss (e.g. 1e41 will not have 0 in every trailing digits).\n var xToStringExponentIndex = xToString.indexOf('e');\n var _a = xToString.split('e'), xToStringMantissa = _a[0], xToStringExponent = _a[1];\n var xToStringMantissaWithoutDecimalPoint = xToStringMantissa.replace('.', '');\n if (xToStringExponentIndex >= 0 &&\n xToStringMantissaWithoutDecimalPoint.length <= p) {\n e = +xToStringExponent;\n m =\n xToStringMantissaWithoutDecimalPoint +\n repeat('0', p - xToStringMantissaWithoutDecimalPoint.length);\n xFinal = x;\n }\n else {\n e = getMagnitude(x);\n var decimalPlaceOffset = e - p + 1;\n // n is the integer containing the required precision digits. To derive the formatted string,\n // we will adjust its decimal place in the logic below.\n var n = Math.round(adjustDecimalPlace(x, decimalPlaceOffset));\n // The rounding caused the change of magnitude, so we should increment `e` by 1.\n if (adjustDecimalPlace(n, p - 1) >= 10) {\n e = e + 1;\n // Divide n by 10 to swallow one precision.\n n = Math.floor(n / 10);\n }\n m = n.toString();\n // Equivalent of n * 10 ** (e - p + 1)\n xFinal = adjustDecimalPlace(n, p - 1 - e);\n }\n }\n var int;\n if (e >= p - 1) {\n m = m + repeat('0', e - p + 1);\n int = e + 1;\n }\n else if (e >= 0) {\n m = \"\".concat(m.slice(0, e + 1), \".\").concat(m.slice(e + 1));\n int = e + 1;\n }\n else {\n m = \"0.\".concat(repeat('0', -e - 1)).concat(m);\n int = 1;\n }\n if (m.indexOf('.') >= 0 && maxPrecision > minPrecision) {\n var cut = maxPrecision - minPrecision;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, -1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, -1);\n }\n }\n return { formattedString: m, roundedNumber: xFinal, integerDigitsCount: int };\n // x / (10 ** magnitude), but try to preserve as much floating point precision as possible.\n function adjustDecimalPlace(x, magnitude) {\n return magnitude < 0 ? x * Math.pow(10, -magnitude) : x / Math.pow(10, magnitude);\n }\n}\n","import { repeat } from '../utils';\n/**\n * TODO: dedup with intl-pluralrules and support BigInt\n * https://tc39.es/ecma402/#sec-torawfixed\n * @param x a finite non-negative Number or BigInt\n * @param minFraction and integer between 0 and 20\n * @param maxFraction and integer between 0 and 20\n */\nexport function ToRawFixed(x, minFraction, maxFraction) {\n var f = maxFraction;\n var n = Math.round(x * Math.pow(10, f));\n var xFinal = n / Math.pow(10, f);\n // n is a positive integer, but it is possible to be greater than 1e21.\n // In such case we will go the slow path.\n // See also: https://tc39.es/ecma262/#sec-numeric-types-number-tostring\n var m;\n if (n < 1e21) {\n m = n.toString();\n }\n else {\n m = n.toString();\n var _a = m.split('e'), mantissa = _a[0], exponent = _a[1];\n m = mantissa.replace('.', '');\n m = m + repeat('0', Math.max(+exponent - m.length + 1, 0));\n }\n var int;\n if (f !== 0) {\n var k = m.length;\n if (k <= f) {\n var z = repeat('0', f + 1 - k);\n m = z + m;\n k = f + 1;\n }\n var a = m.slice(0, k - f);\n var b = m.slice(k - f);\n m = \"\".concat(a, \".\").concat(b);\n int = a.length;\n }\n else {\n int = m.length;\n }\n var cut = maxFraction - minFraction;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, -1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, -1);\n }\n return { formattedString: m, roundedNumber: xFinal, integerDigitsCount: int };\n}\n","import { SameValue } from '../262';\nimport { ToRawPrecision } from './ToRawPrecision';\nimport { repeat } from '../utils';\nimport { ToRawFixed } from './ToRawFixed';\n/**\n * https://tc39.es/ecma402/#sec-formatnumberstring\n */\nexport function FormatNumericToString(intlObject, x) {\n var isNegative = x < 0 || SameValue(x, -0);\n if (isNegative) {\n x = -x;\n }\n var result;\n var rourndingType = intlObject.roundingType;\n switch (rourndingType) {\n case 'significantDigits':\n result = ToRawPrecision(x, intlObject.minimumSignificantDigits, intlObject.maximumSignificantDigits);\n break;\n case 'fractionDigits':\n result = ToRawFixed(x, intlObject.minimumFractionDigits, intlObject.maximumFractionDigits);\n break;\n default:\n result = ToRawPrecision(x, 1, 2);\n if (result.integerDigitsCount > 1) {\n result = ToRawFixed(x, 0, 0);\n }\n break;\n }\n x = result.roundedNumber;\n var string = result.formattedString;\n var int = result.integerDigitsCount;\n var minInteger = intlObject.minimumIntegerDigits;\n if (int < minInteger) {\n var forwardZeros = repeat('0', minInteger - int);\n string = forwardZeros + string;\n }\n if (isNegative) {\n x = -x;\n }\n return { roundedNumber: x, formattedString: string };\n}\n","import { getMagnitude } from '../utils';\nimport { ComputeExponentForMagnitude } from './ComputeExponentForMagnitude';\nimport { FormatNumericToString } from './FormatNumericToString';\n/**\n * The abstract operation ComputeExponent computes an exponent (power of ten) by which to scale x\n * according to the number formatting settings. It handles cases such as 999 rounding up to 1000,\n * requiring a different exponent.\n *\n * NOT IN SPEC: it returns [exponent, magnitude].\n */\nexport function ComputeExponent(numberFormat, x, _a) {\n var getInternalSlots = _a.getInternalSlots;\n if (x === 0) {\n return [0, 0];\n }\n if (x < 0) {\n x = -x;\n }\n var magnitude = getMagnitude(x);\n var exponent = ComputeExponentForMagnitude(numberFormat, magnitude, {\n getInternalSlots: getInternalSlots,\n });\n // Preserve more precision by doing multiplication when exponent is negative.\n x = exponent < 0 ? x * Math.pow(10, -exponent) : x / Math.pow(10, exponent);\n var formatNumberResult = FormatNumericToString(getInternalSlots(numberFormat), x);\n if (formatNumberResult.roundedNumber === 0) {\n return [exponent, magnitude];\n }\n var newMagnitude = getMagnitude(formatNumberResult.roundedNumber);\n if (newMagnitude === magnitude - exponent) {\n return [exponent, magnitude];\n }\n return [\n ComputeExponentForMagnitude(numberFormat, magnitude + 1, {\n getInternalSlots: getInternalSlots,\n }),\n magnitude + 1,\n ];\n}\n","import { HasOwnProperty } from '../262';\n/**\n * https://tc39.es/ecma402/#sec-currencydigits\n */\nexport function CurrencyDigits(c, _a) {\n var currencyDigitsData = _a.currencyDigitsData;\n return HasOwnProperty(currencyDigitsData, c)\n ? currencyDigitsData[c]\n : 2;\n}\n","export var digitMapping = { \"adlm\": [\"𞥐\", \"𞥑\", \"𞥒\", \"𞥓\", \"𞥔\", \"𞥕\", \"𞥖\", \"𞥗\", \"𞥘\", \"𞥙\"], \"ahom\": [\"𑜰\", \"𑜱\", \"𑜲\", \"𑜳\", \"𑜴\", \"𑜵\", \"𑜶\", \"𑜷\", \"𑜸\", \"𑜹\"], \"arab\": [\"٠\", \"١\", \"٢\", \"٣\", \"٤\", \"٥\", \"٦\", \"٧\", \"٨\", \"٩\"], \"arabext\": [\"۰\", \"۱\", \"۲\", \"۳\", \"۴\", \"۵\", \"۶\", \"۷\", \"۸\", \"۹\"], \"bali\": [\"᭐\", \"᭑\", \"᭒\", \"᭓\", \"᭔\", \"᭕\", \"᭖\", \"᭗\", \"᭘\", \"᭙\"], \"beng\": [\"০\", \"১\", \"২\", \"৩\", \"৪\", \"৫\", \"৬\", \"৭\", \"৮\", \"৯\"], \"bhks\": [\"𑱐\", \"𑱑\", \"𑱒\", \"𑱓\", \"𑱔\", \"𑱕\", \"𑱖\", \"𑱗\", \"𑱘\", \"𑱙\"], \"brah\": [\"𑁦\", \"𑁧\", \"𑁨\", \"𑁩\", \"𑁪\", \"𑁫\", \"𑁬\", \"𑁭\", \"𑁮\", \"𑁯\"], \"cakm\": [\"𑄶\", \"𑄷\", \"𑄸\", \"𑄹\", \"𑄺\", \"𑄻\", \"𑄼\", \"𑄽\", \"𑄾\", \"𑄿\"], \"cham\": [\"꩐\", \"꩑\", \"꩒\", \"꩓\", \"꩔\", \"꩕\", \"꩖\", \"꩗\", \"꩘\", \"꩙\"], \"deva\": [\"०\", \"१\", \"२\", \"३\", \"४\", \"५\", \"६\", \"७\", \"८\", \"९\"], \"diak\": [\"𑥐\", \"𑥑\", \"𑥒\", \"𑥓\", \"𑥔\", \"𑥕\", \"𑥖\", \"𑥗\", \"𑥘\", \"𑥙\"], \"fullwide\": [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"], \"gong\": [\"𑶠\", \"𑶡\", \"𑶢\", \"𑶣\", \"𑶤\", \"𑶥\", \"𑶦\", \"𑶧\", \"𑶨\", \"𑶩\"], \"gonm\": [\"𑵐\", \"𑵑\", \"𑵒\", \"𑵓\", \"𑵔\", \"𑵕\", \"𑵖\", \"𑵗\", \"𑵘\", \"𑵙\"], \"gujr\": [\"૦\", \"૧\", \"૨\", \"૩\", \"૪\", \"૫\", \"૬\", \"૭\", \"૮\", \"૯\"], \"guru\": [\"੦\", \"੧\", \"੨\", \"੩\", \"੪\", \"੫\", \"੬\", \"੭\", \"੮\", \"੯\"], \"hanidec\": [\"〇\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\", \"七\", \"八\", \"九\"], \"hmng\": [\"𖭐\", \"𖭑\", \"𖭒\", \"𖭓\", \"𖭔\", \"𖭕\", \"𖭖\", \"𖭗\", \"𖭘\", \"𖭙\"], \"hmnp\": [\"𞅀\", \"𞅁\", \"𞅂\", \"𞅃\", \"𞅄\", \"𞅅\", \"𞅆\", \"𞅇\", \"𞅈\", \"𞅉\"], \"java\": [\"꧐\", \"꧑\", \"꧒\", \"꧓\", \"꧔\", \"꧕\", \"꧖\", \"꧗\", \"꧘\", \"꧙\"], \"kali\": [\"꤀\", \"꤁\", \"꤂\", \"꤃\", \"꤄\", \"꤅\", \"꤆\", \"꤇\", \"꤈\", \"꤉\"], \"khmr\": [\"០\", \"១\", \"២\", \"៣\", \"៤\", \"៥\", \"៦\", \"៧\", \"៨\", \"៩\"], \"knda\": [\"೦\", \"೧\", \"೨\", \"೩\", \"೪\", \"೫\", \"೬\", \"೭\", \"೮\", \"೯\"], \"lana\": [\"᪀\", \"᪁\", \"᪂\", \"᪃\", \"᪄\", \"᪅\", \"᪆\", \"᪇\", \"᪈\", \"᪉\"], \"lanatham\": [\"᪐\", \"᪑\", \"᪒\", \"᪓\", \"᪔\", \"᪕\", \"᪖\", \"᪗\", \"᪘\", \"᪙\"], \"laoo\": [\"໐\", \"໑\", \"໒\", \"໓\", \"໔\", \"໕\", \"໖\", \"໗\", \"໘\", \"໙\"], \"lepc\": [\"᪐\", \"᪑\", \"᪒\", \"᪓\", \"᪔\", \"᪕\", \"᪖\", \"᪗\", \"᪘\", \"᪙\"], \"limb\": [\"᥆\", \"᥇\", \"᥈\", \"᥉\", \"᥊\", \"᥋\", \"᥌\", \"᥍\", \"᥎\", \"᥏\"], \"mathbold\": [\"𝟎\", \"𝟏\", \"𝟐\", \"𝟑\", \"𝟒\", \"𝟓\", \"𝟔\", \"𝟕\", \"𝟖\", \"𝟗\"], \"mathdbl\": [\"𝟘\", \"𝟙\", \"𝟚\", \"𝟛\", \"𝟜\", \"𝟝\", \"𝟞\", \"𝟟\", \"𝟠\", \"𝟡\"], \"mathmono\": [\"𝟶\", \"𝟷\", \"𝟸\", \"𝟹\", \"𝟺\", \"𝟻\", \"𝟼\", \"𝟽\", \"𝟾\", \"𝟿\"], \"mathsanb\": [\"𝟬\", \"𝟭\", \"𝟮\", \"𝟯\", \"𝟰\", \"𝟱\", \"𝟲\", \"𝟳\", \"𝟴\", \"𝟵\"], \"mathsans\": [\"𝟢\", \"𝟣\", \"𝟤\", \"𝟥\", \"𝟦\", \"𝟧\", \"𝟨\", \"𝟩\", \"𝟪\", \"𝟫\"], \"mlym\": [\"൦\", \"൧\", \"൨\", \"൩\", \"൪\", \"൫\", \"൬\", \"൭\", \"൮\", \"൯\"], \"modi\": [\"𑙐\", \"𑙑\", \"𑙒\", \"𑙓\", \"𑙔\", \"𑙕\", \"𑙖\", \"𑙗\", \"𑙘\", \"𑙙\"], \"mong\": [\"᠐\", \"᠑\", \"᠒\", \"᠓\", \"᠔\", \"᠕\", \"᠖\", \"᠗\", \"᠘\", \"᠙\"], \"mroo\": [\"𖩠\", \"𖩡\", \"𖩢\", \"𖩣\", \"𖩤\", \"𖩥\", \"𖩦\", \"𖩧\", \"𖩨\", \"𖩩\"], \"mtei\": [\"꯰\", \"꯱\", \"꯲\", \"꯳\", \"꯴\", \"꯵\", \"꯶\", \"꯷\", \"꯸\", \"꯹\"], \"mymr\": [\"၀\", \"၁\", \"၂\", \"၃\", \"၄\", \"၅\", \"၆\", \"၇\", \"၈\", \"၉\"], \"mymrshan\": [\"႐\", \"႑\", \"႒\", \"႓\", \"႔\", \"႕\", \"႖\", \"႗\", \"႘\", \"႙\"], \"mymrtlng\": [\"꧰\", \"꧱\", \"꧲\", \"꧳\", \"꧴\", \"꧵\", \"꧶\", \"꧷\", \"꧸\", \"꧹\"], \"newa\": [\"𑑐\", \"𑑑\", \"𑑒\", \"𑑓\", \"𑑔\", \"𑑕\", \"𑑖\", \"𑑗\", \"𑑘\", \"𑑙\"], \"nkoo\": [\"߀\", \"߁\", \"߂\", \"߃\", \"߄\", \"߅\", \"߆\", \"߇\", \"߈\", \"߉\"], \"olck\": [\"᱐\", \"᱑\", \"᱒\", \"᱓\", \"᱔\", \"᱕\", \"᱖\", \"᱗\", \"᱘\", \"᱙\"], \"orya\": [\"୦\", \"୧\", \"୨\", \"୩\", \"୪\", \"୫\", \"୬\", \"୭\", \"୮\", \"୯\"], \"osma\": [\"𐒠\", \"𐒡\", \"𐒢\", \"𐒣\", \"𐒤\", \"𐒥\", \"𐒦\", \"𐒧\", \"𐒨\", \"𐒩\"], \"rohg\": [\"𐴰\", \"𐴱\", \"𐴲\", \"𐴳\", \"𐴴\", \"𐴵\", \"𐴶\", \"𐴷\", \"𐴸\", \"𐴹\"], \"saur\": [\"꣐\", \"꣑\", \"꣒\", \"꣓\", \"꣔\", \"꣕\", \"꣖\", \"꣗\", \"꣘\", \"꣙\"], \"segment\": [\"🯰\", \"🯱\", \"🯲\", \"🯳\", \"🯴\", \"🯵\", \"🯶\", \"🯷\", \"🯸\", \"🯹\"], \"shrd\": [\"𑇐\", \"𑇑\", \"𑇒\", \"𑇓\", \"𑇔\", \"𑇕\", \"𑇖\", \"𑇗\", \"𑇘\", \"𑇙\"], \"sind\": [\"𑋰\", \"𑋱\", \"𑋲\", \"𑋳\", \"𑋴\", \"𑋵\", \"𑋶\", \"𑋷\", \"𑋸\", \"𑋹\"], \"sinh\": [\"෦\", \"෧\", \"෨\", \"෩\", \"෪\", \"෫\", \"෬\", \"෭\", \"෮\", \"෯\"], \"sora\": [\"𑃰\", \"𑃱\", \"𑃲\", \"𑃳\", \"𑃴\", \"𑃵\", \"𑃶\", \"𑃷\", \"𑃸\", \"𑃹\"], \"sund\": [\"᮰\", \"᮱\", \"᮲\", \"᮳\", \"᮴\", \"᮵\", \"᮶\", \"᮷\", \"᮸\", \"᮹\"], \"takr\": [\"𑛀\", \"𑛁\", \"𑛂\", \"𑛃\", \"𑛄\", \"𑛅\", \"𑛆\", \"𑛇\", \"𑛈\", \"𑛉\"], \"talu\": [\"᧐\", \"᧑\", \"᧒\", \"᧓\", \"᧔\", \"᧕\", \"᧖\", \"᧗\", \"᧘\", \"᧙\"], \"tamldec\": [\"௦\", \"௧\", \"௨\", \"௩\", \"௪\", \"௫\", \"௬\", \"௭\", \"௮\", \"௯\"], \"telu\": [\"౦\", \"౧\", \"౨\", \"౩\", \"౪\", \"౫\", \"౬\", \"౭\", \"౮\", \"౯\"], \"thai\": [\"๐\", \"๑\", \"๒\", \"๓\", \"๔\", \"๕\", \"๖\", \"๗\", \"๘\", \"๙\"], \"tibt\": [\"༠\", \"༡\", \"༢\", \"༣\", \"༤\", \"༥\", \"༦\", \"༧\", \"༨\", \"༩\"], \"tirh\": [\"𑓐\", \"𑓑\", \"𑓒\", \"𑓓\", \"𑓔\", \"𑓕\", \"𑓖\", \"𑓗\", \"𑓘\", \"𑓙\"], \"vaii\": [\"ᘠ\", \"ᘡ\", \"ᘢ\", \"ᘣ\", \"ᘤ\", \"ᘥ\", \"ᘦ\", \"ᘧ\", \"ᘨ\", \"ᘩ\"], \"wara\": [\"𑣠\", \"𑣡\", \"𑣢\", \"𑣣\", \"𑣤\", \"𑣥\", \"𑣦\", \"𑣧\", \"𑣨\", \"𑣩\"], \"wcho\": [\"𞋰\", \"𞋱\", \"𞋲\", \"𞋳\", \"𞋴\", \"𞋵\", \"𞋶\", \"𞋷\", \"𞋸\", \"𞋹\"] };\n","// @generated from regex-gen.ts\nexport var S_UNICODE_REGEX = /[\\$\\+<->\\^`\\|~\\xA2-\\xA6\\xA8\\xA9\\xAC\\xAE-\\xB1\\xB4\\xB8\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u02FF\\u0375\\u0384\\u0385\\u03F6\\u0482\\u058D-\\u058F\\u0606-\\u0608\\u060B\\u060E\\u060F\\u06DE\\u06E9\\u06FD\\u06FE\\u07F6\\u07FE\\u07FF\\u09F2\\u09F3\\u09FA\\u09FB\\u0AF1\\u0B70\\u0BF3-\\u0BFA\\u0C7F\\u0D4F\\u0D79\\u0E3F\\u0F01-\\u0F03\\u0F13\\u0F15-\\u0F17\\u0F1A-\\u0F1F\\u0F34\\u0F36\\u0F38\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE\\u0FCF\\u0FD5-\\u0FD8\\u109E\\u109F\\u1390-\\u1399\\u166D\\u17DB\\u1940\\u19DE-\\u19FF\\u1B61-\\u1B6A\\u1B74-\\u1B7C\\u1FBD\\u1FBF-\\u1FC1\\u1FCD-\\u1FCF\\u1FDD-\\u1FDF\\u1FED-\\u1FEF\\u1FFD\\u1FFE\\u2044\\u2052\\u207A-\\u207C\\u208A-\\u208C\\u20A0-\\u20BF\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F\\u218A\\u218B\\u2190-\\u2307\\u230C-\\u2328\\u232B-\\u2426\\u2440-\\u244A\\u249C-\\u24E9\\u2500-\\u2767\\u2794-\\u27C4\\u27C7-\\u27E5\\u27F0-\\u2982\\u2999-\\u29D7\\u29DC-\\u29FB\\u29FE-\\u2B73\\u2B76-\\u2B95\\u2B97-\\u2BFF\\u2CE5-\\u2CEA\\u2E50\\u2E51\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3004\\u3012\\u3013\\u3020\\u3036\\u3037\\u303E\\u303F\\u309B\\u309C\\u3190\\u3191\\u3196-\\u319F\\u31C0-\\u31E3\\u3200-\\u321E\\u322A-\\u3247\\u3250\\u3260-\\u327F\\u328A-\\u32B0\\u32C0-\\u33FF\\u4DC0-\\u4DFF\\uA490-\\uA4C6\\uA700-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA828-\\uA82B\\uA836-\\uA839\\uAA77-\\uAA79\\uAB5B\\uAB6A\\uAB6B\\uFB29\\uFBB2-\\uFBC1\\uFDFC\\uFDFD\\uFE62\\uFE64-\\uFE66\\uFE69\\uFF04\\uFF0B\\uFF1C-\\uFF1E\\uFF3E\\uFF40\\uFF5C\\uFF5E\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\uFFFC\\uFFFD]|\\uD800[\\uDD37-\\uDD3F\\uDD79-\\uDD89\\uDD8C-\\uDD8E\\uDD90-\\uDD9C\\uDDA0\\uDDD0-\\uDDFC]|\\uD802[\\uDC77\\uDC78\\uDEC8]|\\uD805\\uDF3F|\\uD807[\\uDFD5-\\uDFF1]|\\uD81A[\\uDF3C-\\uDF3F\\uDF45]|\\uD82F\\uDC9C|\\uD834[\\uDC00-\\uDCF5\\uDD00-\\uDD26\\uDD29-\\uDD64\\uDD6A-\\uDD6C\\uDD83\\uDD84\\uDD8C-\\uDDA9\\uDDAE-\\uDDE8\\uDE00-\\uDE41\\uDE45\\uDF00-\\uDF56]|\\uD835[\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3]|\\uD836[\\uDC00-\\uDDFF\\uDE37-\\uDE3A\\uDE6D-\\uDE74\\uDE76-\\uDE83\\uDE85\\uDE86]|\\uD838[\\uDD4F\\uDEFF]|\\uD83B[\\uDCAC\\uDCB0\\uDD2E\\uDEF0\\uDEF1]|\\uD83C[\\uDC00-\\uDC2B\\uDC30-\\uDC93\\uDCA0-\\uDCAE\\uDCB1-\\uDCBF\\uDCC1-\\uDCCF\\uDCD1-\\uDCF5\\uDD0D-\\uDDAD\\uDDE6-\\uDE02\\uDE10-\\uDE3B\\uDE40-\\uDE48\\uDE50\\uDE51\\uDE60-\\uDE65\\uDF00-\\uDFFF]|\\uD83D[\\uDC00-\\uDED7\\uDEE0-\\uDEEC\\uDEF0-\\uDEFC\\uDF00-\\uDF73\\uDF80-\\uDFD8\\uDFE0-\\uDFEB]|\\uD83E[\\uDC00-\\uDC0B\\uDC10-\\uDC47\\uDC50-\\uDC59\\uDC60-\\uDC87\\uDC90-\\uDCAD\\uDCB0\\uDCB1\\uDD00-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDE53\\uDE60-\\uDE6D\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6\\uDF00-\\uDF92\\uDF94-\\uDFCA]/;\n","import { ToRawFixed } from './ToRawFixed';\nimport { digitMapping } from './digit-mapping.generated';\nimport { S_UNICODE_REGEX } from '../regex.generated';\n// This is from: unicode-12.1.0/General_Category/Symbol/regex.js\n// IE11 does not support unicode flag, otherwise this is just /\\p{S}/u.\n// /^\\p{S}/u\nvar CARET_S_UNICODE_REGEX = new RegExp(\"^\".concat(S_UNICODE_REGEX.source));\n// /\\p{S}$/u\nvar S_DOLLAR_UNICODE_REGEX = new RegExp(\"\".concat(S_UNICODE_REGEX.source, \"$\"));\nvar CLDR_NUMBER_PATTERN = /[#0](?:[\\.,][#0]+)*/g;\nexport default function formatToParts(numberResult, data, pl, options) {\n var sign = numberResult.sign, exponent = numberResult.exponent, magnitude = numberResult.magnitude;\n var notation = options.notation, style = options.style, numberingSystem = options.numberingSystem;\n var defaultNumberingSystem = data.numbers.nu[0];\n // #region Part 1: partition and interpolate the CLDR number pattern.\n // ----------------------------------------------------------\n var compactNumberPattern = null;\n if (notation === 'compact' && magnitude) {\n compactNumberPattern = getCompactDisplayPattern(numberResult, pl, data, style, options.compactDisplay, options.currencyDisplay, numberingSystem);\n }\n // This is used multiple times\n var nonNameCurrencyPart;\n if (style === 'currency' && options.currencyDisplay !== 'name') {\n var byCurrencyDisplay = data.currencies[options.currency];\n if (byCurrencyDisplay) {\n switch (options.currencyDisplay) {\n case 'code':\n nonNameCurrencyPart = options.currency;\n break;\n case 'symbol':\n nonNameCurrencyPart = byCurrencyDisplay.symbol;\n break;\n default:\n nonNameCurrencyPart = byCurrencyDisplay.narrow;\n break;\n }\n }\n else {\n // Fallback for unknown currency\n nonNameCurrencyPart = options.currency;\n }\n }\n var numberPattern;\n if (!compactNumberPattern) {\n // Note: if the style is unit, or is currency and the currency display is name,\n // its unit parts will be interpolated in part 2. So here we can fallback to decimal.\n if (style === 'decimal' ||\n style === 'unit' ||\n (style === 'currency' && options.currencyDisplay === 'name')) {\n // Shortcut for decimal\n var decimalData = data.numbers.decimal[numberingSystem] ||\n data.numbers.decimal[defaultNumberingSystem];\n numberPattern = getPatternForSign(decimalData.standard, sign);\n }\n else if (style === 'currency') {\n var currencyData = data.numbers.currency[numberingSystem] ||\n data.numbers.currency[defaultNumberingSystem];\n // We replace number pattern part with `0` for easier postprocessing.\n numberPattern = getPatternForSign(currencyData[options.currencySign], sign);\n }\n else {\n // percent\n var percentPattern = data.numbers.percent[numberingSystem] ||\n data.numbers.percent[defaultNumberingSystem];\n numberPattern = getPatternForSign(percentPattern, sign);\n }\n }\n else {\n numberPattern = compactNumberPattern;\n }\n // Extract the decimal number pattern string. It looks like \"#,##0,00\", which will later be\n // used to infer decimal group sizes.\n var decimalNumberPattern = CLDR_NUMBER_PATTERN.exec(numberPattern)[0];\n // Now we start to substitute patterns\n // 1. replace strings like `0` and `#,##0.00` with `{0}`\n // 2. unquote characters (invariant: the quoted characters does not contain the special tokens)\n numberPattern = numberPattern\n .replace(CLDR_NUMBER_PATTERN, '{0}')\n .replace(/'(.)'/g, '$1');\n // Handle currency spacing (both compact and non-compact).\n if (style === 'currency' && options.currencyDisplay !== 'name') {\n var currencyData = data.numbers.currency[numberingSystem] ||\n data.numbers.currency[defaultNumberingSystem];\n // See `currencySpacing` substitution rule in TR-35.\n // Here we always assume the currencyMatch is \"[:^S:]\" and surroundingMatch is \"[:digit:]\".\n //\n // Example 1: for pattern \"#,##0.00¤\" with symbol \"US$\", we replace \"¤\" with the symbol,\n // but insert an extra non-break space before the symbol, because \"[:^S:]\" matches \"U\" in\n // \"US$\" and \"[:digit:]\" matches the latn numbering system digits.\n //\n // Example 2: for pattern \"¤#,##0.00\" with symbol \"US$\", there is no spacing between symbol\n // and number, because `$` does not match \"[:^S:]\".\n //\n // Implementation note: here we do the best effort to infer the insertion.\n // We also assume that `beforeInsertBetween` and `afterInsertBetween` will never be `;`.\n var afterCurrency = currencyData.currencySpacing.afterInsertBetween;\n if (afterCurrency && !S_DOLLAR_UNICODE_REGEX.test(nonNameCurrencyPart)) {\n numberPattern = numberPattern.replace('¤{0}', \"\\u00A4\".concat(afterCurrency, \"{0}\"));\n }\n var beforeCurrency = currencyData.currencySpacing.beforeInsertBetween;\n if (beforeCurrency && !CARET_S_UNICODE_REGEX.test(nonNameCurrencyPart)) {\n numberPattern = numberPattern.replace('{0}¤', \"{0}\".concat(beforeCurrency, \"\\u00A4\"));\n }\n }\n // The following tokens are special: `{0}`, `¤`, `%`, `-`, `+`, `{c:...}.\n var numberPatternParts = numberPattern.split(/({c:[^}]+}|\\{0\\}|[¤%\\-\\+])/g);\n var numberParts = [];\n var symbols = data.numbers.symbols[numberingSystem] ||\n data.numbers.symbols[defaultNumberingSystem];\n for (var _i = 0, numberPatternParts_1 = numberPatternParts; _i < numberPatternParts_1.length; _i++) {\n var part = numberPatternParts_1[_i];\n if (!part) {\n continue;\n }\n switch (part) {\n case '{0}': {\n // We only need to handle scientific and engineering notation here.\n numberParts.push.apply(numberParts, paritionNumberIntoParts(symbols, numberResult, notation, exponent, numberingSystem, \n // If compact number pattern exists, do not insert group separators.\n !compactNumberPattern && options.useGrouping, decimalNumberPattern));\n break;\n }\n case '-':\n numberParts.push({ type: 'minusSign', value: symbols.minusSign });\n break;\n case '+':\n numberParts.push({ type: 'plusSign', value: symbols.plusSign });\n break;\n case '%':\n numberParts.push({ type: 'percentSign', value: symbols.percentSign });\n break;\n case '¤':\n // Computed above when handling currency spacing.\n numberParts.push({ type: 'currency', value: nonNameCurrencyPart });\n break;\n default:\n if (/^\\{c:/.test(part)) {\n numberParts.push({\n type: 'compact',\n value: part.substring(3, part.length - 1),\n });\n }\n else {\n // literal\n numberParts.push({ type: 'literal', value: part });\n }\n break;\n }\n }\n // #endregion\n // #region Part 2: interpolate unit pattern if necessary.\n // ----------------------------------------------\n switch (style) {\n case 'currency': {\n // `currencyDisplay: 'name'` has similar pattern handling as units.\n if (options.currencyDisplay === 'name') {\n var unitPattern = (data.numbers.currency[numberingSystem] ||\n data.numbers.currency[defaultNumberingSystem]).unitPattern;\n // Select plural\n var unitName = void 0;\n var currencyNameData = data.currencies[options.currency];\n if (currencyNameData) {\n unitName = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), currencyNameData.displayName);\n }\n else {\n // Fallback for unknown currency\n unitName = options.currency;\n }\n // Do {0} and {1} substitution\n var unitPatternParts = unitPattern.split(/(\\{[01]\\})/g);\n var result = [];\n for (var _a = 0, unitPatternParts_1 = unitPatternParts; _a < unitPatternParts_1.length; _a++) {\n var part = unitPatternParts_1[_a];\n switch (part) {\n case '{0}':\n result.push.apply(result, numberParts);\n break;\n case '{1}':\n result.push({ type: 'currency', value: unitName });\n break;\n default:\n if (part) {\n result.push({ type: 'literal', value: part });\n }\n break;\n }\n }\n return result;\n }\n else {\n return numberParts;\n }\n }\n case 'unit': {\n var unit = options.unit, unitDisplay = options.unitDisplay;\n var unitData = data.units.simple[unit];\n var unitPattern = void 0;\n if (unitData) {\n // Simple unit pattern\n unitPattern = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), data.units.simple[unit][unitDisplay]);\n }\n else {\n // See: http://unicode.org/reports/tr35/tr35-general.html#perUnitPatterns\n // If cannot find unit in the simple pattern, it must be \"per\" compound pattern.\n // Implementation note: we are not following TR-35 here because we need to format to parts!\n var _b = unit.split('-per-'), numeratorUnit = _b[0], denominatorUnit = _b[1];\n unitData = data.units.simple[numeratorUnit];\n var numeratorUnitPattern = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), data.units.simple[numeratorUnit][unitDisplay]);\n var perUnitPattern = data.units.simple[denominatorUnit].perUnit[unitDisplay];\n if (perUnitPattern) {\n // perUnitPattern exists, combine it with numeratorUnitPattern\n unitPattern = perUnitPattern.replace('{0}', numeratorUnitPattern);\n }\n else {\n // get compoundUnit pattern (e.g. \"{0} per {1}\"), repalce {0} with numerator pattern and {1} with\n // the denominator pattern in singular form.\n var perPattern = data.units.compound.per[unitDisplay];\n var denominatorPattern = selectPlural(pl, 1, data.units.simple[denominatorUnit][unitDisplay]);\n unitPattern = unitPattern = perPattern\n .replace('{0}', numeratorUnitPattern)\n .replace('{1}', denominatorPattern.replace('{0}', ''));\n }\n }\n var result = [];\n // We need spacing around \"{0}\" because they are not treated as \"unit\" parts, but \"literal\".\n for (var _c = 0, _d = unitPattern.split(/(\\s*\\{0\\}\\s*)/); _c < _d.length; _c++) {\n var part = _d[_c];\n var interpolateMatch = /^(\\s*)\\{0\\}(\\s*)$/.exec(part);\n if (interpolateMatch) {\n // Space before \"{0}\"\n if (interpolateMatch[1]) {\n result.push({ type: 'literal', value: interpolateMatch[1] });\n }\n // \"{0}\" itself\n result.push.apply(result, numberParts);\n // Space after \"{0}\"\n if (interpolateMatch[2]) {\n result.push({ type: 'literal', value: interpolateMatch[2] });\n }\n }\n else if (part) {\n result.push({ type: 'unit', value: part });\n }\n }\n return result;\n }\n default:\n return numberParts;\n }\n // #endregion\n}\n// A subset of https://tc39.es/ecma402/#sec-partitionnotationsubpattern\n// Plus the exponent parts handling.\nfunction paritionNumberIntoParts(symbols, numberResult, notation, exponent, numberingSystem, useGrouping, \n/**\n * This is the decimal number pattern without signs or symbols.\n * It is used to infer the group size when `useGrouping` is true.\n *\n * A typical value looks like \"#,##0.00\" (primary group size is 3).\n * Some locales like Hindi has secondary group size of 2 (e.g. \"#,##,##0.00\").\n */\ndecimalNumberPattern) {\n var result = [];\n // eslint-disable-next-line prefer-const\n var n = numberResult.formattedString, x = numberResult.roundedNumber;\n if (isNaN(x)) {\n return [{ type: 'nan', value: n }];\n }\n else if (!isFinite(x)) {\n return [{ type: 'infinity', value: n }];\n }\n var digitReplacementTable = digitMapping[numberingSystem];\n if (digitReplacementTable) {\n n = n.replace(/\\d/g, function (digit) { return digitReplacementTable[+digit] || digit; });\n }\n // TODO: Else use an implementation dependent algorithm to map n to the appropriate\n // representation of n in the given numbering system.\n var decimalSepIndex = n.indexOf('.');\n var integer;\n var fraction;\n if (decimalSepIndex > 0) {\n integer = n.slice(0, decimalSepIndex);\n fraction = n.slice(decimalSepIndex + 1);\n }\n else {\n integer = n;\n }\n // #region Grouping integer digits\n // The weird compact and x >= 10000 check is to ensure consistency with Node.js and Chrome.\n // Note that `de` does not have compact form for thousands, but Node.js does not insert grouping separator\n // unless the rounded number is greater than 10000:\n // NumberFormat('de', {notation: 'compact', compactDisplay: 'short'}).format(1234) //=> \"1234\"\n // NumberFormat('de').format(1234) //=> \"1.234\"\n if (useGrouping && (notation !== 'compact' || x >= 10000)) {\n var groupSepSymbol = symbols.group;\n var groups = [];\n // > There may be two different grouping sizes: The primary grouping size used for the least\n // > significant integer group, and the secondary grouping size used for more significant groups.\n // > If a pattern contains multiple grouping separators, the interval between the last one and the\n // > end of the integer defines the primary grouping size, and the interval between the last two\n // > defines the secondary grouping size. All others are ignored.\n var integerNumberPattern = decimalNumberPattern.split('.')[0];\n var patternGroups = integerNumberPattern.split(',');\n var primaryGroupingSize = 3;\n var secondaryGroupingSize = 3;\n if (patternGroups.length > 1) {\n primaryGroupingSize = patternGroups[patternGroups.length - 1].length;\n }\n if (patternGroups.length > 2) {\n secondaryGroupingSize = patternGroups[patternGroups.length - 2].length;\n }\n var i = integer.length - primaryGroupingSize;\n if (i > 0) {\n // Slice the least significant integer group\n groups.push(integer.slice(i, i + primaryGroupingSize));\n // Then iteratively push the more signicant groups\n // TODO: handle surrogate pairs in some numbering system digits\n for (i -= secondaryGroupingSize; i > 0; i -= secondaryGroupingSize) {\n groups.push(integer.slice(i, i + secondaryGroupingSize));\n }\n groups.push(integer.slice(0, i + secondaryGroupingSize));\n }\n else {\n groups.push(integer);\n }\n while (groups.length > 0) {\n var integerGroup = groups.pop();\n result.push({ type: 'integer', value: integerGroup });\n if (groups.length > 0) {\n result.push({ type: 'group', value: groupSepSymbol });\n }\n }\n }\n else {\n result.push({ type: 'integer', value: integer });\n }\n // #endregion\n if (fraction !== undefined) {\n result.push({ type: 'decimal', value: symbols.decimal }, { type: 'fraction', value: fraction });\n }\n if ((notation === 'scientific' || notation === 'engineering') &&\n isFinite(x)) {\n result.push({ type: 'exponentSeparator', value: symbols.exponential });\n if (exponent < 0) {\n result.push({ type: 'exponentMinusSign', value: symbols.minusSign });\n exponent = -exponent;\n }\n var exponentResult = ToRawFixed(exponent, 0, 0);\n result.push({\n type: 'exponentInteger',\n value: exponentResult.formattedString,\n });\n }\n return result;\n}\nfunction getPatternForSign(pattern, sign) {\n if (pattern.indexOf(';') < 0) {\n pattern = \"\".concat(pattern, \";-\").concat(pattern);\n }\n var _a = pattern.split(';'), zeroPattern = _a[0], negativePattern = _a[1];\n switch (sign) {\n case 0:\n return zeroPattern;\n case -1:\n return negativePattern;\n default:\n return negativePattern.indexOf('-') >= 0\n ? negativePattern.replace(/-/g, '+')\n : \"+\".concat(zeroPattern);\n }\n}\n// Find the CLDR pattern for compact notation based on the magnitude of data and style.\n//\n// Example return value: \"¤ {c:laki}000;¤{c:laki} -0\" (`sw` locale):\n// - Notice the `{c:...}` token that wraps the compact literal.\n// - The consecutive zeros are normalized to single zero to match CLDR_NUMBER_PATTERN.\n//\n// Returning null means the compact display pattern cannot be found.\nfunction getCompactDisplayPattern(numberResult, pl, data, style, compactDisplay, currencyDisplay, numberingSystem) {\n var _a;\n var roundedNumber = numberResult.roundedNumber, sign = numberResult.sign, magnitude = numberResult.magnitude;\n var magnitudeKey = String(Math.pow(10, magnitude));\n var defaultNumberingSystem = data.numbers.nu[0];\n var pattern;\n if (style === 'currency' && currencyDisplay !== 'name') {\n var byNumberingSystem = data.numbers.currency;\n var currencyData = byNumberingSystem[numberingSystem] ||\n byNumberingSystem[defaultNumberingSystem];\n // NOTE: compact notation ignores currencySign!\n var compactPluralRules = (_a = currencyData.short) === null || _a === void 0 ? void 0 : _a[magnitudeKey];\n if (!compactPluralRules) {\n return null;\n }\n pattern = selectPlural(pl, roundedNumber, compactPluralRules);\n }\n else {\n var byNumberingSystem = data.numbers.decimal;\n var byCompactDisplay = byNumberingSystem[numberingSystem] ||\n byNumberingSystem[defaultNumberingSystem];\n var compactPlaralRule = byCompactDisplay[compactDisplay][magnitudeKey];\n if (!compactPlaralRule) {\n return null;\n }\n pattern = selectPlural(pl, roundedNumber, compactPlaralRule);\n }\n // See https://unicode.org/reports/tr35/tr35-numbers.html#Compact_Number_Formats\n // > If the value is precisely “0”, either explicit or defaulted, then the normal number format\n // > pattern for that sort of object is supplied.\n if (pattern === '0') {\n return null;\n }\n pattern = getPatternForSign(pattern, sign)\n // Extract compact literal from the pattern\n .replace(/([^\\s;\\-\\+\\d¤]+)/g, '{c:$1}')\n // We replace one or more zeros with a single zero so it matches `CLDR_NUMBER_PATTERN`.\n .replace(/0+/, '0');\n return pattern;\n}\nfunction selectPlural(pl, x, rules) {\n return rules[pl.select(x)] || rules.other;\n}\n","import { FormatNumericToString } from './FormatNumericToString';\nimport { SameValue } from '../262';\nimport { ComputeExponent } from './ComputeExponent';\nimport formatToParts from './format_to_parts';\n/**\n * https://tc39.es/ecma402/#sec-formatnumberstring\n */\nexport function PartitionNumberPattern(numberFormat, x, _a) {\n var _b;\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(numberFormat);\n var pl = internalSlots.pl, dataLocaleData = internalSlots.dataLocaleData, numberingSystem = internalSlots.numberingSystem;\n var symbols = dataLocaleData.numbers.symbols[numberingSystem] ||\n dataLocaleData.numbers.symbols[dataLocaleData.numbers.nu[0]];\n var magnitude = 0;\n var exponent = 0;\n var n;\n if (isNaN(x)) {\n n = symbols.nan;\n }\n else if (!isFinite(x)) {\n n = symbols.infinity;\n }\n else {\n if (internalSlots.style === 'percent') {\n x *= 100;\n }\n ;\n _b = ComputeExponent(numberFormat, x, {\n getInternalSlots: getInternalSlots,\n }), exponent = _b[0], magnitude = _b[1];\n // Preserve more precision by doing multiplication when exponent is negative.\n x = exponent < 0 ? x * Math.pow(10, -exponent) : x / Math.pow(10, exponent);\n var formatNumberResult = FormatNumericToString(internalSlots, x);\n n = formatNumberResult.formattedString;\n x = formatNumberResult.roundedNumber;\n }\n // Based on https://tc39.es/ecma402/#sec-getnumberformatpattern\n // We need to do this before `x` is rounded.\n var sign;\n var signDisplay = internalSlots.signDisplay;\n switch (signDisplay) {\n case 'never':\n sign = 0;\n break;\n case 'auto':\n if (SameValue(x, 0) || x > 0 || isNaN(x)) {\n sign = 0;\n }\n else {\n sign = -1;\n }\n break;\n case 'always':\n if (SameValue(x, 0) || x > 0 || isNaN(x)) {\n sign = 1;\n }\n else {\n sign = -1;\n }\n break;\n default:\n // x === 0 -> x is 0 or x is -0\n if (x === 0 || isNaN(x)) {\n sign = 0;\n }\n else if (x > 0) {\n sign = 1;\n }\n else {\n sign = -1;\n }\n }\n return formatToParts({ roundedNumber: x, formattedString: n, exponent: exponent, magnitude: magnitude, sign: sign }, internalSlots.dataLocaleData, pl, internalSlots);\n}\n","import { PartitionNumberPattern } from './PartitionNumberPattern';\nimport { ArrayCreate } from '../262';\nexport function FormatNumericToParts(nf, x, implDetails) {\n var parts = PartitionNumberPattern(nf, x, implDetails);\n var result = ArrayCreate(0);\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var part = parts_1[_i];\n result.push({\n type: part.type,\n value: part.value,\n });\n }\n return result;\n}\n","import { GetOption } from '../GetOption';\nimport { IsWellFormedCurrencyCode } from '../IsWellFormedCurrencyCode';\nimport { IsWellFormedUnitIdentifier } from '../IsWellFormedUnitIdentifier';\n/**\n * https://tc39.es/ecma402/#sec-setnumberformatunitoptions\n */\nexport function SetNumberFormatUnitOptions(nf, options, _a) {\n if (options === void 0) { options = Object.create(null); }\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(nf);\n var style = GetOption(options, 'style', 'string', ['decimal', 'percent', 'currency', 'unit'], 'decimal');\n internalSlots.style = style;\n var currency = GetOption(options, 'currency', 'string', undefined, undefined);\n if (currency !== undefined && !IsWellFormedCurrencyCode(currency)) {\n throw RangeError('Malformed currency code');\n }\n if (style === 'currency' && currency === undefined) {\n throw TypeError('currency cannot be undefined');\n }\n var currencyDisplay = GetOption(options, 'currencyDisplay', 'string', ['code', 'symbol', 'narrowSymbol', 'name'], 'symbol');\n var currencySign = GetOption(options, 'currencySign', 'string', ['standard', 'accounting'], 'standard');\n var unit = GetOption(options, 'unit', 'string', undefined, undefined);\n if (unit !== undefined && !IsWellFormedUnitIdentifier(unit)) {\n throw RangeError('Invalid unit argument for Intl.NumberFormat()');\n }\n if (style === 'unit' && unit === undefined) {\n throw TypeError('unit cannot be undefined');\n }\n var unitDisplay = GetOption(options, 'unitDisplay', 'string', ['short', 'narrow', 'long'], 'short');\n if (style === 'currency') {\n internalSlots.currency = currency.toUpperCase();\n internalSlots.currencyDisplay = currencyDisplay;\n internalSlots.currencySign = currencySign;\n }\n if (style === 'unit') {\n internalSlots.unit = unit;\n internalSlots.unitDisplay = unitDisplay;\n }\n}\n","import { GetNumberOption } from '../GetNumberOption';\nimport { DefaultNumberOption } from '../DefaultNumberOption';\n/**\n * https://tc39.es/ecma402/#sec-setnfdigitoptions\n */\nexport function SetNumberFormatDigitOptions(internalSlots, opts, mnfdDefault, mxfdDefault, notation) {\n var mnid = GetNumberOption(opts, 'minimumIntegerDigits', 1, 21, 1);\n var mnfd = opts.minimumFractionDigits;\n var mxfd = opts.maximumFractionDigits;\n var mnsd = opts.minimumSignificantDigits;\n var mxsd = opts.maximumSignificantDigits;\n internalSlots.minimumIntegerDigits = mnid;\n if (mnsd !== undefined || mxsd !== undefined) {\n internalSlots.roundingType = 'significantDigits';\n mnsd = DefaultNumberOption(mnsd, 1, 21, 1);\n mxsd = DefaultNumberOption(mxsd, mnsd, 21, 21);\n internalSlots.minimumSignificantDigits = mnsd;\n internalSlots.maximumSignificantDigits = mxsd;\n }\n else if (mnfd !== undefined || mxfd !== undefined) {\n internalSlots.roundingType = 'fractionDigits';\n mnfd = DefaultNumberOption(mnfd, 0, 20, mnfdDefault);\n var mxfdActualDefault = Math.max(mnfd, mxfdDefault);\n mxfd = DefaultNumberOption(mxfd, mnfd, 20, mxfdActualDefault);\n internalSlots.minimumFractionDigits = mnfd;\n internalSlots.maximumFractionDigits = mxfd;\n }\n else if (notation === 'compact') {\n internalSlots.roundingType = 'compactRounding';\n }\n else {\n internalSlots.roundingType = 'fractionDigits';\n internalSlots.minimumFractionDigits = mnfdDefault;\n internalSlots.maximumFractionDigits = mxfdDefault;\n }\n}\n","import { CanonicalizeLocaleList } from '../CanonicalizeLocaleList';\nimport { GetOption } from '../GetOption';\nimport { ResolveLocale } from '@formatjs/intl-localematcher';\nimport { SetNumberFormatUnitOptions } from './SetNumberFormatUnitOptions';\nimport { CurrencyDigits } from './CurrencyDigits';\nimport { SetNumberFormatDigitOptions } from './SetNumberFormatDigitOptions';\nimport { invariant } from '../utils';\nimport { CoerceOptionsToObject } from '../CoerceOptionsToObject';\n/**\n * https://tc39.es/ecma402/#sec-initializenumberformat\n */\nexport function InitializeNumberFormat(nf, locales, opts, _a) {\n var getInternalSlots = _a.getInternalSlots, localeData = _a.localeData, availableLocales = _a.availableLocales, numberingSystemNames = _a.numberingSystemNames, getDefaultLocale = _a.getDefaultLocale, currencyDigitsData = _a.currencyDigitsData;\n // @ts-ignore\n var requestedLocales = CanonicalizeLocaleList(locales);\n var options = CoerceOptionsToObject(opts);\n var opt = Object.create(null);\n var matcher = GetOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n opt.localeMatcher = matcher;\n var numberingSystem = GetOption(options, 'numberingSystem', 'string', undefined, undefined);\n if (numberingSystem !== undefined &&\n numberingSystemNames.indexOf(numberingSystem) < 0) {\n // 8.a. If numberingSystem does not match the Unicode Locale Identifier type nonterminal,\n // throw a RangeError exception.\n throw RangeError(\"Invalid numberingSystems: \".concat(numberingSystem));\n }\n opt.nu = numberingSystem;\n var r = ResolveLocale(availableLocales, requestedLocales, opt, \n // [[RelevantExtensionKeys]] slot, which is a constant\n ['nu'], localeData, getDefaultLocale);\n var dataLocaleData = localeData[r.dataLocale];\n invariant(!!dataLocaleData, \"Missing locale data for \".concat(r.dataLocale));\n var internalSlots = getInternalSlots(nf);\n internalSlots.locale = r.locale;\n internalSlots.dataLocale = r.dataLocale;\n internalSlots.numberingSystem = r.nu;\n internalSlots.dataLocaleData = dataLocaleData;\n SetNumberFormatUnitOptions(nf, options, { getInternalSlots: getInternalSlots });\n var style = internalSlots.style;\n var mnfdDefault;\n var mxfdDefault;\n if (style === 'currency') {\n var currency = internalSlots.currency;\n var cDigits = CurrencyDigits(currency, { currencyDigitsData: currencyDigitsData });\n mnfdDefault = cDigits;\n mxfdDefault = cDigits;\n }\n else {\n mnfdDefault = 0;\n mxfdDefault = style === 'percent' ? 0 : 3;\n }\n var notation = GetOption(options, 'notation', 'string', ['standard', 'scientific', 'engineering', 'compact'], 'standard');\n internalSlots.notation = notation;\n SetNumberFormatDigitOptions(internalSlots, options, mnfdDefault, mxfdDefault, notation);\n var compactDisplay = GetOption(options, 'compactDisplay', 'string', ['short', 'long'], 'short');\n if (notation === 'compact') {\n internalSlots.compactDisplay = compactDisplay;\n }\n var useGrouping = GetOption(options, 'useGrouping', 'boolean', undefined, true);\n internalSlots.useGrouping = useGrouping;\n var signDisplay = GetOption(options, 'signDisplay', 'string', ['auto', 'never', 'always', 'exceptZero'], 'auto');\n internalSlots.signDisplay = signDisplay;\n return nf;\n}\n","import { invariant } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-partitionpattern\n * @param pattern\n */\nexport function PartitionPattern(pattern) {\n var result = [];\n var beginIndex = pattern.indexOf('{');\n var endIndex = 0;\n var nextIndex = 0;\n var length = pattern.length;\n while (beginIndex < pattern.length && beginIndex > -1) {\n endIndex = pattern.indexOf('}', beginIndex);\n invariant(endIndex > beginIndex, \"Invalid pattern \".concat(pattern));\n if (beginIndex > nextIndex) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, beginIndex),\n });\n }\n result.push({\n type: pattern.substring(beginIndex + 1, endIndex),\n value: undefined,\n });\n nextIndex = endIndex + 1;\n beginIndex = pattern.indexOf('{', nextIndex);\n }\n if (nextIndex < length) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, length),\n });\n }\n return result;\n}\n","import { ToObject } from './262';\nimport { GetOption } from './GetOption';\nimport { LookupSupportedLocales } from '@formatjs/intl-localematcher';\n/**\n * https://tc39.es/ecma402/#sec-supportedlocales\n * @param availableLocales\n * @param requestedLocales\n * @param options\n */\nexport function SupportedLocales(availableLocales, requestedLocales, options) {\n var matcher = 'best fit';\n if (options !== undefined) {\n options = ToObject(options);\n matcher = GetOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n }\n if (matcher === 'best fit') {\n return LookupSupportedLocales(availableLocales, requestedLocales);\n }\n return LookupSupportedLocales(availableLocales, requestedLocales);\n}\n","export var RangePatternType;\n(function (RangePatternType) {\n RangePatternType[\"startRange\"] = \"startRange\";\n RangePatternType[\"shared\"] = \"shared\";\n RangePatternType[\"endRange\"] = \"endRange\";\n})(RangePatternType || (RangePatternType = {}));\n","import { __extends } from \"tslib\";\nvar MissingLocaleDataError = /** @class */ (function (_super) {\n __extends(MissingLocaleDataError, _super);\n function MissingLocaleDataError() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'MISSING_LOCALE_DATA';\n return _this;\n }\n return MissingLocaleDataError;\n}(Error));\nexport function isMissingLocaleDataError(e) {\n return e.type === 'MISSING_LOCALE_DATA';\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isUnicodeLanguageSubtag = exports.isUnicodeScriptSubtag = exports.isUnicodeRegionSubtag = exports.isStructurallyValidLanguageTag = exports.parseUnicodeLanguageId = exports.parseUnicodeLocaleId = exports.getCanonicalLocales = void 0;\nvar tslib_1 = require(\"tslib\");\nvar parser_1 = require(\"./src/parser\");\nvar emitter_1 = require(\"./src/emitter\");\nvar canonicalizer_1 = require(\"./src/canonicalizer\");\n/**\n * https://tc39.es/ecma402/#sec-canonicalizelocalelist\n * @param locales\n */\nfunction CanonicalizeLocaleList(locales) {\n if (locales === undefined) {\n return [];\n }\n var seen = [];\n if (typeof locales === 'string') {\n locales = [locales];\n }\n for (var _i = 0, locales_1 = locales; _i < locales_1.length; _i++) {\n var locale = locales_1[_i];\n var canonicalizedTag = (0, emitter_1.emitUnicodeLocaleId)((0, canonicalizer_1.canonicalizeUnicodeLocaleId)((0, parser_1.parseUnicodeLocaleId)(locale)));\n if (seen.indexOf(canonicalizedTag) < 0) {\n seen.push(canonicalizedTag);\n }\n }\n return seen;\n}\nfunction getCanonicalLocales(locales) {\n return CanonicalizeLocaleList(locales);\n}\nexports.getCanonicalLocales = getCanonicalLocales;\nvar parser_2 = require(\"./src/parser\");\nObject.defineProperty(exports, \"parseUnicodeLocaleId\", { enumerable: true, get: function () { return parser_2.parseUnicodeLocaleId; } });\nObject.defineProperty(exports, \"parseUnicodeLanguageId\", { enumerable: true, get: function () { return parser_2.parseUnicodeLanguageId; } });\nObject.defineProperty(exports, \"isStructurallyValidLanguageTag\", { enumerable: true, get: function () { return parser_2.isStructurallyValidLanguageTag; } });\nObject.defineProperty(exports, \"isUnicodeRegionSubtag\", { enumerable: true, get: function () { return parser_2.isUnicodeRegionSubtag; } });\nObject.defineProperty(exports, \"isUnicodeScriptSubtag\", { enumerable: true, get: function () { return parser_2.isUnicodeScriptSubtag; } });\nObject.defineProperty(exports, \"isUnicodeLanguageSubtag\", { enumerable: true, get: function () { return parser_2.isUnicodeLanguageSubtag; } });\ntslib_1.__exportStar(require(\"./src/types\"), exports);\ntslib_1.__exportStar(require(\"./src/emitter\"), exports);\ntslib_1.__exportStar(require(\"./src/likelySubtags.generated\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar _1 = require(\"./\");\nvar should_polyfill_1 = require(\"./should-polyfill\");\nif (typeof Intl === 'undefined') {\n if (typeof window !== 'undefined') {\n Object.defineProperty(window, 'Intl', {\n value: {},\n });\n // @ts-ignore we don't include @types/node so global isn't a thing\n }\n else if (typeof global !== 'undefined') {\n // @ts-ignore we don't include @types/node so global isn't a thing\n Object.defineProperty(global, 'Intl', {\n value: {},\n });\n }\n}\nif ((0, should_polyfill_1.shouldPolyfill)()) {\n Object.defineProperty(Intl, 'getCanonicalLocales', {\n value: _1.getCanonicalLocales,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shouldPolyfill = void 0;\nfunction shouldPolyfill() {\n return (typeof Intl === 'undefined' ||\n !('getCanonicalLocales' in Intl) ||\n // Native Intl.getCanonicalLocales is just buggy\n // https://bugs.chromium.org/p/v8/issues/detail?id=10682\n Intl.getCanonicalLocales('und-x-private')[0] ===\n 'x-private');\n}\nexports.shouldPolyfill = shouldPolyfill;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.variantAlias = exports.scriptAlias = exports.territoryAlias = exports.languageAlias = void 0;\n/* @generated */\n// prettier-ignore \nexports.languageAlias = {\n \"aa-saaho\": \"ssy\",\n \"aam\": \"aas\",\n \"aar\": \"aa\",\n \"abk\": \"ab\",\n \"adp\": \"dz\",\n \"afr\": \"af\",\n \"agp\": \"apf\",\n \"ais\": \"ami\",\n \"aju\": \"jrb\",\n \"aka\": \"ak\",\n \"alb\": \"sq\",\n \"als\": \"sq\",\n \"amh\": \"am\",\n \"ara\": \"ar\",\n \"arb\": \"ar\",\n \"arg\": \"an\",\n \"arm\": \"hy\",\n \"art-lojban\": \"jbo\",\n \"asd\": \"snz\",\n \"asm\": \"as\",\n \"aue\": \"ktz\",\n \"ava\": \"av\",\n \"ave\": \"ae\",\n \"aym\": \"ay\",\n \"ayr\": \"ay\",\n \"ayx\": \"nun\",\n \"aze\": \"az\",\n \"azj\": \"az\",\n \"bak\": \"ba\",\n \"bam\": \"bm\",\n \"baq\": \"eu\",\n \"baz\": \"nvo\",\n \"bcc\": \"bal\",\n \"bcl\": \"bik\",\n \"bel\": \"be\",\n \"ben\": \"bn\",\n \"bgm\": \"bcg\",\n \"bh\": \"bho\",\n \"bhk\": \"fbl\",\n \"bic\": \"bir\",\n \"bih\": \"bho\",\n \"bis\": \"bi\",\n \"bjd\": \"drl\",\n \"bjq\": \"bzc\",\n \"bkb\": \"ebk\",\n \"blg\": \"iba\",\n \"bod\": \"bo\",\n \"bos\": \"bs\",\n \"bre\": \"br\",\n \"btb\": \"beb\",\n \"bul\": \"bg\",\n \"bur\": \"my\",\n \"bxk\": \"luy\",\n \"bxr\": \"bua\",\n \"cat\": \"ca\",\n \"ccq\": \"rki\",\n \"cel-gaulish\": \"xtg\",\n \"ces\": \"cs\",\n \"cha\": \"ch\",\n \"che\": \"ce\",\n \"chi\": \"zh\",\n \"chu\": \"cu\",\n \"chv\": \"cv\",\n \"cjr\": \"mom\",\n \"cka\": \"cmr\",\n \"cld\": \"syr\",\n \"cmk\": \"xch\",\n \"cmn\": \"zh\",\n \"cnr\": \"sr-ME\",\n \"cor\": \"kw\",\n \"cos\": \"co\",\n \"coy\": \"pij\",\n \"cqu\": \"quh\",\n \"cre\": \"cr\",\n \"cwd\": \"cr\",\n \"cym\": \"cy\",\n \"cze\": \"cs\",\n \"daf\": \"dnj\",\n \"dan\": \"da\",\n \"dap\": \"njz\",\n \"deu\": \"de\",\n \"dgo\": \"doi\",\n \"dhd\": \"mwr\",\n \"dik\": \"din\",\n \"diq\": \"zza\",\n \"dit\": \"dif\",\n \"div\": \"dv\",\n \"djl\": \"dze\",\n \"dkl\": \"aqd\",\n \"drh\": \"mn\",\n \"drr\": \"kzk\",\n \"drw\": \"fa-AF\",\n \"dud\": \"uth\",\n \"duj\": \"dwu\",\n \"dut\": \"nl\",\n \"dwl\": \"dbt\",\n \"dzo\": \"dz\",\n \"ekk\": \"et\",\n \"ell\": \"el\",\n \"elp\": \"amq\",\n \"emk\": \"man\",\n \"en-GB-oed\": \"en-GB-oxendict\",\n \"eng\": \"en\",\n \"epo\": \"eo\",\n \"esk\": \"ik\",\n \"est\": \"et\",\n \"eus\": \"eu\",\n \"ewe\": \"ee\",\n \"fao\": \"fo\",\n \"fas\": \"fa\",\n \"fat\": \"ak\",\n \"fij\": \"fj\",\n \"fin\": \"fi\",\n \"fra\": \"fr\",\n \"fre\": \"fr\",\n \"fry\": \"fy\",\n \"fuc\": \"ff\",\n \"ful\": \"ff\",\n \"gav\": \"dev\",\n \"gaz\": \"om\",\n \"gbc\": \"wny\",\n \"gbo\": \"grb\",\n \"geo\": \"ka\",\n \"ger\": \"de\",\n \"gfx\": \"vaj\",\n \"ggn\": \"gvr\",\n \"ggo\": \"esg\",\n \"ggr\": \"gtu\",\n \"gio\": \"aou\",\n \"gla\": \"gd\",\n \"gle\": \"ga\",\n \"glg\": \"gl\",\n \"gli\": \"kzk\",\n \"glv\": \"gv\",\n \"gno\": \"gon\",\n \"gre\": \"el\",\n \"grn\": \"gn\",\n \"gti\": \"nyc\",\n \"gug\": \"gn\",\n \"guj\": \"gu\",\n \"guv\": \"duz\",\n \"gya\": \"gba\",\n \"hat\": \"ht\",\n \"hau\": \"ha\",\n \"hbs\": \"sr-Latn\",\n \"hdn\": \"hai\",\n \"hea\": \"hmn\",\n \"heb\": \"he\",\n \"her\": \"hz\",\n \"him\": \"srx\",\n \"hin\": \"hi\",\n \"hmo\": \"ho\",\n \"hrr\": \"jal\",\n \"hrv\": \"hr\",\n \"hun\": \"hu\",\n \"hy-arevmda\": \"hyw\",\n \"hye\": \"hy\",\n \"i-ami\": \"ami\",\n \"i-bnn\": \"bnn\",\n \"i-default\": \"en-x-i-default\",\n \"i-enochian\": \"und-x-i-enochian\",\n \"i-hak\": \"hak\",\n \"i-klingon\": \"tlh\",\n \"i-lux\": \"lb\",\n \"i-mingo\": \"see-x-i-mingo\",\n \"i-navajo\": \"nv\",\n \"i-pwn\": \"pwn\",\n \"i-tao\": \"tao\",\n \"i-tay\": \"tay\",\n \"i-tsu\": \"tsu\",\n \"ibi\": \"opa\",\n \"ibo\": \"ig\",\n \"ice\": \"is\",\n \"ido\": \"io\",\n \"iii\": \"ii\",\n \"ike\": \"iu\",\n \"iku\": \"iu\",\n \"ile\": \"ie\",\n \"ill\": \"ilm\",\n \"ilw\": \"gal\",\n \"in\": \"id\",\n \"ina\": \"ia\",\n \"ind\": \"id\",\n \"ipk\": \"ik\",\n \"isl\": \"is\",\n \"ita\": \"it\",\n \"iw\": \"he\",\n \"izi\": \"eza\",\n \"jar\": \"jgk\",\n \"jav\": \"jv\",\n \"jeg\": \"oyb\",\n \"ji\": \"yi\",\n \"jpn\": \"ja\",\n \"jw\": \"jv\",\n \"kal\": \"kl\",\n \"kan\": \"kn\",\n \"kas\": \"ks\",\n \"kat\": \"ka\",\n \"kau\": \"kr\",\n \"kaz\": \"kk\",\n \"kdv\": \"zkd\",\n \"kgc\": \"tdf\",\n \"kgd\": \"ncq\",\n \"kgh\": \"kml\",\n \"khk\": \"mn\",\n \"khm\": \"km\",\n \"kik\": \"ki\",\n \"kin\": \"rw\",\n \"kir\": \"ky\",\n \"kmr\": \"ku\",\n \"knc\": \"kr\",\n \"kng\": \"kg\",\n \"knn\": \"kok\",\n \"koj\": \"kwv\",\n \"kom\": \"kv\",\n \"kon\": \"kg\",\n \"kor\": \"ko\",\n \"kpp\": \"jkm\",\n \"kpv\": \"kv\",\n \"krm\": \"bmf\",\n \"ktr\": \"dtp\",\n \"kua\": \"kj\",\n \"kur\": \"ku\",\n \"kvs\": \"gdj\",\n \"kwq\": \"yam\",\n \"kxe\": \"tvd\",\n \"kxl\": \"kru\",\n \"kzh\": \"dgl\",\n \"kzj\": \"dtp\",\n \"kzt\": \"dtp\",\n \"lao\": \"lo\",\n \"lat\": \"la\",\n \"lav\": \"lv\",\n \"lbk\": \"bnc\",\n \"leg\": \"enl\",\n \"lii\": \"raq\",\n \"lim\": \"li\",\n \"lin\": \"ln\",\n \"lit\": \"lt\",\n \"llo\": \"ngt\",\n \"lmm\": \"rmx\",\n \"ltz\": \"lb\",\n \"lub\": \"lu\",\n \"lug\": \"lg\",\n \"lvs\": \"lv\",\n \"mac\": \"mk\",\n \"mah\": \"mh\",\n \"mal\": \"ml\",\n \"mao\": \"mi\",\n \"mar\": \"mr\",\n \"may\": \"ms\",\n \"meg\": \"cir\",\n \"mgx\": \"jbk\",\n \"mhr\": \"chm\",\n \"mkd\": \"mk\",\n \"mlg\": \"mg\",\n \"mlt\": \"mt\",\n \"mnk\": \"man\",\n \"mnt\": \"wnn\",\n \"mo\": \"ro\",\n \"mof\": \"xnt\",\n \"mol\": \"ro\",\n \"mon\": \"mn\",\n \"mri\": \"mi\",\n \"msa\": \"ms\",\n \"mst\": \"mry\",\n \"mup\": \"raj\",\n \"mwd\": \"dmw\",\n \"mwj\": \"vaj\",\n \"mya\": \"my\",\n \"myd\": \"aog\",\n \"myt\": \"mry\",\n \"nad\": \"xny\",\n \"nau\": \"na\",\n \"nav\": \"nv\",\n \"nbf\": \"nru\",\n \"nbl\": \"nr\",\n \"nbx\": \"ekc\",\n \"ncp\": \"kdz\",\n \"nde\": \"nd\",\n \"ndo\": \"ng\",\n \"nep\": \"ne\",\n \"nld\": \"nl\",\n \"nln\": \"azd\",\n \"nlr\": \"nrk\",\n \"nno\": \"nn\",\n \"nns\": \"nbr\",\n \"nnx\": \"ngv\",\n \"no-bok\": \"nb\",\n \"no-bokmal\": \"nb\",\n \"no-nyn\": \"nn\",\n \"no-nynorsk\": \"nn\",\n \"nob\": \"nb\",\n \"noo\": \"dtd\",\n \"nor\": \"no\",\n \"npi\": \"ne\",\n \"nts\": \"pij\",\n \"nxu\": \"bpp\",\n \"nya\": \"ny\",\n \"oci\": \"oc\",\n \"ojg\": \"oj\",\n \"oji\": \"oj\",\n \"ori\": \"or\",\n \"orm\": \"om\",\n \"ory\": \"or\",\n \"oss\": \"os\",\n \"oun\": \"vaj\",\n \"pan\": \"pa\",\n \"pat\": \"kxr\",\n \"pbu\": \"ps\",\n \"pcr\": \"adx\",\n \"per\": \"fa\",\n \"pes\": \"fa\",\n \"pli\": \"pi\",\n \"plt\": \"mg\",\n \"pmc\": \"huw\",\n \"pmu\": \"phr\",\n \"pnb\": \"lah\",\n \"pol\": \"pl\",\n \"por\": \"pt\",\n \"ppa\": \"bfy\",\n \"ppr\": \"lcq\",\n \"prs\": \"fa-AF\",\n \"pry\": \"prt\",\n \"pus\": \"ps\",\n \"puz\": \"pub\",\n \"que\": \"qu\",\n \"quz\": \"qu\",\n \"rmr\": \"emx\",\n \"rmy\": \"rom\",\n \"roh\": \"rm\",\n \"ron\": \"ro\",\n \"rum\": \"ro\",\n \"run\": \"rn\",\n \"rus\": \"ru\",\n \"sag\": \"sg\",\n \"san\": \"sa\",\n \"sap\": \"aqt\",\n \"sca\": \"hle\",\n \"scc\": \"sr\",\n \"scr\": \"hr\",\n \"sgl\": \"isk\",\n \"sgn-BE-FR\": \"sfb\",\n \"sgn-BE-NL\": \"vgt\",\n \"sgn-BR\": \"bzs\",\n \"sgn-CH-DE\": \"sgg\",\n \"sgn-CO\": \"csn\",\n \"sgn-DE\": \"gsg\",\n \"sgn-DK\": \"dsl\",\n \"sgn-ES\": \"ssp\",\n \"sgn-FR\": \"fsl\",\n \"sgn-GB\": \"bfi\",\n \"sgn-GR\": \"gss\",\n \"sgn-IE\": \"isg\",\n \"sgn-IT\": \"ise\",\n \"sgn-JP\": \"jsl\",\n \"sgn-MX\": \"mfs\",\n \"sgn-NI\": \"ncs\",\n \"sgn-NL\": \"dse\",\n \"sgn-NO\": \"nsi\",\n \"sgn-PT\": \"psr\",\n \"sgn-SE\": \"swl\",\n \"sgn-US\": \"ase\",\n \"sgn-ZA\": \"sfs\",\n \"sh\": \"sr-Latn\",\n \"sin\": \"si\",\n \"skk\": \"oyb\",\n \"slk\": \"sk\",\n \"slo\": \"sk\",\n \"slv\": \"sl\",\n \"sme\": \"se\",\n \"smo\": \"sm\",\n \"sna\": \"sn\",\n \"snd\": \"sd\",\n \"som\": \"so\",\n \"sot\": \"st\",\n \"spa\": \"es\",\n \"spy\": \"kln\",\n \"sqi\": \"sq\",\n \"src\": \"sc\",\n \"srd\": \"sc\",\n \"srp\": \"sr\",\n \"ssw\": \"ss\",\n \"sul\": \"sgd\",\n \"sum\": \"ulw\",\n \"sun\": \"su\",\n \"swa\": \"sw\",\n \"swc\": \"sw-CD\",\n \"swe\": \"sv\",\n \"swh\": \"sw\",\n \"tah\": \"ty\",\n \"tam\": \"ta\",\n \"tat\": \"tt\",\n \"tdu\": \"dtp\",\n \"tel\": \"te\",\n \"tgg\": \"bjp\",\n \"tgk\": \"tg\",\n \"tgl\": \"fil\",\n \"tha\": \"th\",\n \"thc\": \"tpo\",\n \"thw\": \"ola\",\n \"thx\": \"oyb\",\n \"tib\": \"bo\",\n \"tid\": \"itd\",\n \"tie\": \"ras\",\n \"tir\": \"ti\",\n \"tkk\": \"twm\",\n \"tl\": \"fil\",\n \"tlw\": \"weo\",\n \"tmp\": \"tyj\",\n \"tne\": \"kak\",\n \"tnf\": \"fa-AF\",\n \"ton\": \"to\",\n \"tsf\": \"taj\",\n \"tsn\": \"tn\",\n \"tso\": \"ts\",\n \"ttq\": \"tmh\",\n \"tuk\": \"tk\",\n \"tur\": \"tr\",\n \"tw\": \"ak\",\n \"twi\": \"ak\",\n \"uig\": \"ug\",\n \"ukr\": \"uk\",\n \"umu\": \"del\",\n \"und-aaland\": \"und-AX\",\n \"und-arevela\": \"und\",\n \"und-arevmda\": \"und\",\n \"und-bokmal\": \"und\",\n \"und-hakka\": \"und\",\n \"und-hepburn-heploc\": \"und-alalc97\",\n \"und-lojban\": \"und\",\n \"und-nynorsk\": \"und\",\n \"und-saaho\": \"und\",\n \"und-xiang\": \"und\",\n \"unp\": \"wro\",\n \"uok\": \"ema\",\n \"urd\": \"ur\",\n \"uzb\": \"uz\",\n \"uzn\": \"uz\",\n \"ven\": \"ve\",\n \"vie\": \"vi\",\n \"vol\": \"vo\",\n \"wel\": \"cy\",\n \"wgw\": \"wgb\",\n \"wit\": \"nol\",\n \"wiw\": \"nwo\",\n \"wln\": \"wa\",\n \"wol\": \"wo\",\n \"xba\": \"cax\",\n \"xho\": \"xh\",\n \"xia\": \"acn\",\n \"xkh\": \"waw\",\n \"xpe\": \"kpe\",\n \"xrq\": \"dmw\",\n \"xsj\": \"suj\",\n \"xsl\": \"den\",\n \"ybd\": \"rki\",\n \"ydd\": \"yi\",\n \"yen\": \"ynq\",\n \"yid\": \"yi\",\n \"yiy\": \"yrm\",\n \"yma\": \"lrr\",\n \"ymt\": \"mtm\",\n \"yor\": \"yo\",\n \"yos\": \"zom\",\n \"yuu\": \"yug\",\n \"zai\": \"zap\",\n \"zh-cmn\": \"zh\",\n \"zh-cmn-Hans\": \"zh-Hans\",\n \"zh-cmn-Hant\": \"zh-Hant\",\n \"zh-gan\": \"gan\",\n \"zh-guoyu\": \"zh\",\n \"zh-hakka\": \"hak\",\n \"zh-min\": \"nan-x-zh-min\",\n \"zh-min-nan\": \"nan\",\n \"zh-wuu\": \"wuu\",\n \"zh-xiang\": \"hsn\",\n \"zh-yue\": \"yue\",\n \"zha\": \"za\",\n \"zho\": \"zh\",\n \"zir\": \"scv\",\n \"zsm\": \"ms\",\n \"zul\": \"zu\",\n \"zyb\": \"za\"\n};\nexports.territoryAlias = {\n \"100\": \"BG\",\n \"104\": \"MM\",\n \"108\": \"BI\",\n \"112\": \"BY\",\n \"116\": \"KH\",\n \"120\": \"CM\",\n \"124\": \"CA\",\n \"132\": \"CV\",\n \"136\": \"KY\",\n \"140\": \"CF\",\n \"144\": \"LK\",\n \"148\": \"TD\",\n \"152\": \"CL\",\n \"156\": \"CN\",\n \"158\": \"TW\",\n \"162\": \"CX\",\n \"166\": \"CC\",\n \"170\": \"CO\",\n \"172\": \"RU AM AZ BY GE KG KZ MD TJ TM UA UZ\",\n \"174\": \"KM\",\n \"175\": \"YT\",\n \"178\": \"CG\",\n \"180\": \"CD\",\n \"184\": \"CK\",\n \"188\": \"CR\",\n \"191\": \"HR\",\n \"192\": \"CU\",\n \"196\": \"CY\",\n \"200\": \"CZ SK\",\n \"203\": \"CZ\",\n \"204\": \"BJ\",\n \"208\": \"DK\",\n \"212\": \"DM\",\n \"214\": \"DO\",\n \"218\": \"EC\",\n \"222\": \"SV\",\n \"226\": \"GQ\",\n \"230\": \"ET\",\n \"231\": \"ET\",\n \"232\": \"ER\",\n \"233\": \"EE\",\n \"234\": \"FO\",\n \"238\": \"FK\",\n \"239\": \"GS\",\n \"242\": \"FJ\",\n \"246\": \"FI\",\n \"248\": \"AX\",\n \"249\": \"FR\",\n \"250\": \"FR\",\n \"254\": \"GF\",\n \"258\": \"PF\",\n \"260\": \"TF\",\n \"262\": \"DJ\",\n \"266\": \"GA\",\n \"268\": \"GE\",\n \"270\": \"GM\",\n \"275\": \"PS\",\n \"276\": \"DE\",\n \"278\": \"DE\",\n \"280\": \"DE\",\n \"288\": \"GH\",\n \"292\": \"GI\",\n \"296\": \"KI\",\n \"300\": \"GR\",\n \"304\": \"GL\",\n \"308\": \"GD\",\n \"312\": \"GP\",\n \"316\": \"GU\",\n \"320\": \"GT\",\n \"324\": \"GN\",\n \"328\": \"GY\",\n \"332\": \"HT\",\n \"334\": \"HM\",\n \"336\": \"VA\",\n \"340\": \"HN\",\n \"344\": \"HK\",\n \"348\": \"HU\",\n \"352\": \"IS\",\n \"356\": \"IN\",\n \"360\": \"ID\",\n \"364\": \"IR\",\n \"368\": \"IQ\",\n \"372\": \"IE\",\n \"376\": \"IL\",\n \"380\": \"IT\",\n \"384\": \"CI\",\n \"388\": \"JM\",\n \"392\": \"JP\",\n \"398\": \"KZ\",\n \"400\": \"JO\",\n \"404\": \"KE\",\n \"408\": \"KP\",\n \"410\": \"KR\",\n \"414\": \"KW\",\n \"417\": \"KG\",\n \"418\": \"LA\",\n \"422\": \"LB\",\n \"426\": \"LS\",\n \"428\": \"LV\",\n \"430\": \"LR\",\n \"434\": \"LY\",\n \"438\": \"LI\",\n \"440\": \"LT\",\n \"442\": \"LU\",\n \"446\": \"MO\",\n \"450\": \"MG\",\n \"454\": \"MW\",\n \"458\": \"MY\",\n \"462\": \"MV\",\n \"466\": \"ML\",\n \"470\": \"MT\",\n \"474\": \"MQ\",\n \"478\": \"MR\",\n \"480\": \"MU\",\n \"484\": \"MX\",\n \"492\": \"MC\",\n \"496\": \"MN\",\n \"498\": \"MD\",\n \"499\": \"ME\",\n \"500\": \"MS\",\n \"504\": \"MA\",\n \"508\": \"MZ\",\n \"512\": \"OM\",\n \"516\": \"NA\",\n \"520\": \"NR\",\n \"524\": \"NP\",\n \"528\": \"NL\",\n \"530\": \"CW SX BQ\",\n \"531\": \"CW\",\n \"532\": \"CW SX BQ\",\n \"533\": \"AW\",\n \"534\": \"SX\",\n \"535\": \"BQ\",\n \"536\": \"SA IQ\",\n \"540\": \"NC\",\n \"548\": \"VU\",\n \"554\": \"NZ\",\n \"558\": \"NI\",\n \"562\": \"NE\",\n \"566\": \"NG\",\n \"570\": \"NU\",\n \"574\": \"NF\",\n \"578\": \"NO\",\n \"580\": \"MP\",\n \"581\": \"UM\",\n \"582\": \"FM MH MP PW\",\n \"583\": \"FM\",\n \"584\": \"MH\",\n \"585\": \"PW\",\n \"586\": \"PK\",\n \"591\": \"PA\",\n \"598\": \"PG\",\n \"600\": \"PY\",\n \"604\": \"PE\",\n \"608\": \"PH\",\n \"612\": \"PN\",\n \"616\": \"PL\",\n \"620\": \"PT\",\n \"624\": \"GW\",\n \"626\": \"TL\",\n \"630\": \"PR\",\n \"634\": \"QA\",\n \"638\": \"RE\",\n \"642\": \"RO\",\n \"643\": \"RU\",\n \"646\": \"RW\",\n \"652\": \"BL\",\n \"654\": \"SH\",\n \"659\": \"KN\",\n \"660\": \"AI\",\n \"662\": \"LC\",\n \"663\": \"MF\",\n \"666\": \"PM\",\n \"670\": \"VC\",\n \"674\": \"SM\",\n \"678\": \"ST\",\n \"682\": \"SA\",\n \"686\": \"SN\",\n \"688\": \"RS\",\n \"690\": \"SC\",\n \"694\": \"SL\",\n \"702\": \"SG\",\n \"703\": \"SK\",\n \"704\": \"VN\",\n \"705\": \"SI\",\n \"706\": \"SO\",\n \"710\": \"ZA\",\n \"716\": \"ZW\",\n \"720\": \"YE\",\n \"724\": \"ES\",\n \"728\": \"SS\",\n \"729\": \"SD\",\n \"732\": \"EH\",\n \"736\": \"SD\",\n \"740\": \"SR\",\n \"744\": \"SJ\",\n \"748\": \"SZ\",\n \"752\": \"SE\",\n \"756\": \"CH\",\n \"760\": \"SY\",\n \"762\": \"TJ\",\n \"764\": \"TH\",\n \"768\": \"TG\",\n \"772\": \"TK\",\n \"776\": \"TO\",\n \"780\": \"TT\",\n \"784\": \"AE\",\n \"788\": \"TN\",\n \"792\": \"TR\",\n \"795\": \"TM\",\n \"796\": \"TC\",\n \"798\": \"TV\",\n \"800\": \"UG\",\n \"804\": \"UA\",\n \"807\": \"MK\",\n \"810\": \"RU AM AZ BY EE GE KZ KG LV LT MD TJ TM UA UZ\",\n \"818\": \"EG\",\n \"826\": \"GB\",\n \"830\": \"JE GG\",\n \"831\": \"GG\",\n \"832\": \"JE\",\n \"833\": \"IM\",\n \"834\": \"TZ\",\n \"840\": \"US\",\n \"850\": \"VI\",\n \"854\": \"BF\",\n \"858\": \"UY\",\n \"860\": \"UZ\",\n \"862\": \"VE\",\n \"876\": \"WF\",\n \"882\": \"WS\",\n \"886\": \"YE\",\n \"887\": \"YE\",\n \"890\": \"RS ME SI HR MK BA\",\n \"891\": \"RS ME\",\n \"894\": \"ZM\",\n \"958\": \"AA\",\n \"959\": \"QM\",\n \"960\": \"QN\",\n \"962\": \"QP\",\n \"963\": \"QQ\",\n \"964\": \"QR\",\n \"965\": \"QS\",\n \"966\": \"QT\",\n \"967\": \"EU\",\n \"968\": \"QV\",\n \"969\": \"QW\",\n \"970\": \"QX\",\n \"971\": \"QY\",\n \"972\": \"QZ\",\n \"973\": \"XA\",\n \"974\": \"XB\",\n \"975\": \"XC\",\n \"976\": \"XD\",\n \"977\": \"XE\",\n \"978\": \"XF\",\n \"979\": \"XG\",\n \"980\": \"XH\",\n \"981\": \"XI\",\n \"982\": \"XJ\",\n \"983\": \"XK\",\n \"984\": \"XL\",\n \"985\": \"XM\",\n \"986\": \"XN\",\n \"987\": \"XO\",\n \"988\": \"XP\",\n \"989\": \"XQ\",\n \"990\": \"XR\",\n \"991\": \"XS\",\n \"992\": \"XT\",\n \"993\": \"XU\",\n \"994\": \"XV\",\n \"995\": \"XW\",\n \"996\": \"XX\",\n \"997\": \"XY\",\n \"998\": \"XZ\",\n \"999\": \"ZZ\",\n \"004\": \"AF\",\n \"008\": \"AL\",\n \"010\": \"AQ\",\n \"012\": \"DZ\",\n \"016\": \"AS\",\n \"020\": \"AD\",\n \"024\": \"AO\",\n \"028\": \"AG\",\n \"031\": \"AZ\",\n \"032\": \"AR\",\n \"036\": \"AU\",\n \"040\": \"AT\",\n \"044\": \"BS\",\n \"048\": \"BH\",\n \"050\": \"BD\",\n \"051\": \"AM\",\n \"052\": \"BB\",\n \"056\": \"BE\",\n \"060\": \"BM\",\n \"062\": \"034 143\",\n \"064\": \"BT\",\n \"068\": \"BO\",\n \"070\": \"BA\",\n \"072\": \"BW\",\n \"074\": \"BV\",\n \"076\": \"BR\",\n \"084\": \"BZ\",\n \"086\": \"IO\",\n \"090\": \"SB\",\n \"092\": \"VG\",\n \"096\": \"BN\",\n \"AAA\": \"AA\",\n \"ABW\": \"AW\",\n \"AFG\": \"AF\",\n \"AGO\": \"AO\",\n \"AIA\": \"AI\",\n \"ALA\": \"AX\",\n \"ALB\": \"AL\",\n \"AN\": \"CW SX BQ\",\n \"AND\": \"AD\",\n \"ANT\": \"CW SX BQ\",\n \"ARE\": \"AE\",\n \"ARG\": \"AR\",\n \"ARM\": \"AM\",\n \"ASC\": \"AC\",\n \"ASM\": \"AS\",\n \"ATA\": \"AQ\",\n \"ATF\": \"TF\",\n \"ATG\": \"AG\",\n \"AUS\": \"AU\",\n \"AUT\": \"AT\",\n \"AZE\": \"AZ\",\n \"BDI\": \"BI\",\n \"BEL\": \"BE\",\n \"BEN\": \"BJ\",\n \"BES\": \"BQ\",\n \"BFA\": \"BF\",\n \"BGD\": \"BD\",\n \"BGR\": \"BG\",\n \"BHR\": \"BH\",\n \"BHS\": \"BS\",\n \"BIH\": \"BA\",\n \"BLM\": \"BL\",\n \"BLR\": \"BY\",\n \"BLZ\": \"BZ\",\n \"BMU\": \"BM\",\n \"BOL\": \"BO\",\n \"BRA\": \"BR\",\n \"BRB\": \"BB\",\n \"BRN\": \"BN\",\n \"BTN\": \"BT\",\n \"BU\": \"MM\",\n \"BUR\": \"MM\",\n \"BVT\": \"BV\",\n \"BWA\": \"BW\",\n \"CAF\": \"CF\",\n \"CAN\": \"CA\",\n \"CCK\": \"CC\",\n \"CHE\": \"CH\",\n \"CHL\": \"CL\",\n \"CHN\": \"CN\",\n \"CIV\": \"CI\",\n \"CMR\": \"CM\",\n \"COD\": \"CD\",\n \"COG\": \"CG\",\n \"COK\": \"CK\",\n \"COL\": \"CO\",\n \"COM\": \"KM\",\n \"CPT\": \"CP\",\n \"CPV\": \"CV\",\n \"CRI\": \"CR\",\n \"CS\": \"RS ME\",\n \"CT\": \"KI\",\n \"CUB\": \"CU\",\n \"CUW\": \"CW\",\n \"CXR\": \"CX\",\n \"CYM\": \"KY\",\n \"CYP\": \"CY\",\n \"CZE\": \"CZ\",\n \"DD\": \"DE\",\n \"DDR\": \"DE\",\n \"DEU\": \"DE\",\n \"DGA\": \"DG\",\n \"DJI\": \"DJ\",\n \"DMA\": \"DM\",\n \"DNK\": \"DK\",\n \"DOM\": \"DO\",\n \"DY\": \"BJ\",\n \"DZA\": \"DZ\",\n \"ECU\": \"EC\",\n \"EGY\": \"EG\",\n \"ERI\": \"ER\",\n \"ESH\": \"EH\",\n \"ESP\": \"ES\",\n \"EST\": \"EE\",\n \"ETH\": \"ET\",\n \"FIN\": \"FI\",\n \"FJI\": \"FJ\",\n \"FLK\": \"FK\",\n \"FQ\": \"AQ TF\",\n \"FRA\": \"FR\",\n \"FRO\": \"FO\",\n \"FSM\": \"FM\",\n \"FX\": \"FR\",\n \"FXX\": \"FR\",\n \"GAB\": \"GA\",\n \"GBR\": \"GB\",\n \"GEO\": \"GE\",\n \"GGY\": \"GG\",\n \"GHA\": \"GH\",\n \"GIB\": \"GI\",\n \"GIN\": \"GN\",\n \"GLP\": \"GP\",\n \"GMB\": \"GM\",\n \"GNB\": \"GW\",\n \"GNQ\": \"GQ\",\n \"GRC\": \"GR\",\n \"GRD\": \"GD\",\n \"GRL\": \"GL\",\n \"GTM\": \"GT\",\n \"GUF\": \"GF\",\n \"GUM\": \"GU\",\n \"GUY\": \"GY\",\n \"HKG\": \"HK\",\n \"HMD\": \"HM\",\n \"HND\": \"HN\",\n \"HRV\": \"HR\",\n \"HTI\": \"HT\",\n \"HUN\": \"HU\",\n \"HV\": \"BF\",\n \"IDN\": \"ID\",\n \"IMN\": \"IM\",\n \"IND\": \"IN\",\n \"IOT\": \"IO\",\n \"IRL\": \"IE\",\n \"IRN\": \"IR\",\n \"IRQ\": \"IQ\",\n \"ISL\": \"IS\",\n \"ISR\": \"IL\",\n \"ITA\": \"IT\",\n \"JAM\": \"JM\",\n \"JEY\": \"JE\",\n \"JOR\": \"JO\",\n \"JPN\": \"JP\",\n \"JT\": \"UM\",\n \"KAZ\": \"KZ\",\n \"KEN\": \"KE\",\n \"KGZ\": \"KG\",\n \"KHM\": \"KH\",\n \"KIR\": \"KI\",\n \"KNA\": \"KN\",\n \"KOR\": \"KR\",\n \"KWT\": \"KW\",\n \"LAO\": \"LA\",\n \"LBN\": \"LB\",\n \"LBR\": \"LR\",\n \"LBY\": \"LY\",\n \"LCA\": \"LC\",\n \"LIE\": \"LI\",\n \"LKA\": \"LK\",\n \"LSO\": \"LS\",\n \"LTU\": \"LT\",\n \"LUX\": \"LU\",\n \"LVA\": \"LV\",\n \"MAC\": \"MO\",\n \"MAF\": \"MF\",\n \"MAR\": \"MA\",\n \"MCO\": \"MC\",\n \"MDA\": \"MD\",\n \"MDG\": \"MG\",\n \"MDV\": \"MV\",\n \"MEX\": \"MX\",\n \"MHL\": \"MH\",\n \"MI\": \"UM\",\n \"MKD\": \"MK\",\n \"MLI\": \"ML\",\n \"MLT\": \"MT\",\n \"MMR\": \"MM\",\n \"MNE\": \"ME\",\n \"MNG\": \"MN\",\n \"MNP\": \"MP\",\n \"MOZ\": \"MZ\",\n \"MRT\": \"MR\",\n \"MSR\": \"MS\",\n \"MTQ\": \"MQ\",\n \"MUS\": \"MU\",\n \"MWI\": \"MW\",\n \"MYS\": \"MY\",\n \"MYT\": \"YT\",\n \"NAM\": \"NA\",\n \"NCL\": \"NC\",\n \"NER\": \"NE\",\n \"NFK\": \"NF\",\n \"NGA\": \"NG\",\n \"NH\": \"VU\",\n \"NIC\": \"NI\",\n \"NIU\": \"NU\",\n \"NLD\": \"NL\",\n \"NOR\": \"NO\",\n \"NPL\": \"NP\",\n \"NQ\": \"AQ\",\n \"NRU\": \"NR\",\n \"NT\": \"SA IQ\",\n \"NTZ\": \"SA IQ\",\n \"NZL\": \"NZ\",\n \"OMN\": \"OM\",\n \"PAK\": \"PK\",\n \"PAN\": \"PA\",\n \"PC\": \"FM MH MP PW\",\n \"PCN\": \"PN\",\n \"PER\": \"PE\",\n \"PHL\": \"PH\",\n \"PLW\": \"PW\",\n \"PNG\": \"PG\",\n \"POL\": \"PL\",\n \"PRI\": \"PR\",\n \"PRK\": \"KP\",\n \"PRT\": \"PT\",\n \"PRY\": \"PY\",\n \"PSE\": \"PS\",\n \"PU\": \"UM\",\n \"PYF\": \"PF\",\n \"PZ\": \"PA\",\n \"QAT\": \"QA\",\n \"QMM\": \"QM\",\n \"QNN\": \"QN\",\n \"QPP\": \"QP\",\n \"QQQ\": \"QQ\",\n \"QRR\": \"QR\",\n \"QSS\": \"QS\",\n \"QTT\": \"QT\",\n \"QU\": \"EU\",\n \"QUU\": \"EU\",\n \"QVV\": \"QV\",\n \"QWW\": \"QW\",\n \"QXX\": \"QX\",\n \"QYY\": \"QY\",\n \"QZZ\": \"QZ\",\n \"REU\": \"RE\",\n \"RH\": \"ZW\",\n \"ROU\": \"RO\",\n \"RUS\": \"RU\",\n \"RWA\": \"RW\",\n \"SAU\": \"SA\",\n \"SCG\": \"RS ME\",\n \"SDN\": \"SD\",\n \"SEN\": \"SN\",\n \"SGP\": \"SG\",\n \"SGS\": \"GS\",\n \"SHN\": \"SH\",\n \"SJM\": \"SJ\",\n \"SLB\": \"SB\",\n \"SLE\": \"SL\",\n \"SLV\": \"SV\",\n \"SMR\": \"SM\",\n \"SOM\": \"SO\",\n \"SPM\": \"PM\",\n \"SRB\": \"RS\",\n \"SSD\": \"SS\",\n \"STP\": \"ST\",\n \"SU\": \"RU AM AZ BY EE GE KZ KG LV LT MD TJ TM UA UZ\",\n \"SUN\": \"RU AM AZ BY EE GE KZ KG LV LT MD TJ TM UA UZ\",\n \"SUR\": \"SR\",\n \"SVK\": \"SK\",\n \"SVN\": \"SI\",\n \"SWE\": \"SE\",\n \"SWZ\": \"SZ\",\n \"SXM\": \"SX\",\n \"SYC\": \"SC\",\n \"SYR\": \"SY\",\n \"TAA\": \"TA\",\n \"TCA\": \"TC\",\n \"TCD\": \"TD\",\n \"TGO\": \"TG\",\n \"THA\": \"TH\",\n \"TJK\": \"TJ\",\n \"TKL\": \"TK\",\n \"TKM\": \"TM\",\n \"TLS\": \"TL\",\n \"TMP\": \"TL\",\n \"TON\": \"TO\",\n \"TP\": \"TL\",\n \"TTO\": \"TT\",\n \"TUN\": \"TN\",\n \"TUR\": \"TR\",\n \"TUV\": \"TV\",\n \"TWN\": \"TW\",\n \"TZA\": \"TZ\",\n \"UGA\": \"UG\",\n \"UK\": \"GB\",\n \"UKR\": \"UA\",\n \"UMI\": \"UM\",\n \"URY\": \"UY\",\n \"USA\": \"US\",\n \"UZB\": \"UZ\",\n \"VAT\": \"VA\",\n \"VCT\": \"VC\",\n \"VD\": \"VN\",\n \"VEN\": \"VE\",\n \"VGB\": \"VG\",\n \"VIR\": \"VI\",\n \"VNM\": \"VN\",\n \"VUT\": \"VU\",\n \"WK\": \"UM\",\n \"WLF\": \"WF\",\n \"WSM\": \"WS\",\n \"XAA\": \"XA\",\n \"XBB\": \"XB\",\n \"XCC\": \"XC\",\n \"XDD\": \"XD\",\n \"XEE\": \"XE\",\n \"XFF\": \"XF\",\n \"XGG\": \"XG\",\n \"XHH\": \"XH\",\n \"XII\": \"XI\",\n \"XJJ\": \"XJ\",\n \"XKK\": \"XK\",\n \"XLL\": \"XL\",\n \"XMM\": \"XM\",\n \"XNN\": \"XN\",\n \"XOO\": \"XO\",\n \"XPP\": \"XP\",\n \"XQQ\": \"XQ\",\n \"XRR\": \"XR\",\n \"XSS\": \"XS\",\n \"XTT\": \"XT\",\n \"XUU\": \"XU\",\n \"XVV\": \"XV\",\n \"XWW\": \"XW\",\n \"XXX\": \"XX\",\n \"XYY\": \"XY\",\n \"XZZ\": \"XZ\",\n \"YD\": \"YE\",\n \"YEM\": \"YE\",\n \"YMD\": \"YE\",\n \"YU\": \"RS ME\",\n \"YUG\": \"RS ME\",\n \"ZAF\": \"ZA\",\n \"ZAR\": \"CD\",\n \"ZMB\": \"ZM\",\n \"ZR\": \"CD\",\n \"ZWE\": \"ZW\",\n \"ZZZ\": \"ZZ\"\n};\nexports.scriptAlias = {\n \"Qaai\": \"Zinh\"\n};\nexports.variantAlias = {\n \"heploc\": \"alalc97\",\n \"polytoni\": \"polyton\"\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.canonicalizeUnicodeLocaleId = exports.canonicalizeUnicodeLanguageId = void 0;\nvar tslib_1 = require(\"tslib\");\nvar aliases_generated_1 = require(\"./aliases.generated\");\nvar parser_1 = require(\"./parser\");\nvar likelySubtags_generated_1 = require(\"./likelySubtags.generated\");\nvar emitter_1 = require(\"./emitter\");\nfunction canonicalizeAttrs(strs) {\n return Object.keys(strs.reduce(function (all, str) {\n all[str.toLowerCase()] = 1;\n return all;\n }, {})).sort();\n}\nfunction canonicalizeKVs(arr) {\n var all = {};\n var result = [];\n for (var _i = 0, arr_1 = arr; _i < arr_1.length; _i++) {\n var kv = arr_1[_i];\n if (kv[0] in all) {\n continue;\n }\n all[kv[0]] = 1;\n if (!kv[1] || kv[1] === 'true') {\n result.push([kv[0].toLowerCase()]);\n }\n else {\n result.push([kv[0].toLowerCase(), kv[1].toLowerCase()]);\n }\n }\n return result.sort(compareKV);\n}\nfunction compareKV(t1, t2) {\n return t1[0] < t2[0] ? -1 : t1[0] > t2[0] ? 1 : 0;\n}\nfunction compareExtension(e1, e2) {\n return e1.type < e2.type ? -1 : e1.type > e2.type ? 1 : 0;\n}\nfunction mergeVariants(v1, v2) {\n var result = tslib_1.__spreadArray([], v1, true);\n for (var _i = 0, v2_1 = v2; _i < v2_1.length; _i++) {\n var v = v2_1[_i];\n if (v1.indexOf(v) < 0) {\n result.push(v);\n }\n }\n return result;\n}\n/**\n * CAVEAT: We don't do this section in the spec bc they have no JSON data\n * Use the bcp47 data to replace keys, types, tfields, and tvalues by their canonical forms. See Section 3.6.4 U Extension Data Files) and Section 3.7.1 T Extension Data Files. The aliases are in the alias attribute value, while the canonical is in the name attribute value. For example,\nBecause of the following bcp47 data:\n\nWe get the following transformation:\nen-u-ms-imperial ⇒ en-u-ms-uksystem\n * @param lang\n */\nfunction canonicalizeUnicodeLanguageId(unicodeLanguageId) {\n /**\n * If the language subtag matches the type attribute of a languageAlias element in Supplemental Data, replace the language subtag with the replacement value.\n * 1. If there are additional subtags in the replacement value, add them to the result, but only if there is no corresponding subtag already in the tag.\n * 2. Five special deprecated grandfathered codes (such as i-default) are in type attributes, and are also replaced.\n */\n // From https://github.com/unicode-org/icu/blob/master/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java#L1246\n // Try language _ variant\n var finalLangAst = unicodeLanguageId;\n if (unicodeLanguageId.variants.length) {\n var replacedLang_1 = '';\n for (var _i = 0, _a = unicodeLanguageId.variants; _i < _a.length; _i++) {\n var variant = _a[_i];\n if ((replacedLang_1 =\n aliases_generated_1.languageAlias[(0, emitter_1.emitUnicodeLanguageId)({\n lang: unicodeLanguageId.lang,\n variants: [variant],\n })])) {\n var replacedLangAst = (0, parser_1.parseUnicodeLanguageId)(replacedLang_1.split(parser_1.SEPARATOR));\n finalLangAst = {\n lang: replacedLangAst.lang,\n script: finalLangAst.script || replacedLangAst.script,\n region: finalLangAst.region || replacedLangAst.region,\n variants: mergeVariants(finalLangAst.variants, replacedLangAst.variants),\n };\n break;\n }\n }\n }\n // language _ script _ country\n // ug-Arab-CN -> ug-CN\n if (finalLangAst.script && finalLangAst.region) {\n var replacedLang_2 = aliases_generated_1.languageAlias[(0, emitter_1.emitUnicodeLanguageId)({\n lang: finalLangAst.lang,\n script: finalLangAst.script,\n region: finalLangAst.region,\n variants: [],\n })];\n if (replacedLang_2) {\n var replacedLangAst = (0, parser_1.parseUnicodeLanguageId)(replacedLang_2.split(parser_1.SEPARATOR));\n finalLangAst = {\n lang: replacedLangAst.lang,\n script: replacedLangAst.script,\n region: replacedLangAst.region,\n variants: finalLangAst.variants,\n };\n }\n }\n // language _ country\n // eg. az_AZ -> az_Latn_A\n if (finalLangAst.region) {\n var replacedLang_3 = aliases_generated_1.languageAlias[(0, emitter_1.emitUnicodeLanguageId)({\n lang: finalLangAst.lang,\n region: finalLangAst.region,\n variants: [],\n })];\n if (replacedLang_3) {\n var replacedLangAst = (0, parser_1.parseUnicodeLanguageId)(replacedLang_3.split(parser_1.SEPARATOR));\n finalLangAst = {\n lang: replacedLangAst.lang,\n script: finalLangAst.script || replacedLangAst.script,\n region: replacedLangAst.region,\n variants: finalLangAst.variants,\n };\n }\n }\n // only language\n // e.g. twi -> ak\n var replacedLang = aliases_generated_1.languageAlias[(0, emitter_1.emitUnicodeLanguageId)({\n lang: finalLangAst.lang,\n variants: [],\n })];\n if (replacedLang) {\n var replacedLangAst = (0, parser_1.parseUnicodeLanguageId)(replacedLang.split(parser_1.SEPARATOR));\n finalLangAst = {\n lang: replacedLangAst.lang,\n script: finalLangAst.script || replacedLangAst.script,\n region: finalLangAst.region || replacedLangAst.region,\n variants: finalLangAst.variants,\n };\n }\n if (finalLangAst.region) {\n var region = finalLangAst.region.toUpperCase();\n var regionAlias = aliases_generated_1.territoryAlias[region];\n var replacedRegion = void 0;\n if (regionAlias) {\n var regions = regionAlias.split(' ');\n replacedRegion = regions[0];\n var likelySubtag = likelySubtags_generated_1.likelySubtags[(0, emitter_1.emitUnicodeLanguageId)({\n lang: finalLangAst.lang,\n script: finalLangAst.script,\n variants: [],\n })];\n if (likelySubtag) {\n var likelyRegion = (0, parser_1.parseUnicodeLanguageId)(likelySubtag.split(parser_1.SEPARATOR)).region;\n if (likelyRegion && regions.indexOf(likelyRegion) > -1) {\n replacedRegion = likelyRegion;\n }\n }\n }\n if (replacedRegion) {\n finalLangAst.region = replacedRegion;\n }\n finalLangAst.region = finalLangAst.region.toUpperCase();\n }\n if (finalLangAst.script) {\n finalLangAst.script =\n finalLangAst.script[0].toUpperCase() +\n finalLangAst.script.slice(1).toLowerCase();\n if (aliases_generated_1.scriptAlias[finalLangAst.script]) {\n finalLangAst.script = aliases_generated_1.scriptAlias[finalLangAst.script];\n }\n }\n if (finalLangAst.variants.length) {\n for (var i = 0; i < finalLangAst.variants.length; i++) {\n var variant = finalLangAst.variants[i].toLowerCase();\n if (aliases_generated_1.variantAlias[variant]) {\n var alias = aliases_generated_1.variantAlias[variant];\n if ((0, parser_1.isUnicodeVariantSubtag)(alias)) {\n finalLangAst.variants[i] = alias;\n }\n else if ((0, parser_1.isUnicodeLanguageSubtag)(alias)) {\n // Yes this can happen per the spec\n finalLangAst.lang = alias;\n }\n }\n }\n finalLangAst.variants.sort();\n }\n return finalLangAst;\n}\nexports.canonicalizeUnicodeLanguageId = canonicalizeUnicodeLanguageId;\n/**\n * Canonicalize based on\n * https://www.unicode.org/reports/tr35/tr35.html#Canonical_Unicode_Locale_Identifiers\n * https://tc39.es/ecma402/#sec-canonicalizeunicodelocaleid\n * IMPORTANT: This modifies the object inline\n * @param locale\n */\nfunction canonicalizeUnicodeLocaleId(locale) {\n locale.lang = canonicalizeUnicodeLanguageId(locale.lang);\n if (locale.extensions) {\n for (var _i = 0, _a = locale.extensions; _i < _a.length; _i++) {\n var extension = _a[_i];\n switch (extension.type) {\n case 'u':\n extension.keywords = canonicalizeKVs(extension.keywords);\n if (extension.attributes) {\n extension.attributes = canonicalizeAttrs(extension.attributes);\n }\n break;\n case 't':\n if (extension.lang) {\n extension.lang = canonicalizeUnicodeLanguageId(extension.lang);\n }\n extension.fields = canonicalizeKVs(extension.fields);\n break;\n default:\n extension.value = extension.value.toLowerCase();\n break;\n }\n }\n locale.extensions.sort(compareExtension);\n }\n return locale;\n}\nexports.canonicalizeUnicodeLocaleId = canonicalizeUnicodeLocaleId;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.emitUnicodeLocaleId = exports.emitUnicodeLanguageId = void 0;\nvar tslib_1 = require(\"tslib\");\nfunction emitUnicodeLanguageId(lang) {\n if (!lang) {\n return '';\n }\n return tslib_1.__spreadArray([lang.lang, lang.script, lang.region], (lang.variants || []), true).filter(Boolean)\n .join('-');\n}\nexports.emitUnicodeLanguageId = emitUnicodeLanguageId;\nfunction emitUnicodeLocaleId(_a) {\n var lang = _a.lang, extensions = _a.extensions;\n var chunks = [emitUnicodeLanguageId(lang)];\n for (var _i = 0, extensions_1 = extensions; _i < extensions_1.length; _i++) {\n var ext = extensions_1[_i];\n chunks.push(ext.type);\n switch (ext.type) {\n case 'u':\n chunks.push.apply(chunks, tslib_1.__spreadArray(tslib_1.__spreadArray([], ext.attributes, false), ext.keywords.reduce(function (all, kv) { return all.concat(kv); }, []), false));\n break;\n case 't':\n chunks.push.apply(chunks, tslib_1.__spreadArray([emitUnicodeLanguageId(ext.lang)], ext.fields.reduce(function (all, kv) { return all.concat(kv); }, []), false));\n break;\n default:\n chunks.push(ext.value);\n break;\n }\n }\n return chunks.filter(Boolean).join('-');\n}\nexports.emitUnicodeLocaleId = emitUnicodeLocaleId;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.likelySubtags = void 0;\n/* @generated */\n// prettier-ignore \nexports.likelySubtags = {\n \"aa\": \"aa-Latn-ET\",\n \"aai\": \"aai-Latn-ZZ\",\n \"aak\": \"aak-Latn-ZZ\",\n \"aau\": \"aau-Latn-ZZ\",\n \"ab\": \"ab-Cyrl-GE\",\n \"abi\": \"abi-Latn-ZZ\",\n \"abq\": \"abq-Cyrl-ZZ\",\n \"abr\": \"abr-Latn-GH\",\n \"abt\": \"abt-Latn-ZZ\",\n \"aby\": \"aby-Latn-ZZ\",\n \"acd\": \"acd-Latn-ZZ\",\n \"ace\": \"ace-Latn-ID\",\n \"ach\": \"ach-Latn-UG\",\n \"ada\": \"ada-Latn-GH\",\n \"ade\": \"ade-Latn-ZZ\",\n \"adj\": \"adj-Latn-ZZ\",\n \"adp\": \"adp-Tibt-BT\",\n \"ady\": \"ady-Cyrl-RU\",\n \"adz\": \"adz-Latn-ZZ\",\n \"ae\": \"ae-Avst-IR\",\n \"aeb\": \"aeb-Arab-TN\",\n \"aey\": \"aey-Latn-ZZ\",\n \"af\": \"af-Latn-ZA\",\n \"agc\": \"agc-Latn-ZZ\",\n \"agd\": \"agd-Latn-ZZ\",\n \"agg\": \"agg-Latn-ZZ\",\n \"agm\": \"agm-Latn-ZZ\",\n \"ago\": \"ago-Latn-ZZ\",\n \"agq\": \"agq-Latn-CM\",\n \"aha\": \"aha-Latn-ZZ\",\n \"ahl\": \"ahl-Latn-ZZ\",\n \"aho\": \"aho-Ahom-IN\",\n \"ajg\": \"ajg-Latn-ZZ\",\n \"ak\": \"ak-Latn-GH\",\n \"akk\": \"akk-Xsux-IQ\",\n \"ala\": \"ala-Latn-ZZ\",\n \"ali\": \"ali-Latn-ZZ\",\n \"aln\": \"aln-Latn-XK\",\n \"alt\": \"alt-Cyrl-RU\",\n \"am\": \"am-Ethi-ET\",\n \"amm\": \"amm-Latn-ZZ\",\n \"amn\": \"amn-Latn-ZZ\",\n \"amo\": \"amo-Latn-NG\",\n \"amp\": \"amp-Latn-ZZ\",\n \"an\": \"an-Latn-ES\",\n \"anc\": \"anc-Latn-ZZ\",\n \"ank\": \"ank-Latn-ZZ\",\n \"ann\": \"ann-Latn-ZZ\",\n \"any\": \"any-Latn-ZZ\",\n \"aoj\": \"aoj-Latn-ZZ\",\n \"aom\": \"aom-Latn-ZZ\",\n \"aoz\": \"aoz-Latn-ID\",\n \"apc\": \"apc-Arab-ZZ\",\n \"apd\": \"apd-Arab-TG\",\n \"ape\": \"ape-Latn-ZZ\",\n \"apr\": \"apr-Latn-ZZ\",\n \"aps\": \"aps-Latn-ZZ\",\n \"apz\": \"apz-Latn-ZZ\",\n \"ar\": \"ar-Arab-EG\",\n \"arc\": \"arc-Armi-IR\",\n \"arc-Nbat\": \"arc-Nbat-JO\",\n \"arc-Palm\": \"arc-Palm-SY\",\n \"arh\": \"arh-Latn-ZZ\",\n \"arn\": \"arn-Latn-CL\",\n \"aro\": \"aro-Latn-BO\",\n \"arq\": \"arq-Arab-DZ\",\n \"ars\": \"ars-Arab-SA\",\n \"ary\": \"ary-Arab-MA\",\n \"arz\": \"arz-Arab-EG\",\n \"as\": \"as-Beng-IN\",\n \"asa\": \"asa-Latn-TZ\",\n \"ase\": \"ase-Sgnw-US\",\n \"asg\": \"asg-Latn-ZZ\",\n \"aso\": \"aso-Latn-ZZ\",\n \"ast\": \"ast-Latn-ES\",\n \"ata\": \"ata-Latn-ZZ\",\n \"atg\": \"atg-Latn-ZZ\",\n \"atj\": \"atj-Latn-CA\",\n \"auy\": \"auy-Latn-ZZ\",\n \"av\": \"av-Cyrl-RU\",\n \"avl\": \"avl-Arab-ZZ\",\n \"avn\": \"avn-Latn-ZZ\",\n \"avt\": \"avt-Latn-ZZ\",\n \"avu\": \"avu-Latn-ZZ\",\n \"awa\": \"awa-Deva-IN\",\n \"awb\": \"awb-Latn-ZZ\",\n \"awo\": \"awo-Latn-ZZ\",\n \"awx\": \"awx-Latn-ZZ\",\n \"ay\": \"ay-Latn-BO\",\n \"ayb\": \"ayb-Latn-ZZ\",\n \"az\": \"az-Latn-AZ\",\n \"az-Arab\": \"az-Arab-IR\",\n \"az-IQ\": \"az-Arab-IQ\",\n \"az-IR\": \"az-Arab-IR\",\n \"az-RU\": \"az-Cyrl-RU\",\n \"ba\": \"ba-Cyrl-RU\",\n \"bal\": \"bal-Arab-PK\",\n \"ban\": \"ban-Latn-ID\",\n \"bap\": \"bap-Deva-NP\",\n \"bar\": \"bar-Latn-AT\",\n \"bas\": \"bas-Latn-CM\",\n \"bav\": \"bav-Latn-ZZ\",\n \"bax\": \"bax-Bamu-CM\",\n \"bba\": \"bba-Latn-ZZ\",\n \"bbb\": \"bbb-Latn-ZZ\",\n \"bbc\": \"bbc-Latn-ID\",\n \"bbd\": \"bbd-Latn-ZZ\",\n \"bbj\": \"bbj-Latn-CM\",\n \"bbp\": \"bbp-Latn-ZZ\",\n \"bbr\": \"bbr-Latn-ZZ\",\n \"bcf\": \"bcf-Latn-ZZ\",\n \"bch\": \"bch-Latn-ZZ\",\n \"bci\": \"bci-Latn-CI\",\n \"bcm\": \"bcm-Latn-ZZ\",\n \"bcn\": \"bcn-Latn-ZZ\",\n \"bco\": \"bco-Latn-ZZ\",\n \"bcq\": \"bcq-Ethi-ZZ\",\n \"bcu\": \"bcu-Latn-ZZ\",\n \"bdd\": \"bdd-Latn-ZZ\",\n \"be\": \"be-Cyrl-BY\",\n \"bef\": \"bef-Latn-ZZ\",\n \"beh\": \"beh-Latn-ZZ\",\n \"bej\": \"bej-Arab-SD\",\n \"bem\": \"bem-Latn-ZM\",\n \"bet\": \"bet-Latn-ZZ\",\n \"bew\": \"bew-Latn-ID\",\n \"bex\": \"bex-Latn-ZZ\",\n \"bez\": \"bez-Latn-TZ\",\n \"bfd\": \"bfd-Latn-CM\",\n \"bfq\": \"bfq-Taml-IN\",\n \"bft\": \"bft-Arab-PK\",\n \"bfy\": \"bfy-Deva-IN\",\n \"bg\": \"bg-Cyrl-BG\",\n \"bgc\": \"bgc-Deva-IN\",\n \"bgn\": \"bgn-Arab-PK\",\n \"bgx\": \"bgx-Grek-TR\",\n \"bhb\": \"bhb-Deva-IN\",\n \"bhg\": \"bhg-Latn-ZZ\",\n \"bhi\": \"bhi-Deva-IN\",\n \"bhl\": \"bhl-Latn-ZZ\",\n \"bho\": \"bho-Deva-IN\",\n \"bhy\": \"bhy-Latn-ZZ\",\n \"bi\": \"bi-Latn-VU\",\n \"bib\": \"bib-Latn-ZZ\",\n \"big\": \"big-Latn-ZZ\",\n \"bik\": \"bik-Latn-PH\",\n \"bim\": \"bim-Latn-ZZ\",\n \"bin\": \"bin-Latn-NG\",\n \"bio\": \"bio-Latn-ZZ\",\n \"biq\": \"biq-Latn-ZZ\",\n \"bjh\": \"bjh-Latn-ZZ\",\n \"bji\": \"bji-Ethi-ZZ\",\n \"bjj\": \"bjj-Deva-IN\",\n \"bjn\": \"bjn-Latn-ID\",\n \"bjo\": \"bjo-Latn-ZZ\",\n \"bjr\": \"bjr-Latn-ZZ\",\n \"bjt\": \"bjt-Latn-SN\",\n \"bjz\": \"bjz-Latn-ZZ\",\n \"bkc\": \"bkc-Latn-ZZ\",\n \"bkm\": \"bkm-Latn-CM\",\n \"bkq\": \"bkq-Latn-ZZ\",\n \"bku\": \"bku-Latn-PH\",\n \"bkv\": \"bkv-Latn-ZZ\",\n \"blg\": \"blg-Latn-MY\",\n \"blt\": \"blt-Tavt-VN\",\n \"bm\": \"bm-Latn-ML\",\n \"bmh\": \"bmh-Latn-ZZ\",\n \"bmk\": \"bmk-Latn-ZZ\",\n \"bmq\": \"bmq-Latn-ML\",\n \"bmu\": \"bmu-Latn-ZZ\",\n \"bn\": \"bn-Beng-BD\",\n \"bng\": \"bng-Latn-ZZ\",\n \"bnm\": \"bnm-Latn-ZZ\",\n \"bnp\": \"bnp-Latn-ZZ\",\n \"bo\": \"bo-Tibt-CN\",\n \"boj\": \"boj-Latn-ZZ\",\n \"bom\": \"bom-Latn-ZZ\",\n \"bon\": \"bon-Latn-ZZ\",\n \"bpy\": \"bpy-Beng-IN\",\n \"bqc\": \"bqc-Latn-ZZ\",\n \"bqi\": \"bqi-Arab-IR\",\n \"bqp\": \"bqp-Latn-ZZ\",\n \"bqv\": \"bqv-Latn-CI\",\n \"br\": \"br-Latn-FR\",\n \"bra\": \"bra-Deva-IN\",\n \"brh\": \"brh-Arab-PK\",\n \"brx\": \"brx-Deva-IN\",\n \"brz\": \"brz-Latn-ZZ\",\n \"bs\": \"bs-Latn-BA\",\n \"bsj\": \"bsj-Latn-ZZ\",\n \"bsq\": \"bsq-Bass-LR\",\n \"bss\": \"bss-Latn-CM\",\n \"bst\": \"bst-Ethi-ZZ\",\n \"bto\": \"bto-Latn-PH\",\n \"btt\": \"btt-Latn-ZZ\",\n \"btv\": \"btv-Deva-PK\",\n \"bua\": \"bua-Cyrl-RU\",\n \"buc\": \"buc-Latn-YT\",\n \"bud\": \"bud-Latn-ZZ\",\n \"bug\": \"bug-Latn-ID\",\n \"buk\": \"buk-Latn-ZZ\",\n \"bum\": \"bum-Latn-CM\",\n \"buo\": \"buo-Latn-ZZ\",\n \"bus\": \"bus-Latn-ZZ\",\n \"buu\": \"buu-Latn-ZZ\",\n \"bvb\": \"bvb-Latn-GQ\",\n \"bwd\": \"bwd-Latn-ZZ\",\n \"bwr\": \"bwr-Latn-ZZ\",\n \"bxh\": \"bxh-Latn-ZZ\",\n \"bye\": \"bye-Latn-ZZ\",\n \"byn\": \"byn-Ethi-ER\",\n \"byr\": \"byr-Latn-ZZ\",\n \"bys\": \"bys-Latn-ZZ\",\n \"byv\": \"byv-Latn-CM\",\n \"byx\": \"byx-Latn-ZZ\",\n \"bza\": \"bza-Latn-ZZ\",\n \"bze\": \"bze-Latn-ML\",\n \"bzf\": \"bzf-Latn-ZZ\",\n \"bzh\": \"bzh-Latn-ZZ\",\n \"bzw\": \"bzw-Latn-ZZ\",\n \"ca\": \"ca-Latn-ES\",\n \"cad\": \"cad-Latn-US\",\n \"can\": \"can-Latn-ZZ\",\n \"cbj\": \"cbj-Latn-ZZ\",\n \"cch\": \"cch-Latn-NG\",\n \"ccp\": \"ccp-Cakm-BD\",\n \"ce\": \"ce-Cyrl-RU\",\n \"ceb\": \"ceb-Latn-PH\",\n \"cfa\": \"cfa-Latn-ZZ\",\n \"cgg\": \"cgg-Latn-UG\",\n \"ch\": \"ch-Latn-GU\",\n \"chk\": \"chk-Latn-FM\",\n \"chm\": \"chm-Cyrl-RU\",\n \"cho\": \"cho-Latn-US\",\n \"chp\": \"chp-Latn-CA\",\n \"chr\": \"chr-Cher-US\",\n \"cic\": \"cic-Latn-US\",\n \"cja\": \"cja-Arab-KH\",\n \"cjm\": \"cjm-Cham-VN\",\n \"cjv\": \"cjv-Latn-ZZ\",\n \"ckb\": \"ckb-Arab-IQ\",\n \"ckl\": \"ckl-Latn-ZZ\",\n \"cko\": \"cko-Latn-ZZ\",\n \"cky\": \"cky-Latn-ZZ\",\n \"cla\": \"cla-Latn-ZZ\",\n \"cme\": \"cme-Latn-ZZ\",\n \"cmg\": \"cmg-Soyo-MN\",\n \"co\": \"co-Latn-FR\",\n \"cop\": \"cop-Copt-EG\",\n \"cps\": \"cps-Latn-PH\",\n \"cr\": \"cr-Cans-CA\",\n \"crh\": \"crh-Cyrl-UA\",\n \"crj\": \"crj-Cans-CA\",\n \"crk\": \"crk-Cans-CA\",\n \"crl\": \"crl-Cans-CA\",\n \"crm\": \"crm-Cans-CA\",\n \"crs\": \"crs-Latn-SC\",\n \"cs\": \"cs-Latn-CZ\",\n \"csb\": \"csb-Latn-PL\",\n \"csw\": \"csw-Cans-CA\",\n \"ctd\": \"ctd-Pauc-MM\",\n \"cu\": \"cu-Cyrl-RU\",\n \"cu-Glag\": \"cu-Glag-BG\",\n \"cv\": \"cv-Cyrl-RU\",\n \"cy\": \"cy-Latn-GB\",\n \"da\": \"da-Latn-DK\",\n \"dad\": \"dad-Latn-ZZ\",\n \"daf\": \"daf-Latn-CI\",\n \"dag\": \"dag-Latn-ZZ\",\n \"dah\": \"dah-Latn-ZZ\",\n \"dak\": \"dak-Latn-US\",\n \"dar\": \"dar-Cyrl-RU\",\n \"dav\": \"dav-Latn-KE\",\n \"dbd\": \"dbd-Latn-ZZ\",\n \"dbq\": \"dbq-Latn-ZZ\",\n \"dcc\": \"dcc-Arab-IN\",\n \"ddn\": \"ddn-Latn-ZZ\",\n \"de\": \"de-Latn-DE\",\n \"ded\": \"ded-Latn-ZZ\",\n \"den\": \"den-Latn-CA\",\n \"dga\": \"dga-Latn-ZZ\",\n \"dgh\": \"dgh-Latn-ZZ\",\n \"dgi\": \"dgi-Latn-ZZ\",\n \"dgl\": \"dgl-Arab-ZZ\",\n \"dgr\": \"dgr-Latn-CA\",\n \"dgz\": \"dgz-Latn-ZZ\",\n \"dia\": \"dia-Latn-ZZ\",\n \"dje\": \"dje-Latn-NE\",\n \"dmf\": \"dmf-Medf-NG\",\n \"dnj\": \"dnj-Latn-CI\",\n \"dob\": \"dob-Latn-ZZ\",\n \"doi\": \"doi-Deva-IN\",\n \"dop\": \"dop-Latn-ZZ\",\n \"dow\": \"dow-Latn-ZZ\",\n \"drh\": \"drh-Mong-CN\",\n \"dri\": \"dri-Latn-ZZ\",\n \"drs\": \"drs-Ethi-ZZ\",\n \"dsb\": \"dsb-Latn-DE\",\n \"dtm\": \"dtm-Latn-ML\",\n \"dtp\": \"dtp-Latn-MY\",\n \"dts\": \"dts-Latn-ZZ\",\n \"dty\": \"dty-Deva-NP\",\n \"dua\": \"dua-Latn-CM\",\n \"duc\": \"duc-Latn-ZZ\",\n \"dud\": \"dud-Latn-ZZ\",\n \"dug\": \"dug-Latn-ZZ\",\n \"dv\": \"dv-Thaa-MV\",\n \"dva\": \"dva-Latn-ZZ\",\n \"dww\": \"dww-Latn-ZZ\",\n \"dyo\": \"dyo-Latn-SN\",\n \"dyu\": \"dyu-Latn-BF\",\n \"dz\": \"dz-Tibt-BT\",\n \"dzg\": \"dzg-Latn-ZZ\",\n \"ebu\": \"ebu-Latn-KE\",\n \"ee\": \"ee-Latn-GH\",\n \"efi\": \"efi-Latn-NG\",\n \"egl\": \"egl-Latn-IT\",\n \"egy\": \"egy-Egyp-EG\",\n \"eka\": \"eka-Latn-ZZ\",\n \"eky\": \"eky-Kali-MM\",\n \"el\": \"el-Grek-GR\",\n \"ema\": \"ema-Latn-ZZ\",\n \"emi\": \"emi-Latn-ZZ\",\n \"en\": \"en-Latn-US\",\n \"en-Shaw\": \"en-Shaw-GB\",\n \"enn\": \"enn-Latn-ZZ\",\n \"enq\": \"enq-Latn-ZZ\",\n \"eo\": \"eo-Latn-001\",\n \"eri\": \"eri-Latn-ZZ\",\n \"es\": \"es-Latn-ES\",\n \"esg\": \"esg-Gonm-IN\",\n \"esu\": \"esu-Latn-US\",\n \"et\": \"et-Latn-EE\",\n \"etr\": \"etr-Latn-ZZ\",\n \"ett\": \"ett-Ital-IT\",\n \"etu\": \"etu-Latn-ZZ\",\n \"etx\": \"etx-Latn-ZZ\",\n \"eu\": \"eu-Latn-ES\",\n \"ewo\": \"ewo-Latn-CM\",\n \"ext\": \"ext-Latn-ES\",\n \"eza\": \"eza-Latn-ZZ\",\n \"fa\": \"fa-Arab-IR\",\n \"faa\": \"faa-Latn-ZZ\",\n \"fab\": \"fab-Latn-ZZ\",\n \"fag\": \"fag-Latn-ZZ\",\n \"fai\": \"fai-Latn-ZZ\",\n \"fan\": \"fan-Latn-GQ\",\n \"ff\": \"ff-Latn-SN\",\n \"ff-Adlm\": \"ff-Adlm-GN\",\n \"ffi\": \"ffi-Latn-ZZ\",\n \"ffm\": \"ffm-Latn-ML\",\n \"fi\": \"fi-Latn-FI\",\n \"fia\": \"fia-Arab-SD\",\n \"fil\": \"fil-Latn-PH\",\n \"fit\": \"fit-Latn-SE\",\n \"fj\": \"fj-Latn-FJ\",\n \"flr\": \"flr-Latn-ZZ\",\n \"fmp\": \"fmp-Latn-ZZ\",\n \"fo\": \"fo-Latn-FO\",\n \"fod\": \"fod-Latn-ZZ\",\n \"fon\": \"fon-Latn-BJ\",\n \"for\": \"for-Latn-ZZ\",\n \"fpe\": \"fpe-Latn-ZZ\",\n \"fqs\": \"fqs-Latn-ZZ\",\n \"fr\": \"fr-Latn-FR\",\n \"frc\": \"frc-Latn-US\",\n \"frp\": \"frp-Latn-FR\",\n \"frr\": \"frr-Latn-DE\",\n \"frs\": \"frs-Latn-DE\",\n \"fub\": \"fub-Arab-CM\",\n \"fud\": \"fud-Latn-WF\",\n \"fue\": \"fue-Latn-ZZ\",\n \"fuf\": \"fuf-Latn-GN\",\n \"fuh\": \"fuh-Latn-ZZ\",\n \"fuq\": \"fuq-Latn-NE\",\n \"fur\": \"fur-Latn-IT\",\n \"fuv\": \"fuv-Latn-NG\",\n \"fuy\": \"fuy-Latn-ZZ\",\n \"fvr\": \"fvr-Latn-SD\",\n \"fy\": \"fy-Latn-NL\",\n \"ga\": \"ga-Latn-IE\",\n \"gaa\": \"gaa-Latn-GH\",\n \"gaf\": \"gaf-Latn-ZZ\",\n \"gag\": \"gag-Latn-MD\",\n \"gah\": \"gah-Latn-ZZ\",\n \"gaj\": \"gaj-Latn-ZZ\",\n \"gam\": \"gam-Latn-ZZ\",\n \"gan\": \"gan-Hans-CN\",\n \"gaw\": \"gaw-Latn-ZZ\",\n \"gay\": \"gay-Latn-ID\",\n \"gba\": \"gba-Latn-ZZ\",\n \"gbf\": \"gbf-Latn-ZZ\",\n \"gbm\": \"gbm-Deva-IN\",\n \"gby\": \"gby-Latn-ZZ\",\n \"gbz\": \"gbz-Arab-IR\",\n \"gcr\": \"gcr-Latn-GF\",\n \"gd\": \"gd-Latn-GB\",\n \"gde\": \"gde-Latn-ZZ\",\n \"gdn\": \"gdn-Latn-ZZ\",\n \"gdr\": \"gdr-Latn-ZZ\",\n \"geb\": \"geb-Latn-ZZ\",\n \"gej\": \"gej-Latn-ZZ\",\n \"gel\": \"gel-Latn-ZZ\",\n \"gez\": \"gez-Ethi-ET\",\n \"gfk\": \"gfk-Latn-ZZ\",\n \"ggn\": \"ggn-Deva-NP\",\n \"ghs\": \"ghs-Latn-ZZ\",\n \"gil\": \"gil-Latn-KI\",\n \"gim\": \"gim-Latn-ZZ\",\n \"gjk\": \"gjk-Arab-PK\",\n \"gjn\": \"gjn-Latn-ZZ\",\n \"gju\": \"gju-Arab-PK\",\n \"gkn\": \"gkn-Latn-ZZ\",\n \"gkp\": \"gkp-Latn-ZZ\",\n \"gl\": \"gl-Latn-ES\",\n \"glk\": \"glk-Arab-IR\",\n \"gmm\": \"gmm-Latn-ZZ\",\n \"gmv\": \"gmv-Ethi-ZZ\",\n \"gn\": \"gn-Latn-PY\",\n \"gnd\": \"gnd-Latn-ZZ\",\n \"gng\": \"gng-Latn-ZZ\",\n \"god\": \"god-Latn-ZZ\",\n \"gof\": \"gof-Ethi-ZZ\",\n \"goi\": \"goi-Latn-ZZ\",\n \"gom\": \"gom-Deva-IN\",\n \"gon\": \"gon-Telu-IN\",\n \"gor\": \"gor-Latn-ID\",\n \"gos\": \"gos-Latn-NL\",\n \"got\": \"got-Goth-UA\",\n \"grb\": \"grb-Latn-ZZ\",\n \"grc\": \"grc-Cprt-CY\",\n \"grc-Linb\": \"grc-Linb-GR\",\n \"grt\": \"grt-Beng-IN\",\n \"grw\": \"grw-Latn-ZZ\",\n \"gsw\": \"gsw-Latn-CH\",\n \"gu\": \"gu-Gujr-IN\",\n \"gub\": \"gub-Latn-BR\",\n \"guc\": \"guc-Latn-CO\",\n \"gud\": \"gud-Latn-ZZ\",\n \"gur\": \"gur-Latn-GH\",\n \"guw\": \"guw-Latn-ZZ\",\n \"gux\": \"gux-Latn-ZZ\",\n \"guz\": \"guz-Latn-KE\",\n \"gv\": \"gv-Latn-IM\",\n \"gvf\": \"gvf-Latn-ZZ\",\n \"gvr\": \"gvr-Deva-NP\",\n \"gvs\": \"gvs-Latn-ZZ\",\n \"gwc\": \"gwc-Arab-ZZ\",\n \"gwi\": \"gwi-Latn-CA\",\n \"gwt\": \"gwt-Arab-ZZ\",\n \"gyi\": \"gyi-Latn-ZZ\",\n \"ha\": \"ha-Latn-NG\",\n \"ha-CM\": \"ha-Arab-CM\",\n \"ha-SD\": \"ha-Arab-SD\",\n \"hag\": \"hag-Latn-ZZ\",\n \"hak\": \"hak-Hans-CN\",\n \"ham\": \"ham-Latn-ZZ\",\n \"haw\": \"haw-Latn-US\",\n \"haz\": \"haz-Arab-AF\",\n \"hbb\": \"hbb-Latn-ZZ\",\n \"hdy\": \"hdy-Ethi-ZZ\",\n \"he\": \"he-Hebr-IL\",\n \"hhy\": \"hhy-Latn-ZZ\",\n \"hi\": \"hi-Deva-IN\",\n \"hia\": \"hia-Latn-ZZ\",\n \"hif\": \"hif-Latn-FJ\",\n \"hig\": \"hig-Latn-ZZ\",\n \"hih\": \"hih-Latn-ZZ\",\n \"hil\": \"hil-Latn-PH\",\n \"hla\": \"hla-Latn-ZZ\",\n \"hlu\": \"hlu-Hluw-TR\",\n \"hmd\": \"hmd-Plrd-CN\",\n \"hmt\": \"hmt-Latn-ZZ\",\n \"hnd\": \"hnd-Arab-PK\",\n \"hne\": \"hne-Deva-IN\",\n \"hnj\": \"hnj-Hmnp-US\",\n \"hnn\": \"hnn-Latn-PH\",\n \"hno\": \"hno-Arab-PK\",\n \"ho\": \"ho-Latn-PG\",\n \"hoc\": \"hoc-Deva-IN\",\n \"hoj\": \"hoj-Deva-IN\",\n \"hot\": \"hot-Latn-ZZ\",\n \"hr\": \"hr-Latn-HR\",\n \"hsb\": \"hsb-Latn-DE\",\n \"hsn\": \"hsn-Hans-CN\",\n \"ht\": \"ht-Latn-HT\",\n \"hu\": \"hu-Latn-HU\",\n \"hui\": \"hui-Latn-ZZ\",\n \"hy\": \"hy-Armn-AM\",\n \"hz\": \"hz-Latn-NA\",\n \"ia\": \"ia-Latn-001\",\n \"ian\": \"ian-Latn-ZZ\",\n \"iar\": \"iar-Latn-ZZ\",\n \"iba\": \"iba-Latn-MY\",\n \"ibb\": \"ibb-Latn-NG\",\n \"iby\": \"iby-Latn-ZZ\",\n \"ica\": \"ica-Latn-ZZ\",\n \"ich\": \"ich-Latn-ZZ\",\n \"id\": \"id-Latn-ID\",\n \"idd\": \"idd-Latn-ZZ\",\n \"idi\": \"idi-Latn-ZZ\",\n \"idu\": \"idu-Latn-ZZ\",\n \"ife\": \"ife-Latn-TG\",\n \"ig\": \"ig-Latn-NG\",\n \"igb\": \"igb-Latn-ZZ\",\n \"ige\": \"ige-Latn-ZZ\",\n \"ii\": \"ii-Yiii-CN\",\n \"ijj\": \"ijj-Latn-ZZ\",\n \"ik\": \"ik-Latn-US\",\n \"ikk\": \"ikk-Latn-ZZ\",\n \"ikt\": \"ikt-Latn-CA\",\n \"ikw\": \"ikw-Latn-ZZ\",\n \"ikx\": \"ikx-Latn-ZZ\",\n \"ilo\": \"ilo-Latn-PH\",\n \"imo\": \"imo-Latn-ZZ\",\n \"in\": \"in-Latn-ID\",\n \"inh\": \"inh-Cyrl-RU\",\n \"io\": \"io-Latn-001\",\n \"iou\": \"iou-Latn-ZZ\",\n \"iri\": \"iri-Latn-ZZ\",\n \"is\": \"is-Latn-IS\",\n \"it\": \"it-Latn-IT\",\n \"iu\": \"iu-Cans-CA\",\n \"iw\": \"iw-Hebr-IL\",\n \"iwm\": \"iwm-Latn-ZZ\",\n \"iws\": \"iws-Latn-ZZ\",\n \"izh\": \"izh-Latn-RU\",\n \"izi\": \"izi-Latn-ZZ\",\n \"ja\": \"ja-Jpan-JP\",\n \"jab\": \"jab-Latn-ZZ\",\n \"jam\": \"jam-Latn-JM\",\n \"jar\": \"jar-Latn-ZZ\",\n \"jbo\": \"jbo-Latn-001\",\n \"jbu\": \"jbu-Latn-ZZ\",\n \"jen\": \"jen-Latn-ZZ\",\n \"jgk\": \"jgk-Latn-ZZ\",\n \"jgo\": \"jgo-Latn-CM\",\n \"ji\": \"ji-Hebr-UA\",\n \"jib\": \"jib-Latn-ZZ\",\n \"jmc\": \"jmc-Latn-TZ\",\n \"jml\": \"jml-Deva-NP\",\n \"jra\": \"jra-Latn-ZZ\",\n \"jut\": \"jut-Latn-DK\",\n \"jv\": \"jv-Latn-ID\",\n \"jw\": \"jw-Latn-ID\",\n \"ka\": \"ka-Geor-GE\",\n \"kaa\": \"kaa-Cyrl-UZ\",\n \"kab\": \"kab-Latn-DZ\",\n \"kac\": \"kac-Latn-MM\",\n \"kad\": \"kad-Latn-ZZ\",\n \"kai\": \"kai-Latn-ZZ\",\n \"kaj\": \"kaj-Latn-NG\",\n \"kam\": \"kam-Latn-KE\",\n \"kao\": \"kao-Latn-ML\",\n \"kbd\": \"kbd-Cyrl-RU\",\n \"kbm\": \"kbm-Latn-ZZ\",\n \"kbp\": \"kbp-Latn-ZZ\",\n \"kbq\": \"kbq-Latn-ZZ\",\n \"kbx\": \"kbx-Latn-ZZ\",\n \"kby\": \"kby-Arab-NE\",\n \"kcg\": \"kcg-Latn-NG\",\n \"kck\": \"kck-Latn-ZW\",\n \"kcl\": \"kcl-Latn-ZZ\",\n \"kct\": \"kct-Latn-ZZ\",\n \"kde\": \"kde-Latn-TZ\",\n \"kdh\": \"kdh-Latn-TG\",\n \"kdl\": \"kdl-Latn-ZZ\",\n \"kdt\": \"kdt-Thai-TH\",\n \"kea\": \"kea-Latn-CV\",\n \"ken\": \"ken-Latn-CM\",\n \"kez\": \"kez-Latn-ZZ\",\n \"kfo\": \"kfo-Latn-CI\",\n \"kfr\": \"kfr-Deva-IN\",\n \"kfy\": \"kfy-Deva-IN\",\n \"kg\": \"kg-Latn-CD\",\n \"kge\": \"kge-Latn-ID\",\n \"kgf\": \"kgf-Latn-ZZ\",\n \"kgp\": \"kgp-Latn-BR\",\n \"kha\": \"kha-Latn-IN\",\n \"khb\": \"khb-Talu-CN\",\n \"khn\": \"khn-Deva-IN\",\n \"khq\": \"khq-Latn-ML\",\n \"khs\": \"khs-Latn-ZZ\",\n \"kht\": \"kht-Mymr-IN\",\n \"khw\": \"khw-Arab-PK\",\n \"khz\": \"khz-Latn-ZZ\",\n \"ki\": \"ki-Latn-KE\",\n \"kij\": \"kij-Latn-ZZ\",\n \"kiu\": \"kiu-Latn-TR\",\n \"kiw\": \"kiw-Latn-ZZ\",\n \"kj\": \"kj-Latn-NA\",\n \"kjd\": \"kjd-Latn-ZZ\",\n \"kjg\": \"kjg-Laoo-LA\",\n \"kjs\": \"kjs-Latn-ZZ\",\n \"kjy\": \"kjy-Latn-ZZ\",\n \"kk\": \"kk-Cyrl-KZ\",\n \"kk-AF\": \"kk-Arab-AF\",\n \"kk-Arab\": \"kk-Arab-CN\",\n \"kk-CN\": \"kk-Arab-CN\",\n \"kk-IR\": \"kk-Arab-IR\",\n \"kk-MN\": \"kk-Arab-MN\",\n \"kkc\": \"kkc-Latn-ZZ\",\n \"kkj\": \"kkj-Latn-CM\",\n \"kl\": \"kl-Latn-GL\",\n \"kln\": \"kln-Latn-KE\",\n \"klq\": \"klq-Latn-ZZ\",\n \"klt\": \"klt-Latn-ZZ\",\n \"klx\": \"klx-Latn-ZZ\",\n \"km\": \"km-Khmr-KH\",\n \"kmb\": \"kmb-Latn-AO\",\n \"kmh\": \"kmh-Latn-ZZ\",\n \"kmo\": \"kmo-Latn-ZZ\",\n \"kms\": \"kms-Latn-ZZ\",\n \"kmu\": \"kmu-Latn-ZZ\",\n \"kmw\": \"kmw-Latn-ZZ\",\n \"kn\": \"kn-Knda-IN\",\n \"knf\": \"knf-Latn-GW\",\n \"knp\": \"knp-Latn-ZZ\",\n \"ko\": \"ko-Kore-KR\",\n \"koi\": \"koi-Cyrl-RU\",\n \"kok\": \"kok-Deva-IN\",\n \"kol\": \"kol-Latn-ZZ\",\n \"kos\": \"kos-Latn-FM\",\n \"koz\": \"koz-Latn-ZZ\",\n \"kpe\": \"kpe-Latn-LR\",\n \"kpf\": \"kpf-Latn-ZZ\",\n \"kpo\": \"kpo-Latn-ZZ\",\n \"kpr\": \"kpr-Latn-ZZ\",\n \"kpx\": \"kpx-Latn-ZZ\",\n \"kqb\": \"kqb-Latn-ZZ\",\n \"kqf\": \"kqf-Latn-ZZ\",\n \"kqs\": \"kqs-Latn-ZZ\",\n \"kqy\": \"kqy-Ethi-ZZ\",\n \"kr\": \"kr-Latn-ZZ\",\n \"krc\": \"krc-Cyrl-RU\",\n \"kri\": \"kri-Latn-SL\",\n \"krj\": \"krj-Latn-PH\",\n \"krl\": \"krl-Latn-RU\",\n \"krs\": \"krs-Latn-ZZ\",\n \"kru\": \"kru-Deva-IN\",\n \"ks\": \"ks-Arab-IN\",\n \"ksb\": \"ksb-Latn-TZ\",\n \"ksd\": \"ksd-Latn-ZZ\",\n \"ksf\": \"ksf-Latn-CM\",\n \"ksh\": \"ksh-Latn-DE\",\n \"ksj\": \"ksj-Latn-ZZ\",\n \"ksr\": \"ksr-Latn-ZZ\",\n \"ktb\": \"ktb-Ethi-ZZ\",\n \"ktm\": \"ktm-Latn-ZZ\",\n \"kto\": \"kto-Latn-ZZ\",\n \"ktr\": \"ktr-Latn-MY\",\n \"ku\": \"ku-Latn-TR\",\n \"ku-Arab\": \"ku-Arab-IQ\",\n \"ku-LB\": \"ku-Arab-LB\",\n \"ku-Yezi\": \"ku-Yezi-GE\",\n \"kub\": \"kub-Latn-ZZ\",\n \"kud\": \"kud-Latn-ZZ\",\n \"kue\": \"kue-Latn-ZZ\",\n \"kuj\": \"kuj-Latn-ZZ\",\n \"kum\": \"kum-Cyrl-RU\",\n \"kun\": \"kun-Latn-ZZ\",\n \"kup\": \"kup-Latn-ZZ\",\n \"kus\": \"kus-Latn-ZZ\",\n \"kv\": \"kv-Cyrl-RU\",\n \"kvg\": \"kvg-Latn-ZZ\",\n \"kvr\": \"kvr-Latn-ID\",\n \"kvx\": \"kvx-Arab-PK\",\n \"kw\": \"kw-Latn-GB\",\n \"kwj\": \"kwj-Latn-ZZ\",\n \"kwo\": \"kwo-Latn-ZZ\",\n \"kwq\": \"kwq-Latn-ZZ\",\n \"kxa\": \"kxa-Latn-ZZ\",\n \"kxc\": \"kxc-Ethi-ZZ\",\n \"kxe\": \"kxe-Latn-ZZ\",\n \"kxl\": \"kxl-Deva-IN\",\n \"kxm\": \"kxm-Thai-TH\",\n \"kxp\": \"kxp-Arab-PK\",\n \"kxw\": \"kxw-Latn-ZZ\",\n \"kxz\": \"kxz-Latn-ZZ\",\n \"ky\": \"ky-Cyrl-KG\",\n \"ky-Arab\": \"ky-Arab-CN\",\n \"ky-CN\": \"ky-Arab-CN\",\n \"ky-Latn\": \"ky-Latn-TR\",\n \"ky-TR\": \"ky-Latn-TR\",\n \"kye\": \"kye-Latn-ZZ\",\n \"kyx\": \"kyx-Latn-ZZ\",\n \"kzh\": \"kzh-Arab-ZZ\",\n \"kzj\": \"kzj-Latn-MY\",\n \"kzr\": \"kzr-Latn-ZZ\",\n \"kzt\": \"kzt-Latn-MY\",\n \"la\": \"la-Latn-VA\",\n \"lab\": \"lab-Lina-GR\",\n \"lad\": \"lad-Hebr-IL\",\n \"lag\": \"lag-Latn-TZ\",\n \"lah\": \"lah-Arab-PK\",\n \"laj\": \"laj-Latn-UG\",\n \"las\": \"las-Latn-ZZ\",\n \"lb\": \"lb-Latn-LU\",\n \"lbe\": \"lbe-Cyrl-RU\",\n \"lbu\": \"lbu-Latn-ZZ\",\n \"lbw\": \"lbw-Latn-ID\",\n \"lcm\": \"lcm-Latn-ZZ\",\n \"lcp\": \"lcp-Thai-CN\",\n \"ldb\": \"ldb-Latn-ZZ\",\n \"led\": \"led-Latn-ZZ\",\n \"lee\": \"lee-Latn-ZZ\",\n \"lem\": \"lem-Latn-ZZ\",\n \"lep\": \"lep-Lepc-IN\",\n \"leq\": \"leq-Latn-ZZ\",\n \"leu\": \"leu-Latn-ZZ\",\n \"lez\": \"lez-Cyrl-RU\",\n \"lg\": \"lg-Latn-UG\",\n \"lgg\": \"lgg-Latn-ZZ\",\n \"li\": \"li-Latn-NL\",\n \"lia\": \"lia-Latn-ZZ\",\n \"lid\": \"lid-Latn-ZZ\",\n \"lif\": \"lif-Deva-NP\",\n \"lif-Limb\": \"lif-Limb-IN\",\n \"lig\": \"lig-Latn-ZZ\",\n \"lih\": \"lih-Latn-ZZ\",\n \"lij\": \"lij-Latn-IT\",\n \"lis\": \"lis-Lisu-CN\",\n \"ljp\": \"ljp-Latn-ID\",\n \"lki\": \"lki-Arab-IR\",\n \"lkt\": \"lkt-Latn-US\",\n \"lle\": \"lle-Latn-ZZ\",\n \"lln\": \"lln-Latn-ZZ\",\n \"lmn\": \"lmn-Telu-IN\",\n \"lmo\": \"lmo-Latn-IT\",\n \"lmp\": \"lmp-Latn-ZZ\",\n \"ln\": \"ln-Latn-CD\",\n \"lns\": \"lns-Latn-ZZ\",\n \"lnu\": \"lnu-Latn-ZZ\",\n \"lo\": \"lo-Laoo-LA\",\n \"loj\": \"loj-Latn-ZZ\",\n \"lok\": \"lok-Latn-ZZ\",\n \"lol\": \"lol-Latn-CD\",\n \"lor\": \"lor-Latn-ZZ\",\n \"los\": \"los-Latn-ZZ\",\n \"loz\": \"loz-Latn-ZM\",\n \"lrc\": \"lrc-Arab-IR\",\n \"lt\": \"lt-Latn-LT\",\n \"ltg\": \"ltg-Latn-LV\",\n \"lu\": \"lu-Latn-CD\",\n \"lua\": \"lua-Latn-CD\",\n \"luo\": \"luo-Latn-KE\",\n \"luy\": \"luy-Latn-KE\",\n \"luz\": \"luz-Arab-IR\",\n \"lv\": \"lv-Latn-LV\",\n \"lwl\": \"lwl-Thai-TH\",\n \"lzh\": \"lzh-Hans-CN\",\n \"lzz\": \"lzz-Latn-TR\",\n \"mad\": \"mad-Latn-ID\",\n \"maf\": \"maf-Latn-CM\",\n \"mag\": \"mag-Deva-IN\",\n \"mai\": \"mai-Deva-IN\",\n \"mak\": \"mak-Latn-ID\",\n \"man\": \"man-Latn-GM\",\n \"man-GN\": \"man-Nkoo-GN\",\n \"man-Nkoo\": \"man-Nkoo-GN\",\n \"mas\": \"mas-Latn-KE\",\n \"maw\": \"maw-Latn-ZZ\",\n \"maz\": \"maz-Latn-MX\",\n \"mbh\": \"mbh-Latn-ZZ\",\n \"mbo\": \"mbo-Latn-ZZ\",\n \"mbq\": \"mbq-Latn-ZZ\",\n \"mbu\": \"mbu-Latn-ZZ\",\n \"mbw\": \"mbw-Latn-ZZ\",\n \"mci\": \"mci-Latn-ZZ\",\n \"mcp\": \"mcp-Latn-ZZ\",\n \"mcq\": \"mcq-Latn-ZZ\",\n \"mcr\": \"mcr-Latn-ZZ\",\n \"mcu\": \"mcu-Latn-ZZ\",\n \"mda\": \"mda-Latn-ZZ\",\n \"mde\": \"mde-Arab-ZZ\",\n \"mdf\": \"mdf-Cyrl-RU\",\n \"mdh\": \"mdh-Latn-PH\",\n \"mdj\": \"mdj-Latn-ZZ\",\n \"mdr\": \"mdr-Latn-ID\",\n \"mdx\": \"mdx-Ethi-ZZ\",\n \"med\": \"med-Latn-ZZ\",\n \"mee\": \"mee-Latn-ZZ\",\n \"mek\": \"mek-Latn-ZZ\",\n \"men\": \"men-Latn-SL\",\n \"mer\": \"mer-Latn-KE\",\n \"met\": \"met-Latn-ZZ\",\n \"meu\": \"meu-Latn-ZZ\",\n \"mfa\": \"mfa-Arab-TH\",\n \"mfe\": \"mfe-Latn-MU\",\n \"mfn\": \"mfn-Latn-ZZ\",\n \"mfo\": \"mfo-Latn-ZZ\",\n \"mfq\": \"mfq-Latn-ZZ\",\n \"mg\": \"mg-Latn-MG\",\n \"mgh\": \"mgh-Latn-MZ\",\n \"mgl\": \"mgl-Latn-ZZ\",\n \"mgo\": \"mgo-Latn-CM\",\n \"mgp\": \"mgp-Deva-NP\",\n \"mgy\": \"mgy-Latn-TZ\",\n \"mh\": \"mh-Latn-MH\",\n \"mhi\": \"mhi-Latn-ZZ\",\n \"mhl\": \"mhl-Latn-ZZ\",\n \"mi\": \"mi-Latn-NZ\",\n \"mif\": \"mif-Latn-ZZ\",\n \"min\": \"min-Latn-ID\",\n \"miw\": \"miw-Latn-ZZ\",\n \"mk\": \"mk-Cyrl-MK\",\n \"mki\": \"mki-Arab-ZZ\",\n \"mkl\": \"mkl-Latn-ZZ\",\n \"mkp\": \"mkp-Latn-ZZ\",\n \"mkw\": \"mkw-Latn-ZZ\",\n \"ml\": \"ml-Mlym-IN\",\n \"mle\": \"mle-Latn-ZZ\",\n \"mlp\": \"mlp-Latn-ZZ\",\n \"mls\": \"mls-Latn-SD\",\n \"mmo\": \"mmo-Latn-ZZ\",\n \"mmu\": \"mmu-Latn-ZZ\",\n \"mmx\": \"mmx-Latn-ZZ\",\n \"mn\": \"mn-Cyrl-MN\",\n \"mn-CN\": \"mn-Mong-CN\",\n \"mn-Mong\": \"mn-Mong-CN\",\n \"mna\": \"mna-Latn-ZZ\",\n \"mnf\": \"mnf-Latn-ZZ\",\n \"mni\": \"mni-Beng-IN\",\n \"mnw\": \"mnw-Mymr-MM\",\n \"mo\": \"mo-Latn-RO\",\n \"moa\": \"moa-Latn-ZZ\",\n \"moe\": \"moe-Latn-CA\",\n \"moh\": \"moh-Latn-CA\",\n \"mos\": \"mos-Latn-BF\",\n \"mox\": \"mox-Latn-ZZ\",\n \"mpp\": \"mpp-Latn-ZZ\",\n \"mps\": \"mps-Latn-ZZ\",\n \"mpt\": \"mpt-Latn-ZZ\",\n \"mpx\": \"mpx-Latn-ZZ\",\n \"mql\": \"mql-Latn-ZZ\",\n \"mr\": \"mr-Deva-IN\",\n \"mrd\": \"mrd-Deva-NP\",\n \"mrj\": \"mrj-Cyrl-RU\",\n \"mro\": \"mro-Mroo-BD\",\n \"ms\": \"ms-Latn-MY\",\n \"ms-CC\": \"ms-Arab-CC\",\n \"mt\": \"mt-Latn-MT\",\n \"mtc\": \"mtc-Latn-ZZ\",\n \"mtf\": \"mtf-Latn-ZZ\",\n \"mti\": \"mti-Latn-ZZ\",\n \"mtr\": \"mtr-Deva-IN\",\n \"mua\": \"mua-Latn-CM\",\n \"mur\": \"mur-Latn-ZZ\",\n \"mus\": \"mus-Latn-US\",\n \"mva\": \"mva-Latn-ZZ\",\n \"mvn\": \"mvn-Latn-ZZ\",\n \"mvy\": \"mvy-Arab-PK\",\n \"mwk\": \"mwk-Latn-ML\",\n \"mwr\": \"mwr-Deva-IN\",\n \"mwv\": \"mwv-Latn-ID\",\n \"mww\": \"mww-Hmnp-US\",\n \"mxc\": \"mxc-Latn-ZW\",\n \"mxm\": \"mxm-Latn-ZZ\",\n \"my\": \"my-Mymr-MM\",\n \"myk\": \"myk-Latn-ZZ\",\n \"mym\": \"mym-Ethi-ZZ\",\n \"myv\": \"myv-Cyrl-RU\",\n \"myw\": \"myw-Latn-ZZ\",\n \"myx\": \"myx-Latn-UG\",\n \"myz\": \"myz-Mand-IR\",\n \"mzk\": \"mzk-Latn-ZZ\",\n \"mzm\": \"mzm-Latn-ZZ\",\n \"mzn\": \"mzn-Arab-IR\",\n \"mzp\": \"mzp-Latn-ZZ\",\n \"mzw\": \"mzw-Latn-ZZ\",\n \"mzz\": \"mzz-Latn-ZZ\",\n \"na\": \"na-Latn-NR\",\n \"nac\": \"nac-Latn-ZZ\",\n \"naf\": \"naf-Latn-ZZ\",\n \"nak\": \"nak-Latn-ZZ\",\n \"nan\": \"nan-Hans-CN\",\n \"nap\": \"nap-Latn-IT\",\n \"naq\": \"naq-Latn-NA\",\n \"nas\": \"nas-Latn-ZZ\",\n \"nb\": \"nb-Latn-NO\",\n \"nca\": \"nca-Latn-ZZ\",\n \"nce\": \"nce-Latn-ZZ\",\n \"ncf\": \"ncf-Latn-ZZ\",\n \"nch\": \"nch-Latn-MX\",\n \"nco\": \"nco-Latn-ZZ\",\n \"ncu\": \"ncu-Latn-ZZ\",\n \"nd\": \"nd-Latn-ZW\",\n \"ndc\": \"ndc-Latn-MZ\",\n \"nds\": \"nds-Latn-DE\",\n \"ne\": \"ne-Deva-NP\",\n \"neb\": \"neb-Latn-ZZ\",\n \"new\": \"new-Deva-NP\",\n \"nex\": \"nex-Latn-ZZ\",\n \"nfr\": \"nfr-Latn-ZZ\",\n \"ng\": \"ng-Latn-NA\",\n \"nga\": \"nga-Latn-ZZ\",\n \"ngb\": \"ngb-Latn-ZZ\",\n \"ngl\": \"ngl-Latn-MZ\",\n \"nhb\": \"nhb-Latn-ZZ\",\n \"nhe\": \"nhe-Latn-MX\",\n \"nhw\": \"nhw-Latn-MX\",\n \"nif\": \"nif-Latn-ZZ\",\n \"nii\": \"nii-Latn-ZZ\",\n \"nij\": \"nij-Latn-ID\",\n \"nin\": \"nin-Latn-ZZ\",\n \"niu\": \"niu-Latn-NU\",\n \"niy\": \"niy-Latn-ZZ\",\n \"niz\": \"niz-Latn-ZZ\",\n \"njo\": \"njo-Latn-IN\",\n \"nkg\": \"nkg-Latn-ZZ\",\n \"nko\": \"nko-Latn-ZZ\",\n \"nl\": \"nl-Latn-NL\",\n \"nmg\": \"nmg-Latn-CM\",\n \"nmz\": \"nmz-Latn-ZZ\",\n \"nn\": \"nn-Latn-NO\",\n \"nnf\": \"nnf-Latn-ZZ\",\n \"nnh\": \"nnh-Latn-CM\",\n \"nnk\": \"nnk-Latn-ZZ\",\n \"nnm\": \"nnm-Latn-ZZ\",\n \"nnp\": \"nnp-Wcho-IN\",\n \"no\": \"no-Latn-NO\",\n \"nod\": \"nod-Lana-TH\",\n \"noe\": \"noe-Deva-IN\",\n \"non\": \"non-Runr-SE\",\n \"nop\": \"nop-Latn-ZZ\",\n \"nou\": \"nou-Latn-ZZ\",\n \"nqo\": \"nqo-Nkoo-GN\",\n \"nr\": \"nr-Latn-ZA\",\n \"nrb\": \"nrb-Latn-ZZ\",\n \"nsk\": \"nsk-Cans-CA\",\n \"nsn\": \"nsn-Latn-ZZ\",\n \"nso\": \"nso-Latn-ZA\",\n \"nss\": \"nss-Latn-ZZ\",\n \"nst\": \"nst-Tnsa-IN\",\n \"ntm\": \"ntm-Latn-ZZ\",\n \"ntr\": \"ntr-Latn-ZZ\",\n \"nui\": \"nui-Latn-ZZ\",\n \"nup\": \"nup-Latn-ZZ\",\n \"nus\": \"nus-Latn-SS\",\n \"nuv\": \"nuv-Latn-ZZ\",\n \"nux\": \"nux-Latn-ZZ\",\n \"nv\": \"nv-Latn-US\",\n \"nwb\": \"nwb-Latn-ZZ\",\n \"nxq\": \"nxq-Latn-CN\",\n \"nxr\": \"nxr-Latn-ZZ\",\n \"ny\": \"ny-Latn-MW\",\n \"nym\": \"nym-Latn-TZ\",\n \"nyn\": \"nyn-Latn-UG\",\n \"nzi\": \"nzi-Latn-GH\",\n \"oc\": \"oc-Latn-FR\",\n \"ogc\": \"ogc-Latn-ZZ\",\n \"okr\": \"okr-Latn-ZZ\",\n \"okv\": \"okv-Latn-ZZ\",\n \"om\": \"om-Latn-ET\",\n \"ong\": \"ong-Latn-ZZ\",\n \"onn\": \"onn-Latn-ZZ\",\n \"ons\": \"ons-Latn-ZZ\",\n \"opm\": \"opm-Latn-ZZ\",\n \"or\": \"or-Orya-IN\",\n \"oro\": \"oro-Latn-ZZ\",\n \"oru\": \"oru-Arab-ZZ\",\n \"os\": \"os-Cyrl-GE\",\n \"osa\": \"osa-Osge-US\",\n \"ota\": \"ota-Arab-ZZ\",\n \"otk\": \"otk-Orkh-MN\",\n \"oui\": \"oui-Ougr-143\",\n \"ozm\": \"ozm-Latn-ZZ\",\n \"pa\": \"pa-Guru-IN\",\n \"pa-Arab\": \"pa-Arab-PK\",\n \"pa-PK\": \"pa-Arab-PK\",\n \"pag\": \"pag-Latn-PH\",\n \"pal\": \"pal-Phli-IR\",\n \"pal-Phlp\": \"pal-Phlp-CN\",\n \"pam\": \"pam-Latn-PH\",\n \"pap\": \"pap-Latn-AW\",\n \"pau\": \"pau-Latn-PW\",\n \"pbi\": \"pbi-Latn-ZZ\",\n \"pcd\": \"pcd-Latn-FR\",\n \"pcm\": \"pcm-Latn-NG\",\n \"pdc\": \"pdc-Latn-US\",\n \"pdt\": \"pdt-Latn-CA\",\n \"ped\": \"ped-Latn-ZZ\",\n \"peo\": \"peo-Xpeo-IR\",\n \"pex\": \"pex-Latn-ZZ\",\n \"pfl\": \"pfl-Latn-DE\",\n \"phl\": \"phl-Arab-ZZ\",\n \"phn\": \"phn-Phnx-LB\",\n \"pil\": \"pil-Latn-ZZ\",\n \"pip\": \"pip-Latn-ZZ\",\n \"pka\": \"pka-Brah-IN\",\n \"pko\": \"pko-Latn-KE\",\n \"pl\": \"pl-Latn-PL\",\n \"pla\": \"pla-Latn-ZZ\",\n \"pms\": \"pms-Latn-IT\",\n \"png\": \"png-Latn-ZZ\",\n \"pnn\": \"pnn-Latn-ZZ\",\n \"pnt\": \"pnt-Grek-GR\",\n \"pon\": \"pon-Latn-FM\",\n \"ppa\": \"ppa-Deva-IN\",\n \"ppo\": \"ppo-Latn-ZZ\",\n \"pra\": \"pra-Khar-PK\",\n \"prd\": \"prd-Arab-IR\",\n \"prg\": \"prg-Latn-001\",\n \"ps\": \"ps-Arab-AF\",\n \"pss\": \"pss-Latn-ZZ\",\n \"pt\": \"pt-Latn-BR\",\n \"ptp\": \"ptp-Latn-ZZ\",\n \"puu\": \"puu-Latn-GA\",\n \"pwa\": \"pwa-Latn-ZZ\",\n \"qu\": \"qu-Latn-PE\",\n \"quc\": \"quc-Latn-GT\",\n \"qug\": \"qug-Latn-EC\",\n \"rai\": \"rai-Latn-ZZ\",\n \"raj\": \"raj-Deva-IN\",\n \"rao\": \"rao-Latn-ZZ\",\n \"rcf\": \"rcf-Latn-RE\",\n \"rej\": \"rej-Latn-ID\",\n \"rel\": \"rel-Latn-ZZ\",\n \"res\": \"res-Latn-ZZ\",\n \"rgn\": \"rgn-Latn-IT\",\n \"rhg\": \"rhg-Rohg-MM\",\n \"ria\": \"ria-Latn-IN\",\n \"rif\": \"rif-Tfng-MA\",\n \"rif-NL\": \"rif-Latn-NL\",\n \"rjs\": \"rjs-Deva-NP\",\n \"rkt\": \"rkt-Beng-BD\",\n \"rm\": \"rm-Latn-CH\",\n \"rmf\": \"rmf-Latn-FI\",\n \"rmo\": \"rmo-Latn-CH\",\n \"rmt\": \"rmt-Arab-IR\",\n \"rmu\": \"rmu-Latn-SE\",\n \"rn\": \"rn-Latn-BI\",\n \"rna\": \"rna-Latn-ZZ\",\n \"rng\": \"rng-Latn-MZ\",\n \"ro\": \"ro-Latn-RO\",\n \"rob\": \"rob-Latn-ID\",\n \"rof\": \"rof-Latn-TZ\",\n \"roo\": \"roo-Latn-ZZ\",\n \"rro\": \"rro-Latn-ZZ\",\n \"rtm\": \"rtm-Latn-FJ\",\n \"ru\": \"ru-Cyrl-RU\",\n \"rue\": \"rue-Cyrl-UA\",\n \"rug\": \"rug-Latn-SB\",\n \"rw\": \"rw-Latn-RW\",\n \"rwk\": \"rwk-Latn-TZ\",\n \"rwo\": \"rwo-Latn-ZZ\",\n \"ryu\": \"ryu-Kana-JP\",\n \"sa\": \"sa-Deva-IN\",\n \"saf\": \"saf-Latn-GH\",\n \"sah\": \"sah-Cyrl-RU\",\n \"saq\": \"saq-Latn-KE\",\n \"sas\": \"sas-Latn-ID\",\n \"sat\": \"sat-Olck-IN\",\n \"sav\": \"sav-Latn-SN\",\n \"saz\": \"saz-Saur-IN\",\n \"sba\": \"sba-Latn-ZZ\",\n \"sbe\": \"sbe-Latn-ZZ\",\n \"sbp\": \"sbp-Latn-TZ\",\n \"sc\": \"sc-Latn-IT\",\n \"sck\": \"sck-Deva-IN\",\n \"scl\": \"scl-Arab-ZZ\",\n \"scn\": \"scn-Latn-IT\",\n \"sco\": \"sco-Latn-GB\",\n \"scs\": \"scs-Latn-CA\",\n \"sd\": \"sd-Arab-PK\",\n \"sd-Deva\": \"sd-Deva-IN\",\n \"sd-Khoj\": \"sd-Khoj-IN\",\n \"sd-Sind\": \"sd-Sind-IN\",\n \"sdc\": \"sdc-Latn-IT\",\n \"sdh\": \"sdh-Arab-IR\",\n \"se\": \"se-Latn-NO\",\n \"sef\": \"sef-Latn-CI\",\n \"seh\": \"seh-Latn-MZ\",\n \"sei\": \"sei-Latn-MX\",\n \"ses\": \"ses-Latn-ML\",\n \"sg\": \"sg-Latn-CF\",\n \"sga\": \"sga-Ogam-IE\",\n \"sgs\": \"sgs-Latn-LT\",\n \"sgw\": \"sgw-Ethi-ZZ\",\n \"sgz\": \"sgz-Latn-ZZ\",\n \"shi\": \"shi-Tfng-MA\",\n \"shk\": \"shk-Latn-ZZ\",\n \"shn\": \"shn-Mymr-MM\",\n \"shu\": \"shu-Arab-ZZ\",\n \"si\": \"si-Sinh-LK\",\n \"sid\": \"sid-Latn-ET\",\n \"sig\": \"sig-Latn-ZZ\",\n \"sil\": \"sil-Latn-ZZ\",\n \"sim\": \"sim-Latn-ZZ\",\n \"sjr\": \"sjr-Latn-ZZ\",\n \"sk\": \"sk-Latn-SK\",\n \"skc\": \"skc-Latn-ZZ\",\n \"skr\": \"skr-Arab-PK\",\n \"sks\": \"sks-Latn-ZZ\",\n \"sl\": \"sl-Latn-SI\",\n \"sld\": \"sld-Latn-ZZ\",\n \"sli\": \"sli-Latn-PL\",\n \"sll\": \"sll-Latn-ZZ\",\n \"sly\": \"sly-Latn-ID\",\n \"sm\": \"sm-Latn-WS\",\n \"sma\": \"sma-Latn-SE\",\n \"smj\": \"smj-Latn-SE\",\n \"smn\": \"smn-Latn-FI\",\n \"smp\": \"smp-Samr-IL\",\n \"smq\": \"smq-Latn-ZZ\",\n \"sms\": \"sms-Latn-FI\",\n \"sn\": \"sn-Latn-ZW\",\n \"snc\": \"snc-Latn-ZZ\",\n \"snk\": \"snk-Latn-ML\",\n \"snp\": \"snp-Latn-ZZ\",\n \"snx\": \"snx-Latn-ZZ\",\n \"sny\": \"sny-Latn-ZZ\",\n \"so\": \"so-Latn-SO\",\n \"sog\": \"sog-Sogd-UZ\",\n \"sok\": \"sok-Latn-ZZ\",\n \"soq\": \"soq-Latn-ZZ\",\n \"sou\": \"sou-Thai-TH\",\n \"soy\": \"soy-Latn-ZZ\",\n \"spd\": \"spd-Latn-ZZ\",\n \"spl\": \"spl-Latn-ZZ\",\n \"sps\": \"sps-Latn-ZZ\",\n \"sq\": \"sq-Latn-AL\",\n \"sr\": \"sr-Cyrl-RS\",\n \"sr-ME\": \"sr-Latn-ME\",\n \"sr-RO\": \"sr-Latn-RO\",\n \"sr-RU\": \"sr-Latn-RU\",\n \"sr-TR\": \"sr-Latn-TR\",\n \"srb\": \"srb-Sora-IN\",\n \"srn\": \"srn-Latn-SR\",\n \"srr\": \"srr-Latn-SN\",\n \"srx\": \"srx-Deva-IN\",\n \"ss\": \"ss-Latn-ZA\",\n \"ssd\": \"ssd-Latn-ZZ\",\n \"ssg\": \"ssg-Latn-ZZ\",\n \"ssy\": \"ssy-Latn-ER\",\n \"st\": \"st-Latn-ZA\",\n \"stk\": \"stk-Latn-ZZ\",\n \"stq\": \"stq-Latn-DE\",\n \"su\": \"su-Latn-ID\",\n \"sua\": \"sua-Latn-ZZ\",\n \"sue\": \"sue-Latn-ZZ\",\n \"suk\": \"suk-Latn-TZ\",\n \"sur\": \"sur-Latn-ZZ\",\n \"sus\": \"sus-Latn-GN\",\n \"sv\": \"sv-Latn-SE\",\n \"sw\": \"sw-Latn-TZ\",\n \"swb\": \"swb-Arab-YT\",\n \"swc\": \"swc-Latn-CD\",\n \"swg\": \"swg-Latn-DE\",\n \"swp\": \"swp-Latn-ZZ\",\n \"swv\": \"swv-Deva-IN\",\n \"sxn\": \"sxn-Latn-ID\",\n \"sxw\": \"sxw-Latn-ZZ\",\n \"syl\": \"syl-Beng-BD\",\n \"syr\": \"syr-Syrc-IQ\",\n \"szl\": \"szl-Latn-PL\",\n \"ta\": \"ta-Taml-IN\",\n \"taj\": \"taj-Deva-NP\",\n \"tal\": \"tal-Latn-ZZ\",\n \"tan\": \"tan-Latn-ZZ\",\n \"taq\": \"taq-Latn-ZZ\",\n \"tbc\": \"tbc-Latn-ZZ\",\n \"tbd\": \"tbd-Latn-ZZ\",\n \"tbf\": \"tbf-Latn-ZZ\",\n \"tbg\": \"tbg-Latn-ZZ\",\n \"tbo\": \"tbo-Latn-ZZ\",\n \"tbw\": \"tbw-Latn-PH\",\n \"tbz\": \"tbz-Latn-ZZ\",\n \"tci\": \"tci-Latn-ZZ\",\n \"tcy\": \"tcy-Knda-IN\",\n \"tdd\": \"tdd-Tale-CN\",\n \"tdg\": \"tdg-Deva-NP\",\n \"tdh\": \"tdh-Deva-NP\",\n \"tdu\": \"tdu-Latn-MY\",\n \"te\": \"te-Telu-IN\",\n \"ted\": \"ted-Latn-ZZ\",\n \"tem\": \"tem-Latn-SL\",\n \"teo\": \"teo-Latn-UG\",\n \"tet\": \"tet-Latn-TL\",\n \"tfi\": \"tfi-Latn-ZZ\",\n \"tg\": \"tg-Cyrl-TJ\",\n \"tg-Arab\": \"tg-Arab-PK\",\n \"tg-PK\": \"tg-Arab-PK\",\n \"tgc\": \"tgc-Latn-ZZ\",\n \"tgo\": \"tgo-Latn-ZZ\",\n \"tgu\": \"tgu-Latn-ZZ\",\n \"th\": \"th-Thai-TH\",\n \"thl\": \"thl-Deva-NP\",\n \"thq\": \"thq-Deva-NP\",\n \"thr\": \"thr-Deva-NP\",\n \"ti\": \"ti-Ethi-ET\",\n \"tif\": \"tif-Latn-ZZ\",\n \"tig\": \"tig-Ethi-ER\",\n \"tik\": \"tik-Latn-ZZ\",\n \"tim\": \"tim-Latn-ZZ\",\n \"tio\": \"tio-Latn-ZZ\",\n \"tiv\": \"tiv-Latn-NG\",\n \"tk\": \"tk-Latn-TM\",\n \"tkl\": \"tkl-Latn-TK\",\n \"tkr\": \"tkr-Latn-AZ\",\n \"tkt\": \"tkt-Deva-NP\",\n \"tl\": \"tl-Latn-PH\",\n \"tlf\": \"tlf-Latn-ZZ\",\n \"tlx\": \"tlx-Latn-ZZ\",\n \"tly\": \"tly-Latn-AZ\",\n \"tmh\": \"tmh-Latn-NE\",\n \"tmy\": \"tmy-Latn-ZZ\",\n \"tn\": \"tn-Latn-ZA\",\n \"tnh\": \"tnh-Latn-ZZ\",\n \"to\": \"to-Latn-TO\",\n \"tof\": \"tof-Latn-ZZ\",\n \"tog\": \"tog-Latn-MW\",\n \"toq\": \"toq-Latn-ZZ\",\n \"tpi\": \"tpi-Latn-PG\",\n \"tpm\": \"tpm-Latn-ZZ\",\n \"tpz\": \"tpz-Latn-ZZ\",\n \"tqo\": \"tqo-Latn-ZZ\",\n \"tr\": \"tr-Latn-TR\",\n \"tru\": \"tru-Latn-TR\",\n \"trv\": \"trv-Latn-TW\",\n \"trw\": \"trw-Arab-PK\",\n \"ts\": \"ts-Latn-ZA\",\n \"tsd\": \"tsd-Grek-GR\",\n \"tsf\": \"tsf-Deva-NP\",\n \"tsg\": \"tsg-Latn-PH\",\n \"tsj\": \"tsj-Tibt-BT\",\n \"tsw\": \"tsw-Latn-ZZ\",\n \"tt\": \"tt-Cyrl-RU\",\n \"ttd\": \"ttd-Latn-ZZ\",\n \"tte\": \"tte-Latn-ZZ\",\n \"ttj\": \"ttj-Latn-UG\",\n \"ttr\": \"ttr-Latn-ZZ\",\n \"tts\": \"tts-Thai-TH\",\n \"ttt\": \"ttt-Latn-AZ\",\n \"tuh\": \"tuh-Latn-ZZ\",\n \"tul\": \"tul-Latn-ZZ\",\n \"tum\": \"tum-Latn-MW\",\n \"tuq\": \"tuq-Latn-ZZ\",\n \"tvd\": \"tvd-Latn-ZZ\",\n \"tvl\": \"tvl-Latn-TV\",\n \"tvu\": \"tvu-Latn-ZZ\",\n \"twh\": \"twh-Latn-ZZ\",\n \"twq\": \"twq-Latn-NE\",\n \"txg\": \"txg-Tang-CN\",\n \"txo\": \"txo-Toto-IN\",\n \"ty\": \"ty-Latn-PF\",\n \"tya\": \"tya-Latn-ZZ\",\n \"tyv\": \"tyv-Cyrl-RU\",\n \"tzm\": \"tzm-Latn-MA\",\n \"ubu\": \"ubu-Latn-ZZ\",\n \"udi\": \"udi-Aghb-RU\",\n \"udm\": \"udm-Cyrl-RU\",\n \"ug\": \"ug-Arab-CN\",\n \"ug-Cyrl\": \"ug-Cyrl-KZ\",\n \"ug-KZ\": \"ug-Cyrl-KZ\",\n \"ug-MN\": \"ug-Cyrl-MN\",\n \"uga\": \"uga-Ugar-SY\",\n \"uk\": \"uk-Cyrl-UA\",\n \"uli\": \"uli-Latn-FM\",\n \"umb\": \"umb-Latn-AO\",\n \"und\": \"en-Latn-US\",\n \"und-002\": \"en-Latn-NG\",\n \"und-003\": \"en-Latn-US\",\n \"und-005\": \"pt-Latn-BR\",\n \"und-009\": \"en-Latn-AU\",\n \"und-011\": \"en-Latn-NG\",\n \"und-013\": \"es-Latn-MX\",\n \"und-014\": \"sw-Latn-TZ\",\n \"und-015\": \"ar-Arab-EG\",\n \"und-017\": \"sw-Latn-CD\",\n \"und-018\": \"en-Latn-ZA\",\n \"und-019\": \"en-Latn-US\",\n \"und-021\": \"en-Latn-US\",\n \"und-029\": \"es-Latn-CU\",\n \"und-030\": \"zh-Hans-CN\",\n \"und-034\": \"hi-Deva-IN\",\n \"und-035\": \"id-Latn-ID\",\n \"und-039\": \"it-Latn-IT\",\n \"und-053\": \"en-Latn-AU\",\n \"und-054\": \"en-Latn-PG\",\n \"und-057\": \"en-Latn-GU\",\n \"und-061\": \"sm-Latn-WS\",\n \"und-142\": \"zh-Hans-CN\",\n \"und-143\": \"uz-Latn-UZ\",\n \"und-145\": \"ar-Arab-SA\",\n \"und-150\": \"ru-Cyrl-RU\",\n \"und-151\": \"ru-Cyrl-RU\",\n \"und-154\": \"en-Latn-GB\",\n \"und-155\": \"de-Latn-DE\",\n \"und-202\": \"en-Latn-NG\",\n \"und-419\": \"es-Latn-419\",\n \"und-AD\": \"ca-Latn-AD\",\n \"und-Adlm\": \"ff-Adlm-GN\",\n \"und-AE\": \"ar-Arab-AE\",\n \"und-AF\": \"fa-Arab-AF\",\n \"und-Aghb\": \"udi-Aghb-RU\",\n \"und-Ahom\": \"aho-Ahom-IN\",\n \"und-AL\": \"sq-Latn-AL\",\n \"und-AM\": \"hy-Armn-AM\",\n \"und-AO\": \"pt-Latn-AO\",\n \"und-AQ\": \"und-Latn-AQ\",\n \"und-AR\": \"es-Latn-AR\",\n \"und-Arab\": \"ar-Arab-EG\",\n \"und-Arab-CC\": \"ms-Arab-CC\",\n \"und-Arab-CN\": \"ug-Arab-CN\",\n \"und-Arab-GB\": \"ks-Arab-GB\",\n \"und-Arab-ID\": \"ms-Arab-ID\",\n \"und-Arab-IN\": \"ur-Arab-IN\",\n \"und-Arab-KH\": \"cja-Arab-KH\",\n \"und-Arab-MM\": \"rhg-Arab-MM\",\n \"und-Arab-MN\": \"kk-Arab-MN\",\n \"und-Arab-MU\": \"ur-Arab-MU\",\n \"und-Arab-NG\": \"ha-Arab-NG\",\n \"und-Arab-PK\": \"ur-Arab-PK\",\n \"und-Arab-TG\": \"apd-Arab-TG\",\n \"und-Arab-TH\": \"mfa-Arab-TH\",\n \"und-Arab-TJ\": \"fa-Arab-TJ\",\n \"und-Arab-TR\": \"az-Arab-TR\",\n \"und-Arab-YT\": \"swb-Arab-YT\",\n \"und-Armi\": \"arc-Armi-IR\",\n \"und-Armn\": \"hy-Armn-AM\",\n \"und-AS\": \"sm-Latn-AS\",\n \"und-AT\": \"de-Latn-AT\",\n \"und-Avst\": \"ae-Avst-IR\",\n \"und-AW\": \"nl-Latn-AW\",\n \"und-AX\": \"sv-Latn-AX\",\n \"und-AZ\": \"az-Latn-AZ\",\n \"und-BA\": \"bs-Latn-BA\",\n \"und-Bali\": \"ban-Bali-ID\",\n \"und-Bamu\": \"bax-Bamu-CM\",\n \"und-Bass\": \"bsq-Bass-LR\",\n \"und-Batk\": \"bbc-Batk-ID\",\n \"und-BD\": \"bn-Beng-BD\",\n \"und-BE\": \"nl-Latn-BE\",\n \"und-Beng\": \"bn-Beng-BD\",\n \"und-BF\": \"fr-Latn-BF\",\n \"und-BG\": \"bg-Cyrl-BG\",\n \"und-BH\": \"ar-Arab-BH\",\n \"und-Bhks\": \"sa-Bhks-IN\",\n \"und-BI\": \"rn-Latn-BI\",\n \"und-BJ\": \"fr-Latn-BJ\",\n \"und-BL\": \"fr-Latn-BL\",\n \"und-BN\": \"ms-Latn-BN\",\n \"und-BO\": \"es-Latn-BO\",\n \"und-Bopo\": \"zh-Bopo-TW\",\n \"und-BQ\": \"pap-Latn-BQ\",\n \"und-BR\": \"pt-Latn-BR\",\n \"und-Brah\": \"pka-Brah-IN\",\n \"und-Brai\": \"fr-Brai-FR\",\n \"und-BT\": \"dz-Tibt-BT\",\n \"und-Bugi\": \"bug-Bugi-ID\",\n \"und-Buhd\": \"bku-Buhd-PH\",\n \"und-BV\": \"und-Latn-BV\",\n \"und-BY\": \"be-Cyrl-BY\",\n \"und-Cakm\": \"ccp-Cakm-BD\",\n \"und-Cans\": \"cr-Cans-CA\",\n \"und-Cari\": \"xcr-Cari-TR\",\n \"und-CD\": \"sw-Latn-CD\",\n \"und-CF\": \"fr-Latn-CF\",\n \"und-CG\": \"fr-Latn-CG\",\n \"und-CH\": \"de-Latn-CH\",\n \"und-Cham\": \"cjm-Cham-VN\",\n \"und-Cher\": \"chr-Cher-US\",\n \"und-Chrs\": \"xco-Chrs-UZ\",\n \"und-CI\": \"fr-Latn-CI\",\n \"und-CL\": \"es-Latn-CL\",\n \"und-CM\": \"fr-Latn-CM\",\n \"und-CN\": \"zh-Hans-CN\",\n \"und-CO\": \"es-Latn-CO\",\n \"und-Copt\": \"cop-Copt-EG\",\n \"und-CP\": \"und-Latn-CP\",\n \"und-Cpmn\": \"und-Cpmn-CY\",\n \"und-Cpmn-CY\": \"und-Cpmn-CY\",\n \"und-Cprt\": \"grc-Cprt-CY\",\n \"und-CR\": \"es-Latn-CR\",\n \"und-CU\": \"es-Latn-CU\",\n \"und-CV\": \"pt-Latn-CV\",\n \"und-CW\": \"pap-Latn-CW\",\n \"und-CY\": \"el-Grek-CY\",\n \"und-Cyrl\": \"ru-Cyrl-RU\",\n \"und-Cyrl-AL\": \"mk-Cyrl-AL\",\n \"und-Cyrl-BA\": \"sr-Cyrl-BA\",\n \"und-Cyrl-GE\": \"os-Cyrl-GE\",\n \"und-Cyrl-GR\": \"mk-Cyrl-GR\",\n \"und-Cyrl-MD\": \"uk-Cyrl-MD\",\n \"und-Cyrl-RO\": \"bg-Cyrl-RO\",\n \"und-Cyrl-SK\": \"uk-Cyrl-SK\",\n \"und-Cyrl-TR\": \"kbd-Cyrl-TR\",\n \"und-Cyrl-XK\": \"sr-Cyrl-XK\",\n \"und-CZ\": \"cs-Latn-CZ\",\n \"und-DE\": \"de-Latn-DE\",\n \"und-Deva\": \"hi-Deva-IN\",\n \"und-Deva-BT\": \"ne-Deva-BT\",\n \"und-Deva-FJ\": \"hif-Deva-FJ\",\n \"und-Deva-MU\": \"bho-Deva-MU\",\n \"und-Deva-PK\": \"btv-Deva-PK\",\n \"und-Diak\": \"dv-Diak-MV\",\n \"und-DJ\": \"aa-Latn-DJ\",\n \"und-DK\": \"da-Latn-DK\",\n \"und-DO\": \"es-Latn-DO\",\n \"und-Dogr\": \"doi-Dogr-IN\",\n \"und-Dupl\": \"fr-Dupl-FR\",\n \"und-DZ\": \"ar-Arab-DZ\",\n \"und-EA\": \"es-Latn-EA\",\n \"und-EC\": \"es-Latn-EC\",\n \"und-EE\": \"et-Latn-EE\",\n \"und-EG\": \"ar-Arab-EG\",\n \"und-Egyp\": \"egy-Egyp-EG\",\n \"und-EH\": \"ar-Arab-EH\",\n \"und-Elba\": \"sq-Elba-AL\",\n \"und-Elym\": \"arc-Elym-IR\",\n \"und-ER\": \"ti-Ethi-ER\",\n \"und-ES\": \"es-Latn-ES\",\n \"und-ET\": \"am-Ethi-ET\",\n \"und-Ethi\": \"am-Ethi-ET\",\n \"und-EU\": \"en-Latn-IE\",\n \"und-EZ\": \"de-Latn-EZ\",\n \"und-FI\": \"fi-Latn-FI\",\n \"und-FO\": \"fo-Latn-FO\",\n \"und-FR\": \"fr-Latn-FR\",\n \"und-GA\": \"fr-Latn-GA\",\n \"und-GE\": \"ka-Geor-GE\",\n \"und-Geor\": \"ka-Geor-GE\",\n \"und-GF\": \"fr-Latn-GF\",\n \"und-GH\": \"ak-Latn-GH\",\n \"und-GL\": \"kl-Latn-GL\",\n \"und-Glag\": \"cu-Glag-BG\",\n \"und-GN\": \"fr-Latn-GN\",\n \"und-Gong\": \"wsg-Gong-IN\",\n \"und-Gonm\": \"esg-Gonm-IN\",\n \"und-Goth\": \"got-Goth-UA\",\n \"und-GP\": \"fr-Latn-GP\",\n \"und-GQ\": \"es-Latn-GQ\",\n \"und-GR\": \"el-Grek-GR\",\n \"und-Gran\": \"sa-Gran-IN\",\n \"und-Grek\": \"el-Grek-GR\",\n \"und-Grek-TR\": \"bgx-Grek-TR\",\n \"und-GS\": \"und-Latn-GS\",\n \"und-GT\": \"es-Latn-GT\",\n \"und-Gujr\": \"gu-Gujr-IN\",\n \"und-Guru\": \"pa-Guru-IN\",\n \"und-GW\": \"pt-Latn-GW\",\n \"und-Hanb\": \"zh-Hanb-TW\",\n \"und-Hang\": \"ko-Hang-KR\",\n \"und-Hani\": \"zh-Hani-CN\",\n \"und-Hano\": \"hnn-Hano-PH\",\n \"und-Hans\": \"zh-Hans-CN\",\n \"und-Hant\": \"zh-Hant-TW\",\n \"und-Hebr\": \"he-Hebr-IL\",\n \"und-Hebr-CA\": \"yi-Hebr-CA\",\n \"und-Hebr-GB\": \"yi-Hebr-GB\",\n \"und-Hebr-SE\": \"yi-Hebr-SE\",\n \"und-Hebr-UA\": \"yi-Hebr-UA\",\n \"und-Hebr-US\": \"yi-Hebr-US\",\n \"und-Hira\": \"ja-Hira-JP\",\n \"und-HK\": \"zh-Hant-HK\",\n \"und-Hluw\": \"hlu-Hluw-TR\",\n \"und-HM\": \"und-Latn-HM\",\n \"und-Hmng\": \"hnj-Hmng-LA\",\n \"und-Hmnp\": \"hnj-Hmnp-US\",\n \"und-HN\": \"es-Latn-HN\",\n \"und-HR\": \"hr-Latn-HR\",\n \"und-HT\": \"ht-Latn-HT\",\n \"und-HU\": \"hu-Latn-HU\",\n \"und-Hung\": \"hu-Hung-HU\",\n \"und-IC\": \"es-Latn-IC\",\n \"und-ID\": \"id-Latn-ID\",\n \"und-IL\": \"he-Hebr-IL\",\n \"und-IN\": \"hi-Deva-IN\",\n \"und-IQ\": \"ar-Arab-IQ\",\n \"und-IR\": \"fa-Arab-IR\",\n \"und-IS\": \"is-Latn-IS\",\n \"und-IT\": \"it-Latn-IT\",\n \"und-Ital\": \"ett-Ital-IT\",\n \"und-Jamo\": \"ko-Jamo-KR\",\n \"und-Java\": \"jv-Java-ID\",\n \"und-JO\": \"ar-Arab-JO\",\n \"und-JP\": \"ja-Jpan-JP\",\n \"und-Jpan\": \"ja-Jpan-JP\",\n \"und-Kali\": \"eky-Kali-MM\",\n \"und-Kana\": \"ja-Kana-JP\",\n \"und-KE\": \"sw-Latn-KE\",\n \"und-KG\": \"ky-Cyrl-KG\",\n \"und-KH\": \"km-Khmr-KH\",\n \"und-Khar\": \"pra-Khar-PK\",\n \"und-Khmr\": \"km-Khmr-KH\",\n \"und-Khoj\": \"sd-Khoj-IN\",\n \"und-Kits\": \"zkt-Kits-CN\",\n \"und-KM\": \"ar-Arab-KM\",\n \"und-Knda\": \"kn-Knda-IN\",\n \"und-Kore\": \"ko-Kore-KR\",\n \"und-KP\": \"ko-Kore-KP\",\n \"und-KR\": \"ko-Kore-KR\",\n \"und-Kthi\": \"bho-Kthi-IN\",\n \"und-KW\": \"ar-Arab-KW\",\n \"und-KZ\": \"ru-Cyrl-KZ\",\n \"und-LA\": \"lo-Laoo-LA\",\n \"und-Lana\": \"nod-Lana-TH\",\n \"und-Laoo\": \"lo-Laoo-LA\",\n \"und-Latn-AF\": \"tk-Latn-AF\",\n \"und-Latn-AM\": \"ku-Latn-AM\",\n \"und-Latn-CN\": \"za-Latn-CN\",\n \"und-Latn-CY\": \"tr-Latn-CY\",\n \"und-Latn-DZ\": \"fr-Latn-DZ\",\n \"und-Latn-ET\": \"en-Latn-ET\",\n \"und-Latn-GE\": \"ku-Latn-GE\",\n \"und-Latn-IR\": \"tk-Latn-IR\",\n \"und-Latn-KM\": \"fr-Latn-KM\",\n \"und-Latn-MA\": \"fr-Latn-MA\",\n \"und-Latn-MK\": \"sq-Latn-MK\",\n \"und-Latn-MM\": \"kac-Latn-MM\",\n \"und-Latn-MO\": \"pt-Latn-MO\",\n \"und-Latn-MR\": \"fr-Latn-MR\",\n \"und-Latn-RU\": \"krl-Latn-RU\",\n \"und-Latn-SY\": \"fr-Latn-SY\",\n \"und-Latn-TN\": \"fr-Latn-TN\",\n \"und-Latn-TW\": \"trv-Latn-TW\",\n \"und-Latn-UA\": \"pl-Latn-UA\",\n \"und-LB\": \"ar-Arab-LB\",\n \"und-Lepc\": \"lep-Lepc-IN\",\n \"und-LI\": \"de-Latn-LI\",\n \"und-Limb\": \"lif-Limb-IN\",\n \"und-Lina\": \"lab-Lina-GR\",\n \"und-Linb\": \"grc-Linb-GR\",\n \"und-Lisu\": \"lis-Lisu-CN\",\n \"und-LK\": \"si-Sinh-LK\",\n \"und-LS\": \"st-Latn-LS\",\n \"und-LT\": \"lt-Latn-LT\",\n \"und-LU\": \"fr-Latn-LU\",\n \"und-LV\": \"lv-Latn-LV\",\n \"und-LY\": \"ar-Arab-LY\",\n \"und-Lyci\": \"xlc-Lyci-TR\",\n \"und-Lydi\": \"xld-Lydi-TR\",\n \"und-MA\": \"ar-Arab-MA\",\n \"und-Mahj\": \"hi-Mahj-IN\",\n \"und-Maka\": \"mak-Maka-ID\",\n \"und-Mand\": \"myz-Mand-IR\",\n \"und-Mani\": \"xmn-Mani-CN\",\n \"und-Marc\": \"bo-Marc-CN\",\n \"und-MC\": \"fr-Latn-MC\",\n \"und-MD\": \"ro-Latn-MD\",\n \"und-ME\": \"sr-Latn-ME\",\n \"und-Medf\": \"dmf-Medf-NG\",\n \"und-Mend\": \"men-Mend-SL\",\n \"und-Merc\": \"xmr-Merc-SD\",\n \"und-Mero\": \"xmr-Mero-SD\",\n \"und-MF\": \"fr-Latn-MF\",\n \"und-MG\": \"mg-Latn-MG\",\n \"und-MK\": \"mk-Cyrl-MK\",\n \"und-ML\": \"bm-Latn-ML\",\n \"und-Mlym\": \"ml-Mlym-IN\",\n \"und-MM\": \"my-Mymr-MM\",\n \"und-MN\": \"mn-Cyrl-MN\",\n \"und-MO\": \"zh-Hant-MO\",\n \"und-Modi\": \"mr-Modi-IN\",\n \"und-Mong\": \"mn-Mong-CN\",\n \"und-MQ\": \"fr-Latn-MQ\",\n \"und-MR\": \"ar-Arab-MR\",\n \"und-Mroo\": \"mro-Mroo-BD\",\n \"und-MT\": \"mt-Latn-MT\",\n \"und-Mtei\": \"mni-Mtei-IN\",\n \"und-MU\": \"mfe-Latn-MU\",\n \"und-Mult\": \"skr-Mult-PK\",\n \"und-MV\": \"dv-Thaa-MV\",\n \"und-MX\": \"es-Latn-MX\",\n \"und-MY\": \"ms-Latn-MY\",\n \"und-Mymr\": \"my-Mymr-MM\",\n \"und-Mymr-IN\": \"kht-Mymr-IN\",\n \"und-Mymr-TH\": \"mnw-Mymr-TH\",\n \"und-MZ\": \"pt-Latn-MZ\",\n \"und-NA\": \"af-Latn-NA\",\n \"und-Nand\": \"sa-Nand-IN\",\n \"und-Narb\": \"xna-Narb-SA\",\n \"und-Nbat\": \"arc-Nbat-JO\",\n \"und-NC\": \"fr-Latn-NC\",\n \"und-NE\": \"ha-Latn-NE\",\n \"und-Newa\": \"new-Newa-NP\",\n \"und-NI\": \"es-Latn-NI\",\n \"und-Nkoo\": \"man-Nkoo-GN\",\n \"und-NL\": \"nl-Latn-NL\",\n \"und-NO\": \"nb-Latn-NO\",\n \"und-NP\": \"ne-Deva-NP\",\n \"und-Nshu\": \"zhx-Nshu-CN\",\n \"und-Ogam\": \"sga-Ogam-IE\",\n \"und-Olck\": \"sat-Olck-IN\",\n \"und-OM\": \"ar-Arab-OM\",\n \"und-Orkh\": \"otk-Orkh-MN\",\n \"und-Orya\": \"or-Orya-IN\",\n \"und-Osge\": \"osa-Osge-US\",\n \"und-Osma\": \"so-Osma-SO\",\n \"und-Ougr\": \"oui-Ougr-143\",\n \"und-PA\": \"es-Latn-PA\",\n \"und-Palm\": \"arc-Palm-SY\",\n \"und-Pauc\": \"ctd-Pauc-MM\",\n \"und-PE\": \"es-Latn-PE\",\n \"und-Perm\": \"kv-Perm-RU\",\n \"und-PF\": \"fr-Latn-PF\",\n \"und-PG\": \"tpi-Latn-PG\",\n \"und-PH\": \"fil-Latn-PH\",\n \"und-Phag\": \"lzh-Phag-CN\",\n \"und-Phli\": \"pal-Phli-IR\",\n \"und-Phlp\": \"pal-Phlp-CN\",\n \"und-Phnx\": \"phn-Phnx-LB\",\n \"und-PK\": \"ur-Arab-PK\",\n \"und-PL\": \"pl-Latn-PL\",\n \"und-Plrd\": \"hmd-Plrd-CN\",\n \"und-PM\": \"fr-Latn-PM\",\n \"und-PR\": \"es-Latn-PR\",\n \"und-Prti\": \"xpr-Prti-IR\",\n \"und-PS\": \"ar-Arab-PS\",\n \"und-PT\": \"pt-Latn-PT\",\n \"und-PW\": \"pau-Latn-PW\",\n \"und-PY\": \"gn-Latn-PY\",\n \"und-QA\": \"ar-Arab-QA\",\n \"und-QO\": \"en-Latn-DG\",\n \"und-RE\": \"fr-Latn-RE\",\n \"und-Rjng\": \"rej-Rjng-ID\",\n \"und-RO\": \"ro-Latn-RO\",\n \"und-Rohg\": \"rhg-Rohg-MM\",\n \"und-RS\": \"sr-Cyrl-RS\",\n \"und-RU\": \"ru-Cyrl-RU\",\n \"und-Runr\": \"non-Runr-SE\",\n \"und-RW\": \"rw-Latn-RW\",\n \"und-SA\": \"ar-Arab-SA\",\n \"und-Samr\": \"smp-Samr-IL\",\n \"und-Sarb\": \"xsa-Sarb-YE\",\n \"und-Saur\": \"saz-Saur-IN\",\n \"und-SC\": \"fr-Latn-SC\",\n \"und-SD\": \"ar-Arab-SD\",\n \"und-SE\": \"sv-Latn-SE\",\n \"und-Sgnw\": \"ase-Sgnw-US\",\n \"und-Shaw\": \"en-Shaw-GB\",\n \"und-Shrd\": \"sa-Shrd-IN\",\n \"und-SI\": \"sl-Latn-SI\",\n \"und-Sidd\": \"sa-Sidd-IN\",\n \"und-Sind\": \"sd-Sind-IN\",\n \"und-Sinh\": \"si-Sinh-LK\",\n \"und-SJ\": \"nb-Latn-SJ\",\n \"und-SK\": \"sk-Latn-SK\",\n \"und-SM\": \"it-Latn-SM\",\n \"und-SN\": \"fr-Latn-SN\",\n \"und-SO\": \"so-Latn-SO\",\n \"und-Sogd\": \"sog-Sogd-UZ\",\n \"und-Sogo\": \"sog-Sogo-UZ\",\n \"und-Sora\": \"srb-Sora-IN\",\n \"und-Soyo\": \"cmg-Soyo-MN\",\n \"und-SR\": \"nl-Latn-SR\",\n \"und-ST\": \"pt-Latn-ST\",\n \"und-Sund\": \"su-Sund-ID\",\n \"und-SV\": \"es-Latn-SV\",\n \"und-SY\": \"ar-Arab-SY\",\n \"und-Sylo\": \"syl-Sylo-BD\",\n \"und-Syrc\": \"syr-Syrc-IQ\",\n \"und-Tagb\": \"tbw-Tagb-PH\",\n \"und-Takr\": \"doi-Takr-IN\",\n \"und-Tale\": \"tdd-Tale-CN\",\n \"und-Talu\": \"khb-Talu-CN\",\n \"und-Taml\": \"ta-Taml-IN\",\n \"und-Tang\": \"txg-Tang-CN\",\n \"und-Tavt\": \"blt-Tavt-VN\",\n \"und-TD\": \"fr-Latn-TD\",\n \"und-Telu\": \"te-Telu-IN\",\n \"und-TF\": \"fr-Latn-TF\",\n \"und-Tfng\": \"zgh-Tfng-MA\",\n \"und-TG\": \"fr-Latn-TG\",\n \"und-Tglg\": \"fil-Tglg-PH\",\n \"und-TH\": \"th-Thai-TH\",\n \"und-Thaa\": \"dv-Thaa-MV\",\n \"und-Thai\": \"th-Thai-TH\",\n \"und-Thai-CN\": \"lcp-Thai-CN\",\n \"und-Thai-KH\": \"kdt-Thai-KH\",\n \"und-Thai-LA\": \"kdt-Thai-LA\",\n \"und-Tibt\": \"bo-Tibt-CN\",\n \"und-Tirh\": \"mai-Tirh-IN\",\n \"und-TJ\": \"tg-Cyrl-TJ\",\n \"und-TK\": \"tkl-Latn-TK\",\n \"und-TL\": \"pt-Latn-TL\",\n \"und-TM\": \"tk-Latn-TM\",\n \"und-TN\": \"ar-Arab-TN\",\n \"und-Tnsa\": \"nst-Tnsa-IN\",\n \"und-TO\": \"to-Latn-TO\",\n \"und-Toto\": \"txo-Toto-IN\",\n \"und-TR\": \"tr-Latn-TR\",\n \"und-TV\": \"tvl-Latn-TV\",\n \"und-TW\": \"zh-Hant-TW\",\n \"und-TZ\": \"sw-Latn-TZ\",\n \"und-UA\": \"uk-Cyrl-UA\",\n \"und-UG\": \"sw-Latn-UG\",\n \"und-Ugar\": \"uga-Ugar-SY\",\n \"und-UY\": \"es-Latn-UY\",\n \"und-UZ\": \"uz-Latn-UZ\",\n \"und-VA\": \"it-Latn-VA\",\n \"und-Vaii\": \"vai-Vaii-LR\",\n \"und-VE\": \"es-Latn-VE\",\n \"und-Vith\": \"sq-Vith-AL\",\n \"und-VN\": \"vi-Latn-VN\",\n \"und-VU\": \"bi-Latn-VU\",\n \"und-Wara\": \"hoc-Wara-IN\",\n \"und-Wcho\": \"nnp-Wcho-IN\",\n \"und-WF\": \"fr-Latn-WF\",\n \"und-WS\": \"sm-Latn-WS\",\n \"und-XK\": \"sq-Latn-XK\",\n \"und-Xpeo\": \"peo-Xpeo-IR\",\n \"und-Xsux\": \"akk-Xsux-IQ\",\n \"und-YE\": \"ar-Arab-YE\",\n \"und-Yezi\": \"ku-Yezi-GE\",\n \"und-Yiii\": \"ii-Yiii-CN\",\n \"und-YT\": \"fr-Latn-YT\",\n \"und-Zanb\": \"cmg-Zanb-MN\",\n \"und-ZW\": \"sn-Latn-ZW\",\n \"unr\": \"unr-Beng-IN\",\n \"unr-Deva\": \"unr-Deva-NP\",\n \"unr-NP\": \"unr-Deva-NP\",\n \"unx\": \"unx-Beng-IN\",\n \"uok\": \"uok-Latn-ZZ\",\n \"ur\": \"ur-Arab-PK\",\n \"uri\": \"uri-Latn-ZZ\",\n \"urt\": \"urt-Latn-ZZ\",\n \"urw\": \"urw-Latn-ZZ\",\n \"usa\": \"usa-Latn-ZZ\",\n \"uth\": \"uth-Latn-ZZ\",\n \"utr\": \"utr-Latn-ZZ\",\n \"uvh\": \"uvh-Latn-ZZ\",\n \"uvl\": \"uvl-Latn-ZZ\",\n \"uz\": \"uz-Latn-UZ\",\n \"uz-AF\": \"uz-Arab-AF\",\n \"uz-Arab\": \"uz-Arab-AF\",\n \"uz-CN\": \"uz-Cyrl-CN\",\n \"vag\": \"vag-Latn-ZZ\",\n \"vai\": \"vai-Vaii-LR\",\n \"van\": \"van-Latn-ZZ\",\n \"ve\": \"ve-Latn-ZA\",\n \"vec\": \"vec-Latn-IT\",\n \"vep\": \"vep-Latn-RU\",\n \"vi\": \"vi-Latn-VN\",\n \"vic\": \"vic-Latn-SX\",\n \"viv\": \"viv-Latn-ZZ\",\n \"vls\": \"vls-Latn-BE\",\n \"vmf\": \"vmf-Latn-DE\",\n \"vmw\": \"vmw-Latn-MZ\",\n \"vo\": \"vo-Latn-001\",\n \"vot\": \"vot-Latn-RU\",\n \"vro\": \"vro-Latn-EE\",\n \"vun\": \"vun-Latn-TZ\",\n \"vut\": \"vut-Latn-ZZ\",\n \"wa\": \"wa-Latn-BE\",\n \"wae\": \"wae-Latn-CH\",\n \"waj\": \"waj-Latn-ZZ\",\n \"wal\": \"wal-Ethi-ET\",\n \"wan\": \"wan-Latn-ZZ\",\n \"war\": \"war-Latn-PH\",\n \"wbp\": \"wbp-Latn-AU\",\n \"wbq\": \"wbq-Telu-IN\",\n \"wbr\": \"wbr-Deva-IN\",\n \"wci\": \"wci-Latn-ZZ\",\n \"wer\": \"wer-Latn-ZZ\",\n \"wgi\": \"wgi-Latn-ZZ\",\n \"whg\": \"whg-Latn-ZZ\",\n \"wib\": \"wib-Latn-ZZ\",\n \"wiu\": \"wiu-Latn-ZZ\",\n \"wiv\": \"wiv-Latn-ZZ\",\n \"wja\": \"wja-Latn-ZZ\",\n \"wji\": \"wji-Latn-ZZ\",\n \"wls\": \"wls-Latn-WF\",\n \"wmo\": \"wmo-Latn-ZZ\",\n \"wnc\": \"wnc-Latn-ZZ\",\n \"wni\": \"wni-Arab-KM\",\n \"wnu\": \"wnu-Latn-ZZ\",\n \"wo\": \"wo-Latn-SN\",\n \"wob\": \"wob-Latn-ZZ\",\n \"wos\": \"wos-Latn-ZZ\",\n \"wrs\": \"wrs-Latn-ZZ\",\n \"wsg\": \"wsg-Gong-IN\",\n \"wsk\": \"wsk-Latn-ZZ\",\n \"wtm\": \"wtm-Deva-IN\",\n \"wuu\": \"wuu-Hans-CN\",\n \"wuv\": \"wuv-Latn-ZZ\",\n \"wwa\": \"wwa-Latn-ZZ\",\n \"xav\": \"xav-Latn-BR\",\n \"xbi\": \"xbi-Latn-ZZ\",\n \"xco\": \"xco-Chrs-UZ\",\n \"xcr\": \"xcr-Cari-TR\",\n \"xes\": \"xes-Latn-ZZ\",\n \"xh\": \"xh-Latn-ZA\",\n \"xla\": \"xla-Latn-ZZ\",\n \"xlc\": \"xlc-Lyci-TR\",\n \"xld\": \"xld-Lydi-TR\",\n \"xmf\": \"xmf-Geor-GE\",\n \"xmn\": \"xmn-Mani-CN\",\n \"xmr\": \"xmr-Merc-SD\",\n \"xna\": \"xna-Narb-SA\",\n \"xnr\": \"xnr-Deva-IN\",\n \"xog\": \"xog-Latn-UG\",\n \"xon\": \"xon-Latn-ZZ\",\n \"xpr\": \"xpr-Prti-IR\",\n \"xrb\": \"xrb-Latn-ZZ\",\n \"xsa\": \"xsa-Sarb-YE\",\n \"xsi\": \"xsi-Latn-ZZ\",\n \"xsm\": \"xsm-Latn-ZZ\",\n \"xsr\": \"xsr-Deva-NP\",\n \"xwe\": \"xwe-Latn-ZZ\",\n \"yam\": \"yam-Latn-ZZ\",\n \"yao\": \"yao-Latn-MZ\",\n \"yap\": \"yap-Latn-FM\",\n \"yas\": \"yas-Latn-ZZ\",\n \"yat\": \"yat-Latn-ZZ\",\n \"yav\": \"yav-Latn-CM\",\n \"yay\": \"yay-Latn-ZZ\",\n \"yaz\": \"yaz-Latn-ZZ\",\n \"yba\": \"yba-Latn-ZZ\",\n \"ybb\": \"ybb-Latn-CM\",\n \"yby\": \"yby-Latn-ZZ\",\n \"yer\": \"yer-Latn-ZZ\",\n \"ygr\": \"ygr-Latn-ZZ\",\n \"ygw\": \"ygw-Latn-ZZ\",\n \"yi\": \"yi-Hebr-001\",\n \"yko\": \"yko-Latn-ZZ\",\n \"yle\": \"yle-Latn-ZZ\",\n \"ylg\": \"ylg-Latn-ZZ\",\n \"yll\": \"yll-Latn-ZZ\",\n \"yml\": \"yml-Latn-ZZ\",\n \"yo\": \"yo-Latn-NG\",\n \"yon\": \"yon-Latn-ZZ\",\n \"yrb\": \"yrb-Latn-ZZ\",\n \"yre\": \"yre-Latn-ZZ\",\n \"yrl\": \"yrl-Latn-BR\",\n \"yss\": \"yss-Latn-ZZ\",\n \"yua\": \"yua-Latn-MX\",\n \"yue\": \"yue-Hant-HK\",\n \"yue-CN\": \"yue-Hans-CN\",\n \"yue-Hans\": \"yue-Hans-CN\",\n \"yuj\": \"yuj-Latn-ZZ\",\n \"yut\": \"yut-Latn-ZZ\",\n \"yuw\": \"yuw-Latn-ZZ\",\n \"za\": \"za-Latn-CN\",\n \"zag\": \"zag-Latn-SD\",\n \"zdj\": \"zdj-Arab-KM\",\n \"zea\": \"zea-Latn-NL\",\n \"zgh\": \"zgh-Tfng-MA\",\n \"zh\": \"zh-Hans-CN\",\n \"zh-AU\": \"zh-Hant-AU\",\n \"zh-BN\": \"zh-Hant-BN\",\n \"zh-Bopo\": \"zh-Bopo-TW\",\n \"zh-GB\": \"zh-Hant-GB\",\n \"zh-GF\": \"zh-Hant-GF\",\n \"zh-Hanb\": \"zh-Hanb-TW\",\n \"zh-Hant\": \"zh-Hant-TW\",\n \"zh-HK\": \"zh-Hant-HK\",\n \"zh-ID\": \"zh-Hant-ID\",\n \"zh-MO\": \"zh-Hant-MO\",\n \"zh-PA\": \"zh-Hant-PA\",\n \"zh-PF\": \"zh-Hant-PF\",\n \"zh-PH\": \"zh-Hant-PH\",\n \"zh-SR\": \"zh-Hant-SR\",\n \"zh-TH\": \"zh-Hant-TH\",\n \"zh-TW\": \"zh-Hant-TW\",\n \"zh-US\": \"zh-Hant-US\",\n \"zh-VN\": \"zh-Hant-VN\",\n \"zhx\": \"zhx-Nshu-CN\",\n \"zia\": \"zia-Latn-ZZ\",\n \"zkt\": \"zkt-Kits-CN\",\n \"zlm\": \"zlm-Latn-TG\",\n \"zmi\": \"zmi-Latn-MY\",\n \"zne\": \"zne-Latn-ZZ\",\n \"zu\": \"zu-Latn-ZA\",\n \"zza\": \"zza-Latn-TR\"\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseUnicodeLocaleId = exports.parseUnicodeLanguageId = exports.isUnicodeVariantSubtag = exports.isUnicodeScriptSubtag = exports.isUnicodeRegionSubtag = exports.isStructurallyValidLanguageTag = exports.isUnicodeLanguageSubtag = exports.SEPARATOR = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ALPHANUM_1_8 = /^[a-z0-9]{1,8}$/i;\nvar ALPHANUM_2_8 = /^[a-z0-9]{2,8}$/i;\nvar ALPHANUM_3_8 = /^[a-z0-9]{3,8}$/i;\nvar KEY_REGEX = /^[a-z0-9][a-z]$/i;\nvar TYPE_REGEX = /^[a-z0-9]{3,8}$/i;\nvar ALPHA_4 = /^[a-z]{4}$/i;\n// alphanum-[tTuUxX]\nvar OTHER_EXTENSION_TYPE = /^[0-9a-svwyz]$/i;\nvar UNICODE_REGION_SUBTAG_REGEX = /^([a-z]{2}|[0-9]{3})$/i;\nvar UNICODE_VARIANT_SUBTAG_REGEX = /^([a-z0-9]{5,8}|[0-9][a-z0-9]{3})$/i;\nvar UNICODE_LANGUAGE_SUBTAG_REGEX = /^([a-z]{2,3}|[a-z]{5,8})$/i;\nvar TKEY_REGEX = /^[a-z][0-9]$/i;\nexports.SEPARATOR = '-';\nfunction isUnicodeLanguageSubtag(lang) {\n return UNICODE_LANGUAGE_SUBTAG_REGEX.test(lang);\n}\nexports.isUnicodeLanguageSubtag = isUnicodeLanguageSubtag;\nfunction isStructurallyValidLanguageTag(tag) {\n try {\n parseUnicodeLanguageId(tag.split(exports.SEPARATOR));\n }\n catch (e) {\n return false;\n }\n return true;\n}\nexports.isStructurallyValidLanguageTag = isStructurallyValidLanguageTag;\nfunction isUnicodeRegionSubtag(region) {\n return UNICODE_REGION_SUBTAG_REGEX.test(region);\n}\nexports.isUnicodeRegionSubtag = isUnicodeRegionSubtag;\nfunction isUnicodeScriptSubtag(script) {\n return ALPHA_4.test(script);\n}\nexports.isUnicodeScriptSubtag = isUnicodeScriptSubtag;\nfunction isUnicodeVariantSubtag(variant) {\n return UNICODE_VARIANT_SUBTAG_REGEX.test(variant);\n}\nexports.isUnicodeVariantSubtag = isUnicodeVariantSubtag;\nfunction parseUnicodeLanguageId(chunks) {\n if (typeof chunks === 'string') {\n chunks = chunks.split(exports.SEPARATOR);\n }\n var lang = chunks.shift();\n if (!lang) {\n throw new RangeError('Missing unicode_language_subtag');\n }\n if (lang === 'root') {\n return { lang: 'root', variants: [] };\n }\n // unicode_language_subtag\n if (!isUnicodeLanguageSubtag(lang)) {\n throw new RangeError('Malformed unicode_language_subtag');\n }\n var script;\n // unicode_script_subtag\n if (chunks.length && isUnicodeScriptSubtag(chunks[0])) {\n script = chunks.shift();\n }\n var region;\n // unicode_region_subtag\n if (chunks.length && isUnicodeRegionSubtag(chunks[0])) {\n region = chunks.shift();\n }\n var variants = {};\n while (chunks.length && isUnicodeVariantSubtag(chunks[0])) {\n var variant = chunks.shift();\n if (variant in variants) {\n throw new RangeError(\"Duplicate variant \\\"\".concat(variant, \"\\\"\"));\n }\n variants[variant] = 1;\n }\n return {\n lang: lang,\n script: script,\n region: region,\n variants: Object.keys(variants),\n };\n}\nexports.parseUnicodeLanguageId = parseUnicodeLanguageId;\nfunction parseUnicodeExtension(chunks) {\n var keywords = [];\n var keyword;\n while (chunks.length && (keyword = parseKeyword(chunks))) {\n keywords.push(keyword);\n }\n if (keywords.length) {\n return {\n type: 'u',\n keywords: keywords,\n attributes: [],\n };\n }\n // Mix of attributes & keywords\n // Check for attributes first\n var attributes = [];\n while (chunks.length && ALPHANUM_3_8.test(chunks[0])) {\n attributes.push(chunks.shift());\n }\n while (chunks.length && (keyword = parseKeyword(chunks))) {\n keywords.push(keyword);\n }\n if (keywords.length || attributes.length) {\n return {\n type: 'u',\n attributes: attributes,\n keywords: keywords,\n };\n }\n throw new RangeError('Malformed unicode_extension');\n}\nfunction parseKeyword(chunks) {\n var key;\n if (!KEY_REGEX.test(chunks[0])) {\n return;\n }\n key = chunks.shift();\n var type = [];\n while (chunks.length && TYPE_REGEX.test(chunks[0])) {\n type.push(chunks.shift());\n }\n var value = '';\n if (type.length) {\n value = type.join(exports.SEPARATOR);\n }\n return [key, value];\n}\nfunction parseTransformedExtension(chunks) {\n var lang;\n try {\n lang = parseUnicodeLanguageId(chunks);\n }\n catch (e) {\n // Try just parsing tfield\n }\n var fields = [];\n while (chunks.length && TKEY_REGEX.test(chunks[0])) {\n var key = chunks.shift();\n var value = [];\n while (chunks.length && ALPHANUM_3_8.test(chunks[0])) {\n value.push(chunks.shift());\n }\n if (!value.length) {\n throw new RangeError(\"Missing tvalue for tkey \\\"\".concat(key, \"\\\"\"));\n }\n fields.push([key, value.join(exports.SEPARATOR)]);\n }\n if (fields.length) {\n return {\n type: 't',\n fields: fields,\n lang: lang,\n };\n }\n throw new RangeError('Malformed transformed_extension');\n}\nfunction parsePuExtension(chunks) {\n var exts = [];\n while (chunks.length && ALPHANUM_1_8.test(chunks[0])) {\n exts.push(chunks.shift());\n }\n if (exts.length) {\n return {\n type: 'x',\n value: exts.join(exports.SEPARATOR),\n };\n }\n throw new RangeError('Malformed private_use_extension');\n}\nfunction parseOtherExtensionValue(chunks) {\n var exts = [];\n while (chunks.length && ALPHANUM_2_8.test(chunks[0])) {\n exts.push(chunks.shift());\n }\n if (exts.length) {\n return exts.join(exports.SEPARATOR);\n }\n return '';\n}\nfunction parseExtensions(chunks) {\n if (!chunks.length) {\n return { extensions: [] };\n }\n var extensions = [];\n var unicodeExtension;\n var transformedExtension;\n var puExtension;\n var otherExtensionMap = {};\n do {\n var type = chunks.shift();\n switch (type) {\n case 'u':\n case 'U':\n if (unicodeExtension) {\n throw new RangeError('There can only be 1 -u- extension');\n }\n unicodeExtension = parseUnicodeExtension(chunks);\n extensions.push(unicodeExtension);\n break;\n case 't':\n case 'T':\n if (transformedExtension) {\n throw new RangeError('There can only be 1 -t- extension');\n }\n transformedExtension = parseTransformedExtension(chunks);\n extensions.push(transformedExtension);\n break;\n case 'x':\n case 'X':\n if (puExtension) {\n throw new RangeError('There can only be 1 -x- extension');\n }\n puExtension = parsePuExtension(chunks);\n extensions.push(puExtension);\n break;\n default:\n if (!OTHER_EXTENSION_TYPE.test(type)) {\n throw new RangeError('Malformed extension type');\n }\n if (type in otherExtensionMap) {\n throw new RangeError(\"There can only be 1 -\".concat(type, \"- extension\"));\n }\n var extension = {\n type: type,\n value: parseOtherExtensionValue(chunks),\n };\n otherExtensionMap[extension.type] = extension;\n extensions.push(extension);\n break;\n }\n } while (chunks.length);\n return { extensions: extensions };\n}\nfunction parseUnicodeLocaleId(locale) {\n var chunks = locale.split(exports.SEPARATOR);\n var lang = parseUnicodeLanguageId(chunks);\n return tslib_1.__assign({ lang: lang }, parseExtensions(chunks));\n}\nexports.parseUnicodeLocaleId = parseUnicodeLocaleId;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\n// Type-only circular import\n// eslint-disable-next-line import/no-cycle\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar internalSlotMap = new WeakMap();\nfunction getInternalSlots(x) {\n var internalSlots = internalSlotMap.get(x);\n if (!internalSlots) {\n internalSlots = Object.create(null);\n internalSlotMap.set(x, internalSlots);\n }\n return internalSlots;\n}\nexports.default = getInternalSlots;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Locale = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nvar intl_getcanonicallocales_1 = require(\"@formatjs/intl-getcanonicallocales\");\nvar get_internal_slots_1 = tslib_1.__importDefault(require(\"./get_internal_slots\"));\nvar RELEVANT_EXTENSION_KEYS = ['ca', 'co', 'hc', 'kf', 'kn', 'nu'];\nvar UNICODE_TYPE_REGEX = /^[a-z0-9]{3,8}(-[a-z0-9]{3,8})*$/i;\nfunction applyOptionsToTag(tag, options) {\n (0, ecma402_abstract_1.invariant)(typeof tag === 'string', 'language tag must be a string');\n (0, ecma402_abstract_1.invariant)((0, intl_getcanonicallocales_1.isStructurallyValidLanguageTag)(tag), 'malformed language tag', RangeError);\n var language = (0, ecma402_abstract_1.GetOption)(options, 'language', 'string', undefined, undefined);\n if (language !== undefined) {\n (0, ecma402_abstract_1.invariant)((0, intl_getcanonicallocales_1.isUnicodeLanguageSubtag)(language), 'Malformed unicode_language_subtag', RangeError);\n }\n var script = (0, ecma402_abstract_1.GetOption)(options, 'script', 'string', undefined, undefined);\n if (script !== undefined) {\n (0, ecma402_abstract_1.invariant)((0, intl_getcanonicallocales_1.isUnicodeScriptSubtag)(script), 'Malformed unicode_script_subtag', RangeError);\n }\n var region = (0, ecma402_abstract_1.GetOption)(options, 'region', 'string', undefined, undefined);\n if (region !== undefined) {\n (0, ecma402_abstract_1.invariant)((0, intl_getcanonicallocales_1.isUnicodeRegionSubtag)(region), 'Malformed unicode_region_subtag', RangeError);\n }\n var languageId = (0, intl_getcanonicallocales_1.parseUnicodeLanguageId)(tag);\n if (language !== undefined) {\n languageId.lang = language;\n }\n if (script !== undefined) {\n languageId.script = script;\n }\n if (region !== undefined) {\n languageId.region = region;\n }\n return Intl.getCanonicalLocales((0, intl_getcanonicallocales_1.emitUnicodeLocaleId)(tslib_1.__assign(tslib_1.__assign({}, (0, intl_getcanonicallocales_1.parseUnicodeLocaleId)(tag)), { lang: languageId })))[0];\n}\nfunction applyUnicodeExtensionToTag(tag, options, relevantExtensionKeys) {\n var unicodeExtension;\n var keywords = [];\n var ast = (0, intl_getcanonicallocales_1.parseUnicodeLocaleId)(tag);\n for (var _i = 0, _a = ast.extensions; _i < _a.length; _i++) {\n var ext = _a[_i];\n if (ext.type === 'u') {\n unicodeExtension = ext;\n if (Array.isArray(ext.keywords))\n keywords = ext.keywords;\n }\n }\n var result = Object.create(null);\n for (var _b = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _b < relevantExtensionKeys_1.length; _b++) {\n var key = relevantExtensionKeys_1[_b];\n var value = void 0, entry = void 0;\n for (var _c = 0, keywords_1 = keywords; _c < keywords_1.length; _c++) {\n var keyword = keywords_1[_c];\n if (keyword[0] === key) {\n entry = keyword;\n value = entry[1];\n }\n }\n (0, ecma402_abstract_1.invariant)(key in options, \"\".concat(key, \" must be in options\"));\n var optionsValue = options[key];\n if (optionsValue !== undefined) {\n (0, ecma402_abstract_1.invariant)(typeof optionsValue === 'string', \"Value for \".concat(key, \" must be a string\"));\n value = optionsValue;\n if (entry) {\n entry[1] = value;\n }\n else {\n keywords.push([key, value]);\n }\n }\n result[key] = value;\n }\n if (!unicodeExtension) {\n if (keywords.length) {\n ast.extensions.push({\n type: 'u',\n keywords: keywords,\n attributes: [],\n });\n }\n }\n else {\n unicodeExtension.keywords = keywords;\n }\n result.locale = Intl.getCanonicalLocales((0, intl_getcanonicallocales_1.emitUnicodeLocaleId)(ast))[0];\n return result;\n}\nfunction mergeUnicodeLanguageId(lang, script, region, variants, replacement) {\n if (variants === void 0) { variants = []; }\n if (!replacement) {\n return {\n lang: lang || 'und',\n script: script,\n region: region,\n variants: variants,\n };\n }\n return {\n lang: !lang || lang === 'und' ? replacement.lang : lang,\n script: script || replacement.script,\n region: region || replacement.region,\n variants: tslib_1.__spreadArray(tslib_1.__spreadArray([], variants, true), replacement.variants, true),\n };\n}\nfunction addLikelySubtags(tag) {\n var ast = (0, intl_getcanonicallocales_1.parseUnicodeLocaleId)(tag);\n var unicodeLangId = ast.lang;\n var lang = unicodeLangId.lang, script = unicodeLangId.script, region = unicodeLangId.region, variants = unicodeLangId.variants;\n if (script && region) {\n var match_1 = intl_getcanonicallocales_1.likelySubtags[(0, intl_getcanonicallocales_1.emitUnicodeLanguageId)({ lang: lang, script: script, region: region, variants: [] })];\n if (match_1) {\n var parts_1 = (0, intl_getcanonicallocales_1.parseUnicodeLanguageId)(match_1);\n ast.lang = mergeUnicodeLanguageId(undefined, undefined, undefined, variants, parts_1);\n return (0, intl_getcanonicallocales_1.emitUnicodeLocaleId)(ast);\n }\n }\n if (script) {\n var match_2 = intl_getcanonicallocales_1.likelySubtags[(0, intl_getcanonicallocales_1.emitUnicodeLanguageId)({ lang: lang, script: script, variants: [] })];\n if (match_2) {\n var parts_2 = (0, intl_getcanonicallocales_1.parseUnicodeLanguageId)(match_2);\n ast.lang = mergeUnicodeLanguageId(undefined, undefined, region, variants, parts_2);\n return (0, intl_getcanonicallocales_1.emitUnicodeLocaleId)(ast);\n }\n }\n if (region) {\n var match_3 = intl_getcanonicallocales_1.likelySubtags[(0, intl_getcanonicallocales_1.emitUnicodeLanguageId)({ lang: lang, region: region, variants: [] })];\n if (match_3) {\n var parts_3 = (0, intl_getcanonicallocales_1.parseUnicodeLanguageId)(match_3);\n ast.lang = mergeUnicodeLanguageId(undefined, script, undefined, variants, parts_3);\n return (0, intl_getcanonicallocales_1.emitUnicodeLocaleId)(ast);\n }\n }\n var match = intl_getcanonicallocales_1.likelySubtags[lang] ||\n intl_getcanonicallocales_1.likelySubtags[(0, intl_getcanonicallocales_1.emitUnicodeLanguageId)({ lang: 'und', script: script, variants: [] })];\n if (!match) {\n throw new Error(\"No match for addLikelySubtags\");\n }\n var parts = (0, intl_getcanonicallocales_1.parseUnicodeLanguageId)(match);\n ast.lang = mergeUnicodeLanguageId(undefined, script, region, variants, parts);\n return (0, intl_getcanonicallocales_1.emitUnicodeLocaleId)(ast);\n}\n/**\n * From: https://github.com/unicode-org/icu/blob/4231ca5be053a22a1be24eb891817458c97db709/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java#L2395\n * @param tag\n */\nfunction removeLikelySubtags(tag) {\n var maxLocale = addLikelySubtags(tag);\n if (!maxLocale) {\n return tag;\n }\n maxLocale = (0, intl_getcanonicallocales_1.emitUnicodeLanguageId)(tslib_1.__assign(tslib_1.__assign({}, (0, intl_getcanonicallocales_1.parseUnicodeLanguageId)(maxLocale)), { variants: [] }));\n var ast = (0, intl_getcanonicallocales_1.parseUnicodeLocaleId)(tag);\n var _a = ast.lang, lang = _a.lang, script = _a.script, region = _a.region, variants = _a.variants;\n var trial = addLikelySubtags((0, intl_getcanonicallocales_1.emitUnicodeLanguageId)({ lang: lang, variants: [] }));\n if (trial === maxLocale) {\n return (0, intl_getcanonicallocales_1.emitUnicodeLocaleId)(tslib_1.__assign(tslib_1.__assign({}, ast), { lang: mergeUnicodeLanguageId(lang, undefined, undefined, variants) }));\n }\n if (region) {\n var trial_1 = addLikelySubtags((0, intl_getcanonicallocales_1.emitUnicodeLanguageId)({ lang: lang, region: region, variants: [] }));\n if (trial_1 === maxLocale) {\n return (0, intl_getcanonicallocales_1.emitUnicodeLocaleId)(tslib_1.__assign(tslib_1.__assign({}, ast), { lang: mergeUnicodeLanguageId(lang, undefined, region, variants) }));\n }\n }\n if (script) {\n var trial_2 = addLikelySubtags((0, intl_getcanonicallocales_1.emitUnicodeLanguageId)({ lang: lang, script: script, variants: [] }));\n if (trial_2 === maxLocale) {\n return (0, intl_getcanonicallocales_1.emitUnicodeLocaleId)(tslib_1.__assign(tslib_1.__assign({}, ast), { lang: mergeUnicodeLanguageId(lang, script, undefined, variants) }));\n }\n }\n return tag;\n}\nvar Locale = /** @class */ (function () {\n function Locale(tag, opts) {\n // test262/test/intl402/RelativeTimeFormat/constructor/constructor/newtarget-undefined.js\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n var newTarget = this && this instanceof Locale ? this.constructor : void 0;\n if (!newTarget) {\n throw new TypeError(\"Intl.Locale must be called with 'new'\");\n }\n var relevantExtensionKeys = Locale.relevantExtensionKeys;\n var internalSlotsList = [\n 'initializedLocale',\n 'locale',\n 'calendar',\n 'collation',\n 'hourCycle',\n 'numberingSystem',\n ];\n if (relevantExtensionKeys.indexOf('kf') > -1) {\n internalSlotsList.push('caseFirst');\n }\n if (relevantExtensionKeys.indexOf('kn') > -1) {\n internalSlotsList.push('numeric');\n }\n if (tag === undefined) {\n throw new TypeError(\"First argument to Intl.Locale constructor can't be empty or missing\");\n }\n if (typeof tag !== 'string' && typeof tag !== 'object') {\n throw new TypeError('tag must be a string or object');\n }\n var internalSlots;\n if (typeof tag === 'object' &&\n (internalSlots = (0, get_internal_slots_1.default)(tag)) &&\n internalSlots.initializedLocale) {\n tag = internalSlots.locale;\n }\n else {\n tag = tag.toString();\n }\n internalSlots = (0, get_internal_slots_1.default)(this);\n var options = (0, ecma402_abstract_1.CoerceOptionsToObject)(opts);\n tag = applyOptionsToTag(tag, options);\n var opt = Object.create(null);\n var calendar = (0, ecma402_abstract_1.GetOption)(options, 'calendar', 'string', undefined, undefined);\n if (calendar !== undefined) {\n if (!UNICODE_TYPE_REGEX.test(calendar)) {\n throw new RangeError('invalid calendar');\n }\n }\n opt.ca = calendar;\n var collation = (0, ecma402_abstract_1.GetOption)(options, 'collation', 'string', undefined, undefined);\n if (collation !== undefined) {\n if (!UNICODE_TYPE_REGEX.test(collation)) {\n throw new RangeError('invalid collation');\n }\n }\n opt.co = collation;\n var hc = (0, ecma402_abstract_1.GetOption)(options, 'hourCycle', 'string', ['h11', 'h12', 'h23', 'h24'], undefined);\n opt.hc = hc;\n var kf = (0, ecma402_abstract_1.GetOption)(options, 'caseFirst', 'string', ['upper', 'lower', 'false'], undefined);\n opt.kf = kf;\n var _kn = (0, ecma402_abstract_1.GetOption)(options, 'numeric', 'boolean', undefined, undefined);\n var kn;\n if (_kn !== undefined) {\n kn = String(_kn);\n }\n opt.kn = kn;\n var numberingSystem = (0, ecma402_abstract_1.GetOption)(options, 'numberingSystem', 'string', undefined, undefined);\n if (numberingSystem !== undefined) {\n if (!UNICODE_TYPE_REGEX.test(numberingSystem)) {\n throw new RangeError('Invalid numberingSystem');\n }\n }\n opt.nu = numberingSystem;\n var r = applyUnicodeExtensionToTag(tag, opt, relevantExtensionKeys);\n internalSlots.locale = r.locale;\n internalSlots.calendar = r.ca;\n internalSlots.collation = r.co;\n internalSlots.hourCycle = r.hc;\n if (relevantExtensionKeys.indexOf('kf') > -1) {\n internalSlots.caseFirst = r.kf;\n }\n if (relevantExtensionKeys.indexOf('kn') > -1) {\n internalSlots.numeric = (0, ecma402_abstract_1.SameValue)(r.kn, 'true');\n }\n internalSlots.numberingSystem = r.nu;\n }\n /**\n * https://www.unicode.org/reports/tr35/#Likely_Subtags\n */\n Locale.prototype.maximize = function () {\n var locale = (0, get_internal_slots_1.default)(this).locale;\n try {\n var maximizedLocale = addLikelySubtags(locale);\n return new Locale(maximizedLocale);\n }\n catch (e) {\n return new Locale(locale);\n }\n };\n /**\n * https://www.unicode.org/reports/tr35/#Likely_Subtags\n */\n Locale.prototype.minimize = function () {\n var locale = (0, get_internal_slots_1.default)(this).locale;\n try {\n var minimizedLocale = removeLikelySubtags(locale);\n return new Locale(minimizedLocale);\n }\n catch (e) {\n return new Locale(locale);\n }\n };\n Locale.prototype.toString = function () {\n return (0, get_internal_slots_1.default)(this).locale;\n };\n Object.defineProperty(Locale.prototype, \"baseName\", {\n get: function () {\n var locale = (0, get_internal_slots_1.default)(this).locale;\n return (0, intl_getcanonicallocales_1.emitUnicodeLanguageId)((0, intl_getcanonicallocales_1.parseUnicodeLanguageId)(locale));\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Locale.prototype, \"calendar\", {\n get: function () {\n return (0, get_internal_slots_1.default)(this).calendar;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Locale.prototype, \"collation\", {\n get: function () {\n return (0, get_internal_slots_1.default)(this).collation;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Locale.prototype, \"hourCycle\", {\n get: function () {\n return (0, get_internal_slots_1.default)(this).hourCycle;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Locale.prototype, \"caseFirst\", {\n get: function () {\n return (0, get_internal_slots_1.default)(this).caseFirst;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Locale.prototype, \"numeric\", {\n get: function () {\n return (0, get_internal_slots_1.default)(this).numeric;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Locale.prototype, \"numberingSystem\", {\n get: function () {\n return (0, get_internal_slots_1.default)(this).numberingSystem;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Locale.prototype, \"language\", {\n /**\n * https://tc39.es/proposal-intl-locale/#sec-Intl.Locale.prototype.language\n */\n get: function () {\n var locale = (0, get_internal_slots_1.default)(this).locale;\n return (0, intl_getcanonicallocales_1.parseUnicodeLanguageId)(locale).lang;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Locale.prototype, \"script\", {\n /**\n * https://tc39.es/proposal-intl-locale/#sec-Intl.Locale.prototype.script\n */\n get: function () {\n var locale = (0, get_internal_slots_1.default)(this).locale;\n return (0, intl_getcanonicallocales_1.parseUnicodeLanguageId)(locale).script;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Locale.prototype, \"region\", {\n /**\n * https://tc39.es/proposal-intl-locale/#sec-Intl.Locale.prototype.region\n */\n get: function () {\n var locale = (0, get_internal_slots_1.default)(this).locale;\n return (0, intl_getcanonicallocales_1.parseUnicodeLanguageId)(locale).region;\n },\n enumerable: false,\n configurable: true\n });\n Locale.relevantExtensionKeys = RELEVANT_EXTENSION_KEYS;\n return Locale;\n}());\nexports.Locale = Locale;\ntry {\n if (typeof Symbol !== 'undefined') {\n Object.defineProperty(Locale.prototype, Symbol.toStringTag, {\n value: 'Intl.Locale',\n writable: false,\n enumerable: false,\n configurable: true,\n });\n }\n Object.defineProperty(Locale.prototype.constructor, 'length', {\n value: 1,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n}\ncatch (e) {\n // Meta fix so we're test262-compliant, not important\n}\nexports.default = Locale;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar _1 = require(\"./\");\nvar should_polyfill_1 = require(\"./should-polyfill\");\nif ((0, should_polyfill_1.shouldPolyfill)()) {\n Object.defineProperty(Intl, 'Locale', {\n value: _1.Locale,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shouldPolyfill = void 0;\n/**\n * https://bugs.chromium.org/p/v8/issues/detail?id=10682\n */\nfunction hasIntlGetCanonicalLocalesBug() {\n try {\n return new Intl.Locale('und-x-private').toString() === 'x-private';\n }\n catch (e) {\n return true;\n }\n}\nfunction shouldPolyfill() {\n return !('Locale' in Intl) || hasIntlGetCanonicalLocalesBug();\n}\nexports.shouldPolyfill = shouldPolyfill;\n","/**\n * https://tc39.es/ecma402/#sec-bestavailablelocale\n * @param availableLocales\n * @param locale\n */\nexport function BestAvailableLocale(availableLocales, locale) {\n var candidate = locale;\n while (true) {\n if (availableLocales.has(candidate)) {\n return candidate;\n }\n var pos = candidate.lastIndexOf('-');\n if (!~pos) {\n return undefined;\n }\n if (pos >= 2 && candidate[pos - 2] === '-') {\n pos -= 2;\n }\n candidate = candidate.slice(0, pos);\n }\n}\n","import { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';\nimport { BestAvailableLocale } from './BestAvailableLocale';\n/**\n * https://tc39.es/ecma402/#sec-lookupsupportedlocales\n * @param availableLocales\n * @param requestedLocales\n */\nexport function LookupSupportedLocales(availableLocales, requestedLocales) {\n var subset = [];\n for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {\n var locale = requestedLocales_1[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n subset.push(availableLocale);\n }\n }\n return subset;\n}\n","import { invariant } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-unicodeextensionvalue\n * @param extension\n * @param key\n */\nexport function UnicodeExtensionValue(extension, key) {\n invariant(key.length === 2, 'key must have 2 elements');\n var size = extension.length;\n var searchValue = \"-\".concat(key, \"-\");\n var pos = extension.indexOf(searchValue);\n if (pos !== -1) {\n var start = pos + 4;\n var end = start;\n var k = start;\n var done = false;\n while (!done) {\n var e = extension.indexOf('-', k);\n var len = void 0;\n if (e === -1) {\n len = size - k;\n }\n else {\n len = e - k;\n }\n if (len === 2) {\n done = true;\n }\n else if (e === -1) {\n end = size;\n done = true;\n }\n else {\n end = e;\n k = e + 1;\n }\n }\n return extension.slice(start, end);\n }\n searchValue = \"-\".concat(key);\n pos = extension.indexOf(searchValue);\n if (pos !== -1 && pos + 3 === size) {\n return '';\n }\n return undefined;\n}\n","import { LookupMatcher } from './LookupMatcher';\nimport { BestFitMatcher } from './BestFitMatcher';\nimport { invariant } from './utils';\nimport { UnicodeExtensionValue } from './UnicodeExtensionValue';\n/**\n * https://tc39.es/ecma402/#sec-resolvelocale\n */\nexport function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) {\n var matcher = options.localeMatcher;\n var r;\n if (matcher === 'lookup') {\n r = LookupMatcher(availableLocales, requestedLocales, getDefaultLocale);\n }\n else {\n r = BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale);\n }\n var foundLocale = r.locale;\n var result = { locale: '', dataLocale: foundLocale };\n var supportedExtension = '-u';\n for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {\n var key = relevantExtensionKeys_1[_i];\n invariant(foundLocale in localeData, \"Missing locale data for \".concat(foundLocale));\n var foundLocaleData = localeData[foundLocale];\n invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, \"locale data \".concat(key, \" must be an object\"));\n var keyLocaleData = foundLocaleData[key];\n invariant(Array.isArray(keyLocaleData), \"keyLocaleData for \".concat(key, \" must be an array\"));\n var value = keyLocaleData[0];\n invariant(typeof value === 'string' || value === null, \"value must be string or null but got \".concat(typeof value, \" in key \").concat(key));\n var supportedExtensionAddition = '';\n if (r.extension) {\n var requestedValue = UnicodeExtensionValue(r.extension, key);\n if (requestedValue !== undefined) {\n if (requestedValue !== '') {\n if (~keyLocaleData.indexOf(requestedValue)) {\n value = requestedValue;\n supportedExtensionAddition = \"-\".concat(key, \"-\").concat(value);\n }\n }\n else if (~requestedValue.indexOf('true')) {\n value = 'true';\n supportedExtensionAddition = \"-\".concat(key);\n }\n }\n }\n if (key in options) {\n var optionsValue = options[key];\n invariant(typeof optionsValue === 'string' ||\n typeof optionsValue === 'undefined' ||\n optionsValue === null, 'optionsValue must be String, Undefined or Null');\n if (~keyLocaleData.indexOf(optionsValue)) {\n if (optionsValue !== value) {\n value = optionsValue;\n supportedExtensionAddition = '';\n }\n }\n }\n result[key] = value;\n supportedExtension += supportedExtensionAddition;\n }\n if (supportedExtension.length > 2) {\n var privateIndex = foundLocale.indexOf('-x-');\n if (privateIndex === -1) {\n foundLocale = foundLocale + supportedExtension;\n }\n else {\n var preExtension = foundLocale.slice(0, privateIndex);\n var postExtension = foundLocale.slice(privateIndex, foundLocale.length);\n foundLocale = preExtension + supportedExtension + postExtension;\n }\n foundLocale = Intl.getCanonicalLocales(foundLocale)[0];\n }\n result.locale = foundLocale;\n return result;\n}\n","import { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';\nimport { BestAvailableLocale } from './BestAvailableLocale';\n/**\n * https://tc39.es/ecma402/#sec-lookupmatcher\n * @param availableLocales\n * @param requestedLocales\n * @param getDefaultLocale\n */\nexport function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) {\n var result = { locale: '' };\n for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {\n var locale = requestedLocales_1[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n result.locale = availableLocale;\n if (locale !== noExtensionLocale) {\n result.extension = locale.slice(noExtensionLocale.length + 1, locale.length);\n }\n return result;\n }\n }\n result.locale = getDefaultLocale();\n return result;\n}\n","import { BestAvailableLocale } from './BestAvailableLocale';\nimport { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-bestfitmatcher\n * @param availableLocales\n * @param requestedLocales\n * @param getDefaultLocale\n */\nexport function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {\n var minimizedAvailableLocaleMap = {};\n var availableLocaleMap = {};\n var canonicalizedLocaleMap = {};\n var minimizedAvailableLocales = new Set();\n availableLocales.forEach(function (locale) {\n var minimizedLocale = new Intl.Locale(locale)\n .minimize()\n .toString();\n var canonicalizedLocale = Intl.getCanonicalLocales(locale)[0] || locale;\n minimizedAvailableLocaleMap[minimizedLocale] = locale;\n availableLocaleMap[locale] = locale;\n canonicalizedLocaleMap[canonicalizedLocale] = locale;\n minimizedAvailableLocales.add(minimizedLocale);\n minimizedAvailableLocales.add(locale);\n minimizedAvailableLocales.add(canonicalizedLocale);\n });\n var foundLocale;\n for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {\n var l = requestedLocales_1[_i];\n if (foundLocale) {\n break;\n }\n var noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n if (availableLocales.has(noExtensionLocale)) {\n foundLocale = noExtensionLocale;\n break;\n }\n if (minimizedAvailableLocales.has(noExtensionLocale)) {\n foundLocale = noExtensionLocale;\n break;\n }\n var locale = new Intl.Locale(noExtensionLocale);\n var maximizedRequestedLocale = locale.maximize().toString();\n var minimizedRequestedLocale = locale.minimize().toString();\n // Check minimized locale\n if (minimizedAvailableLocales.has(minimizedRequestedLocale)) {\n foundLocale = minimizedRequestedLocale;\n break;\n }\n // Lookup algo on maximized locale\n foundLocale = BestAvailableLocale(minimizedAvailableLocales, maximizedRequestedLocale);\n }\n if (!foundLocale) {\n return { locale: getDefaultLocale() };\n }\n return {\n locale: availableLocaleMap[foundLocale] ||\n canonicalizedLocaleMap[foundLocale] ||\n minimizedAvailableLocaleMap[foundLocale] ||\n foundLocale,\n };\n}\n","export var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","import { CanonicalizeLocaleList } from './abstract/CanonicalizeLocaleList';\nimport { ResolveLocale } from './abstract/ResolveLocale';\nexport function match(requestedLocales, availableLocales, defaultLocale, opts) {\n var locales = availableLocales.reduce(function (all, l) {\n all.add(l);\n return all;\n }, new Set());\n return ResolveLocale(locales, CanonicalizeLocaleList(requestedLocales), {\n localeMatcher: (opts === null || opts === void 0 ? void 0 : opts.algorithm) || 'best fit',\n }, [], {}, function () { return defaultLocale; }).locale;\n}\nexport { LookupSupportedLocales } from './abstract/LookupSupportedLocales';\nexport { ResolveLocale } from './abstract/ResolveLocale';\n","/**\n * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist\n * @param locales\n */\nexport function CanonicalizeLocaleList(locales) {\n // TODO\n return Intl.getCanonicalLocales(locales);\n}\n","/* @generated */\n// prettier-ignore\nif (Intl.NumberFormat && typeof Intl.NumberFormat.__addLocaleData === 'function') {\n Intl.NumberFormat.__addLocaleData({\"data\":{\"units\":{\"simple\":{\"degree\":{\"long\":{\"other\":\"{0} degrees\",\"one\":\"{0} degree\"},\"short\":{\"other\":\"{0} deg\"},\"narrow\":{\"other\":\"{0}°\"},\"perUnit\":{}},\"hectare\":{\"long\":{\"other\":\"{0} hectares\",\"one\":\"{0} hectare\"},\"short\":{\"other\":\"{0} ha\"},\"narrow\":{\"other\":\"{0}ha\"},\"perUnit\":{}},\"acre\":{\"long\":{\"other\":\"{0} acres\",\"one\":\"{0} acre\"},\"short\":{\"other\":\"{0} ac\"},\"narrow\":{\"other\":\"{0}ac\"},\"perUnit\":{}},\"percent\":{\"long\":{\"other\":\"{0} percent\"},\"short\":{\"other\":\"{0}%\"},\"narrow\":{\"other\":\"{0}%\"},\"perUnit\":{}},\"liter-per-kilometer\":{\"long\":{\"other\":\"{0} liters per kilometer\",\"one\":\"{0} liter per kilometer\"},\"short\":{\"other\":\"{0} L/km\"},\"narrow\":{\"other\":\"{0}L/km\"},\"perUnit\":{}},\"mile-per-gallon\":{\"long\":{\"other\":\"{0} miles per gallon\",\"one\":\"{0} mile per gallon\"},\"short\":{\"other\":\"{0} mpg\"},\"narrow\":{\"other\":\"{0}mpg\"},\"perUnit\":{}},\"petabyte\":{\"long\":{\"other\":\"{0} petabytes\",\"one\":\"{0} petabyte\"},\"short\":{\"other\":\"{0} PB\"},\"narrow\":{\"other\":\"{0}PB\"},\"perUnit\":{}},\"terabyte\":{\"long\":{\"other\":\"{0} terabytes\",\"one\":\"{0} terabyte\"},\"short\":{\"other\":\"{0} TB\"},\"narrow\":{\"other\":\"{0}TB\"},\"perUnit\":{}},\"terabit\":{\"long\":{\"other\":\"{0} terabits\",\"one\":\"{0} terabit\"},\"short\":{\"other\":\"{0} Tb\"},\"narrow\":{\"other\":\"{0}Tb\"},\"perUnit\":{}},\"gigabyte\":{\"long\":{\"other\":\"{0} gigabytes\",\"one\":\"{0} gigabyte\"},\"short\":{\"other\":\"{0} GB\"},\"narrow\":{\"other\":\"{0}GB\"},\"perUnit\":{}},\"gigabit\":{\"long\":{\"other\":\"{0} gigabits\",\"one\":\"{0} gigabit\"},\"short\":{\"other\":\"{0} Gb\"},\"narrow\":{\"other\":\"{0}Gb\"},\"perUnit\":{}},\"megabyte\":{\"long\":{\"other\":\"{0} megabytes\",\"one\":\"{0} megabyte\"},\"short\":{\"other\":\"{0} MB\"},\"narrow\":{\"other\":\"{0}MB\"},\"perUnit\":{}},\"megabit\":{\"long\":{\"other\":\"{0} megabits\",\"one\":\"{0} megabit\"},\"short\":{\"other\":\"{0} Mb\"},\"narrow\":{\"other\":\"{0}Mb\"},\"perUnit\":{}},\"kilobyte\":{\"long\":{\"other\":\"{0} kilobytes\",\"one\":\"{0} kilobyte\"},\"short\":{\"other\":\"{0} kB\"},\"narrow\":{\"other\":\"{0}kB\"},\"perUnit\":{}},\"kilobit\":{\"long\":{\"other\":\"{0} kilobits\",\"one\":\"{0} kilobit\"},\"short\":{\"other\":\"{0} kb\"},\"narrow\":{\"other\":\"{0}kb\"},\"perUnit\":{}},\"byte\":{\"long\":{\"other\":\"{0} bytes\",\"one\":\"{0} byte\"},\"short\":{\"other\":\"{0} byte\"},\"narrow\":{\"other\":\"{0}B\"},\"perUnit\":{}},\"bit\":{\"long\":{\"other\":\"{0} bits\",\"one\":\"{0} bit\"},\"short\":{\"other\":\"{0} bit\"},\"narrow\":{\"other\":\"{0}bit\"},\"perUnit\":{}},\"year\":{\"long\":{\"other\":\"{0} years\",\"one\":\"{0} year\"},\"short\":{\"other\":\"{0} yrs\",\"one\":\"{0} yr\"},\"narrow\":{\"other\":\"{0}y\"},\"perUnit\":{\"long\":\"{0} per year\",\"short\":\"{0}/y\",\"narrow\":\"{0}/y\"}},\"month\":{\"long\":{\"other\":\"{0} months\",\"one\":\"{0} month\"},\"short\":{\"other\":\"{0} mths\",\"one\":\"{0} mth\"},\"narrow\":{\"other\":\"{0}m\"},\"perUnit\":{\"long\":\"{0} per month\",\"short\":\"{0}/m\",\"narrow\":\"{0}/m\"}},\"week\":{\"long\":{\"other\":\"{0} weeks\",\"one\":\"{0} week\"},\"short\":{\"other\":\"{0} wks\",\"one\":\"{0} wk\"},\"narrow\":{\"other\":\"{0}w\"},\"perUnit\":{\"long\":\"{0} per week\",\"short\":\"{0}/w\",\"narrow\":\"{0}/w\"}},\"day\":{\"long\":{\"other\":\"{0} days\",\"one\":\"{0} day\"},\"short\":{\"other\":\"{0} days\",\"one\":\"{0} day\"},\"narrow\":{\"other\":\"{0}d\"},\"perUnit\":{\"long\":\"{0} per day\",\"short\":\"{0}/d\",\"narrow\":\"{0}/d\"}},\"hour\":{\"long\":{\"other\":\"{0} hours\",\"one\":\"{0} hour\"},\"short\":{\"other\":\"{0} hr\"},\"narrow\":{\"other\":\"{0}h\"},\"perUnit\":{\"long\":\"{0} per hour\",\"short\":\"{0}/h\",\"narrow\":\"{0}/h\"}},\"minute\":{\"long\":{\"other\":\"{0} minutes\",\"one\":\"{0} minute\"},\"short\":{\"other\":\"{0} min\"},\"narrow\":{\"other\":\"{0}m\"},\"perUnit\":{\"long\":\"{0} per minute\",\"short\":\"{0}/min\",\"narrow\":\"{0}/min\"}},\"second\":{\"long\":{\"other\":\"{0} seconds\",\"one\":\"{0} second\"},\"short\":{\"other\":\"{0} sec\"},\"narrow\":{\"other\":\"{0}s\"},\"perUnit\":{\"long\":\"{0} per second\",\"short\":\"{0}/s\",\"narrow\":\"{0}/s\"}},\"millisecond\":{\"long\":{\"other\":\"{0} milliseconds\",\"one\":\"{0} millisecond\"},\"short\":{\"other\":\"{0} ms\"},\"narrow\":{\"other\":\"{0}ms\"},\"perUnit\":{}},\"kilometer\":{\"long\":{\"other\":\"{0} kilometers\",\"one\":\"{0} kilometer\"},\"short\":{\"other\":\"{0} km\"},\"narrow\":{\"other\":\"{0}km\"},\"perUnit\":{\"long\":\"{0} per kilometer\",\"short\":\"{0}/km\",\"narrow\":\"{0}/km\"}},\"meter\":{\"long\":{\"other\":\"{0} meters\",\"one\":\"{0} meter\"},\"short\":{\"other\":\"{0} m\"},\"narrow\":{\"other\":\"{0}m\"},\"perUnit\":{\"long\":\"{0} per meter\",\"short\":\"{0}/m\",\"narrow\":\"{0}/m\"}},\"centimeter\":{\"long\":{\"other\":\"{0} centimeters\",\"one\":\"{0} centimeter\"},\"short\":{\"other\":\"{0} cm\"},\"narrow\":{\"other\":\"{0}cm\"},\"perUnit\":{\"long\":\"{0} per centimeter\",\"short\":\"{0}/cm\",\"narrow\":\"{0}/cm\"}},\"millimeter\":{\"long\":{\"other\":\"{0} millimeters\",\"one\":\"{0} millimeter\"},\"short\":{\"other\":\"{0} mm\"},\"narrow\":{\"other\":\"{0}mm\"},\"perUnit\":{}},\"mile\":{\"long\":{\"other\":\"{0} miles\",\"one\":\"{0} mile\"},\"short\":{\"other\":\"{0} mi\"},\"narrow\":{\"other\":\"{0}mi\"},\"perUnit\":{}},\"yard\":{\"long\":{\"other\":\"{0} yards\",\"one\":\"{0} yard\"},\"short\":{\"other\":\"{0} yd\"},\"narrow\":{\"other\":\"{0}yd\"},\"perUnit\":{}},\"foot\":{\"long\":{\"other\":\"{0} feet\",\"one\":\"{0} foot\"},\"short\":{\"other\":\"{0} ft\"},\"narrow\":{\"other\":\"{0}′\"},\"perUnit\":{\"long\":\"{0} per foot\",\"short\":\"{0}/ft\",\"narrow\":\"{0}/ft\"}},\"inch\":{\"long\":{\"other\":\"{0} inches\",\"one\":\"{0} inch\"},\"short\":{\"other\":\"{0} in\"},\"narrow\":{\"other\":\"{0}″\"},\"perUnit\":{\"long\":\"{0} per inch\",\"short\":\"{0}/in\",\"narrow\":\"{0}/in\"}},\"mile-scandinavian\":{\"long\":{\"other\":\"{0} miles-scandinavian\",\"one\":\"{0} mile-scandinavian\"},\"short\":{\"other\":\"{0} smi\"},\"narrow\":{\"other\":\"{0}smi\"},\"perUnit\":{}},\"kilogram\":{\"long\":{\"other\":\"{0} kilograms\",\"one\":\"{0} kilogram\"},\"short\":{\"other\":\"{0} kg\"},\"narrow\":{\"other\":\"{0}kg\"},\"perUnit\":{\"long\":\"{0} per kilogram\",\"short\":\"{0}/kg\",\"narrow\":\"{0}/kg\"}},\"gram\":{\"long\":{\"other\":\"{0} grams\",\"one\":\"{0} gram\"},\"short\":{\"other\":\"{0} g\"},\"narrow\":{\"other\":\"{0}g\"},\"perUnit\":{\"long\":\"{0} per gram\",\"short\":\"{0}/g\",\"narrow\":\"{0}/g\"}},\"stone\":{\"long\":{\"other\":\"{0} stones\",\"one\":\"{0} stone\"},\"short\":{\"other\":\"{0} st\"},\"narrow\":{\"other\":\"{0}st\"},\"perUnit\":{}},\"pound\":{\"long\":{\"other\":\"{0} pounds\",\"one\":\"{0} pound\"},\"short\":{\"other\":\"{0} lb\"},\"narrow\":{\"other\":\"{0}#\"},\"perUnit\":{\"long\":\"{0} per pound\",\"short\":\"{0}/lb\",\"narrow\":\"{0}/lb\"}},\"ounce\":{\"long\":{\"other\":\"{0} ounces\",\"one\":\"{0} ounce\"},\"short\":{\"other\":\"{0} oz\"},\"narrow\":{\"other\":\"{0}oz\"},\"perUnit\":{\"long\":\"{0} per ounce\",\"short\":\"{0}/oz\",\"narrow\":\"{0}/oz\"}},\"kilometer-per-hour\":{\"long\":{\"other\":\"{0} kilometers per hour\",\"one\":\"{0} kilometer per hour\"},\"short\":{\"other\":\"{0} km/h\"},\"narrow\":{\"other\":\"{0}km/h\"},\"perUnit\":{}},\"meter-per-second\":{\"long\":{\"other\":\"{0} meters per second\",\"one\":\"{0} meter per second\"},\"short\":{\"other\":\"{0} m/s\"},\"narrow\":{\"other\":\"{0}m/s\"},\"perUnit\":{}},\"mile-per-hour\":{\"long\":{\"other\":\"{0} miles per hour\",\"one\":\"{0} mile per hour\"},\"short\":{\"other\":\"{0} mph\"},\"narrow\":{\"other\":\"{0}mph\"},\"perUnit\":{}},\"celsius\":{\"long\":{\"other\":\"{0} degrees Celsius\",\"one\":\"{0} degree Celsius\"},\"short\":{\"other\":\"{0}°C\"},\"narrow\":{\"other\":\"{0}°C\"},\"perUnit\":{}},\"fahrenheit\":{\"long\":{\"other\":\"{0} degrees Fahrenheit\",\"one\":\"{0} degree Fahrenheit\"},\"short\":{\"other\":\"{0}°F\"},\"narrow\":{\"other\":\"{0}°\"},\"perUnit\":{}},\"liter\":{\"long\":{\"other\":\"{0} liters\",\"one\":\"{0} liter\"},\"short\":{\"other\":\"{0} L\"},\"narrow\":{\"other\":\"{0}L\"},\"perUnit\":{\"long\":\"{0} per liter\",\"short\":\"{0}/L\",\"narrow\":\"{0}/L\"}},\"milliliter\":{\"long\":{\"other\":\"{0} milliliters\",\"one\":\"{0} milliliter\"},\"short\":{\"other\":\"{0} mL\"},\"narrow\":{\"other\":\"{0}mL\"},\"perUnit\":{}},\"gallon\":{\"long\":{\"other\":\"{0} gallons\",\"one\":\"{0} gallon\"},\"short\":{\"other\":\"{0} gal\"},\"narrow\":{\"other\":\"{0}gal\"},\"perUnit\":{\"long\":\"{0} per gallon\",\"short\":\"{0}/gal US\",\"narrow\":\"{0}/gal\"}},\"fluid-ounce\":{\"long\":{\"other\":\"{0} fluid ounces\",\"one\":\"{0} fluid ounce\"},\"short\":{\"other\":\"{0} fl oz\"},\"narrow\":{\"other\":\"{0}fl oz\"},\"perUnit\":{}}},\"compound\":{\"per\":{\"long\":\"{0} per {1}\",\"short\":\"{0}/{1}\",\"narrow\":\"{0}/{1}\"}}},\"currencies\":{\"ADP\":{\"displayName\":{\"other\":\"Andorran pesetas\",\"one\":\"Andorran peseta\"},\"symbol\":\"ADP\",\"narrow\":\"ADP\"},\"AED\":{\"displayName\":{\"other\":\"UAE dirhams\",\"one\":\"UAE dirham\"},\"symbol\":\"AED\",\"narrow\":\"AED\"},\"AFA\":{\"displayName\":{\"other\":\"Afghan afghanis (1927–2002)\",\"one\":\"Afghan afghani (1927–2002)\"},\"symbol\":\"AFA\",\"narrow\":\"AFA\"},\"AFN\":{\"displayName\":{\"other\":\"Afghan Afghanis\",\"one\":\"Afghan Afghani\"},\"symbol\":\"AFN\",\"narrow\":\"؋\"},\"ALK\":{\"displayName\":{\"other\":\"Albanian lekë (1946–1965)\",\"one\":\"Albanian lek (1946–1965)\"},\"symbol\":\"ALK\",\"narrow\":\"ALK\"},\"ALL\":{\"displayName\":{\"other\":\"Albanian lekë\",\"one\":\"Albanian lek\"},\"symbol\":\"ALL\",\"narrow\":\"ALL\"},\"AMD\":{\"displayName\":{\"other\":\"Armenian drams\",\"one\":\"Armenian dram\"},\"symbol\":\"AMD\",\"narrow\":\"֏\"},\"ANG\":{\"displayName\":{\"other\":\"Netherlands Antillean guilders\",\"one\":\"Netherlands Antillean guilder\"},\"symbol\":\"ANG\",\"narrow\":\"ANG\"},\"AOA\":{\"displayName\":{\"other\":\"Angolan kwanzas\",\"one\":\"Angolan kwanza\"},\"symbol\":\"AOA\",\"narrow\":\"Kz\"},\"AOK\":{\"displayName\":{\"other\":\"Angolan kwanzas (1977–1991)\",\"one\":\"Angolan kwanza (1977–1991)\"},\"symbol\":\"AOK\",\"narrow\":\"AOK\"},\"AON\":{\"displayName\":{\"other\":\"Angolan new kwanzas (1990–2000)\",\"one\":\"Angolan new kwanza (1990–2000)\"},\"symbol\":\"AON\",\"narrow\":\"AON\"},\"AOR\":{\"displayName\":{\"other\":\"Angolan readjusted kwanzas (1995–1999)\",\"one\":\"Angolan readjusted kwanza (1995–1999)\"},\"symbol\":\"AOR\",\"narrow\":\"AOR\"},\"ARA\":{\"displayName\":{\"other\":\"Argentine australs\",\"one\":\"Argentine austral\"},\"symbol\":\"ARA\",\"narrow\":\"ARA\"},\"ARL\":{\"displayName\":{\"other\":\"Argentine pesos ley (1970–1983)\",\"one\":\"Argentine peso ley (1970–1983)\"},\"symbol\":\"ARL\",\"narrow\":\"ARL\"},\"ARM\":{\"displayName\":{\"other\":\"Argentine pesos (1881–1970)\",\"one\":\"Argentine peso (1881–1970)\"},\"symbol\":\"ARM\",\"narrow\":\"ARM\"},\"ARP\":{\"displayName\":{\"other\":\"Argentine pesos (1983–1985)\",\"one\":\"Argentine peso (1983–1985)\"},\"symbol\":\"ARP\",\"narrow\":\"ARP\"},\"ARS\":{\"displayName\":{\"other\":\"Argentine pesos\",\"one\":\"Argentine peso\"},\"symbol\":\"ARS\",\"narrow\":\"$\"},\"ATS\":{\"displayName\":{\"other\":\"Austrian schillings\",\"one\":\"Austrian schilling\"},\"symbol\":\"ATS\",\"narrow\":\"ATS\"},\"AUD\":{\"displayName\":{\"other\":\"Australian dollars\",\"one\":\"Australian dollar\"},\"symbol\":\"A$\",\"narrow\":\"$\"},\"AWG\":{\"displayName\":{\"other\":\"Aruban florin\"},\"symbol\":\"AWG\",\"narrow\":\"AWG\"},\"AZM\":{\"displayName\":{\"other\":\"Azerbaijani manats (1993–2006)\",\"one\":\"Azerbaijani manat (1993–2006)\"},\"symbol\":\"AZM\",\"narrow\":\"AZM\"},\"AZN\":{\"displayName\":{\"other\":\"Azerbaijani manats\",\"one\":\"Azerbaijani manat\"},\"symbol\":\"AZN\",\"narrow\":\"₼\"},\"BAD\":{\"displayName\":{\"other\":\"Bosnia-Herzegovina dinars (1992–1994)\",\"one\":\"Bosnia-Herzegovina dinar (1992–1994)\"},\"symbol\":\"BAD\",\"narrow\":\"BAD\"},\"BAM\":{\"displayName\":{\"other\":\"Bosnia-Herzegovina convertible marks\",\"one\":\"Bosnia-Herzegovina convertible mark\"},\"symbol\":\"BAM\",\"narrow\":\"KM\"},\"BAN\":{\"displayName\":{\"other\":\"Bosnia-Herzegovina new dinars (1994–1997)\",\"one\":\"Bosnia-Herzegovina new dinar (1994–1997)\"},\"symbol\":\"BAN\",\"narrow\":\"BAN\"},\"BBD\":{\"displayName\":{\"other\":\"Barbadian dollars\",\"one\":\"Barbadian dollar\"},\"symbol\":\"BBD\",\"narrow\":\"$\"},\"BDT\":{\"displayName\":{\"other\":\"Bangladeshi takas\",\"one\":\"Bangladeshi taka\"},\"symbol\":\"BDT\",\"narrow\":\"৳\"},\"BEC\":{\"displayName\":{\"other\":\"Belgian francs (convertible)\",\"one\":\"Belgian franc (convertible)\"},\"symbol\":\"BEC\",\"narrow\":\"BEC\"},\"BEF\":{\"displayName\":{\"other\":\"Belgian francs\",\"one\":\"Belgian franc\"},\"symbol\":\"BEF\",\"narrow\":\"BEF\"},\"BEL\":{\"displayName\":{\"other\":\"Belgian francs (financial)\",\"one\":\"Belgian franc (financial)\"},\"symbol\":\"BEL\",\"narrow\":\"BEL\"},\"BGL\":{\"displayName\":{\"other\":\"Bulgarian hard leva\",\"one\":\"Bulgarian hard lev\"},\"symbol\":\"BGL\",\"narrow\":\"BGL\"},\"BGM\":{\"displayName\":{\"other\":\"Bulgarian socialist leva\",\"one\":\"Bulgarian socialist lev\"},\"symbol\":\"BGM\",\"narrow\":\"BGM\"},\"BGN\":{\"displayName\":{\"other\":\"Bulgarian leva\",\"one\":\"Bulgarian lev\"},\"symbol\":\"BGN\",\"narrow\":\"BGN\"},\"BGO\":{\"displayName\":{\"other\":\"Bulgarian leva (1879–1952)\",\"one\":\"Bulgarian lev (1879–1952)\"},\"symbol\":\"BGO\",\"narrow\":\"BGO\"},\"BHD\":{\"displayName\":{\"other\":\"Bahraini dinars\",\"one\":\"Bahraini dinar\"},\"symbol\":\"BHD\",\"narrow\":\"BHD\"},\"BIF\":{\"displayName\":{\"other\":\"Burundian francs\",\"one\":\"Burundian franc\"},\"symbol\":\"BIF\",\"narrow\":\"BIF\"},\"BMD\":{\"displayName\":{\"other\":\"Bermudan dollars\",\"one\":\"Bermudan dollar\"},\"symbol\":\"BMD\",\"narrow\":\"$\"},\"BND\":{\"displayName\":{\"other\":\"Brunei dollars\",\"one\":\"Brunei dollar\"},\"symbol\":\"BND\",\"narrow\":\"$\"},\"BOB\":{\"displayName\":{\"other\":\"Bolivian bolivianos\",\"one\":\"Bolivian boliviano\"},\"symbol\":\"BOB\",\"narrow\":\"Bs\"},\"BOL\":{\"displayName\":{\"other\":\"Bolivian bolivianos (1863–1963)\",\"one\":\"Bolivian boliviano (1863–1963)\"},\"symbol\":\"BOL\",\"narrow\":\"BOL\"},\"BOP\":{\"displayName\":{\"other\":\"Bolivian pesos\",\"one\":\"Bolivian peso\"},\"symbol\":\"BOP\",\"narrow\":\"BOP\"},\"BOV\":{\"displayName\":{\"other\":\"Bolivian mvdols\",\"one\":\"Bolivian mvdol\"},\"symbol\":\"BOV\",\"narrow\":\"BOV\"},\"BRB\":{\"displayName\":{\"other\":\"Brazilian new cruzeiros (1967–1986)\",\"one\":\"Brazilian new cruzeiro (1967–1986)\"},\"symbol\":\"BRB\",\"narrow\":\"BRB\"},\"BRC\":{\"displayName\":{\"other\":\"Brazilian cruzados (1986–1989)\",\"one\":\"Brazilian cruzado (1986–1989)\"},\"symbol\":\"BRC\",\"narrow\":\"BRC\"},\"BRE\":{\"displayName\":{\"other\":\"Brazilian cruzeiros (1990–1993)\",\"one\":\"Brazilian cruzeiro (1990–1993)\"},\"symbol\":\"BRE\",\"narrow\":\"BRE\"},\"BRL\":{\"displayName\":{\"other\":\"Brazilian reals\",\"one\":\"Brazilian real\"},\"symbol\":\"R$\",\"narrow\":\"R$\"},\"BRN\":{\"displayName\":{\"other\":\"Brazilian new cruzados (1989–1990)\",\"one\":\"Brazilian new cruzado (1989–1990)\"},\"symbol\":\"BRN\",\"narrow\":\"BRN\"},\"BRR\":{\"displayName\":{\"other\":\"Brazilian cruzeiros (1993–1994)\",\"one\":\"Brazilian cruzeiro (1993–1994)\"},\"symbol\":\"BRR\",\"narrow\":\"BRR\"},\"BRZ\":{\"displayName\":{\"other\":\"Brazilian cruzeiros (1942–1967)\",\"one\":\"Brazilian cruzeiro (1942–1967)\"},\"symbol\":\"BRZ\",\"narrow\":\"BRZ\"},\"BSD\":{\"displayName\":{\"other\":\"Bahamian dollars\",\"one\":\"Bahamian dollar\"},\"symbol\":\"BSD\",\"narrow\":\"$\"},\"BTN\":{\"displayName\":{\"other\":\"Bhutanese ngultrums\",\"one\":\"Bhutanese ngultrum\"},\"symbol\":\"BTN\",\"narrow\":\"BTN\"},\"BUK\":{\"displayName\":{\"other\":\"Burmese kyats\",\"one\":\"Burmese kyat\"},\"symbol\":\"BUK\",\"narrow\":\"BUK\"},\"BWP\":{\"displayName\":{\"other\":\"Botswanan pulas\",\"one\":\"Botswanan pula\"},\"symbol\":\"BWP\",\"narrow\":\"P\"},\"BYB\":{\"displayName\":{\"other\":\"Belarusian rubles (1994–1999)\",\"one\":\"Belarusian ruble (1994–1999)\"},\"symbol\":\"BYB\",\"narrow\":\"BYB\"},\"BYN\":{\"displayName\":{\"other\":\"Belarusian rubles\",\"one\":\"Belarusian ruble\"},\"symbol\":\"BYN\",\"narrow\":\"BYN\"},\"BYR\":{\"displayName\":{\"other\":\"Belarusian rubles (2000–2016)\",\"one\":\"Belarusian ruble (2000–2016)\"},\"symbol\":\"BYR\",\"narrow\":\"BYR\"},\"BZD\":{\"displayName\":{\"other\":\"Belize dollars\",\"one\":\"Belize dollar\"},\"symbol\":\"BZD\",\"narrow\":\"$\"},\"CAD\":{\"displayName\":{\"other\":\"Canadian dollars\",\"one\":\"Canadian dollar\"},\"symbol\":\"CA$\",\"narrow\":\"$\"},\"CDF\":{\"displayName\":{\"other\":\"Congolese francs\",\"one\":\"Congolese franc\"},\"symbol\":\"CDF\",\"narrow\":\"CDF\"},\"CHE\":{\"displayName\":{\"other\":\"WIR euros\",\"one\":\"WIR euro\"},\"symbol\":\"CHE\",\"narrow\":\"CHE\"},\"CHF\":{\"displayName\":{\"other\":\"Swiss francs\",\"one\":\"Swiss franc\"},\"symbol\":\"CHF\",\"narrow\":\"CHF\"},\"CHW\":{\"displayName\":{\"other\":\"WIR francs\",\"one\":\"WIR franc\"},\"symbol\":\"CHW\",\"narrow\":\"CHW\"},\"CLE\":{\"displayName\":{\"other\":\"Chilean escudos\",\"one\":\"Chilean escudo\"},\"symbol\":\"CLE\",\"narrow\":\"CLE\"},\"CLF\":{\"displayName\":{\"other\":\"Chilean units of account (UF)\",\"one\":\"Chilean unit of account (UF)\"},\"symbol\":\"CLF\",\"narrow\":\"CLF\"},\"CLP\":{\"displayName\":{\"other\":\"Chilean pesos\",\"one\":\"Chilean peso\"},\"symbol\":\"CLP\",\"narrow\":\"$\"},\"CNH\":{\"displayName\":{\"other\":\"Chinese yuan (offshore)\"},\"symbol\":\"CNH\",\"narrow\":\"CNH\"},\"CNX\":{\"displayName\":{\"other\":\"Chinese People’s Bank dollars\",\"one\":\"Chinese People’s Bank dollar\"},\"symbol\":\"CNX\",\"narrow\":\"CNX\"},\"CNY\":{\"displayName\":{\"other\":\"Chinese yuan\"},\"symbol\":\"CN¥\",\"narrow\":\"¥\"},\"COP\":{\"displayName\":{\"other\":\"Colombian pesos\",\"one\":\"Colombian peso\"},\"symbol\":\"COP\",\"narrow\":\"$\"},\"COU\":{\"displayName\":{\"other\":\"Colombian real value units\",\"one\":\"Colombian real value unit\"},\"symbol\":\"COU\",\"narrow\":\"COU\"},\"CRC\":{\"displayName\":{\"other\":\"Costa Rican colóns\",\"one\":\"Costa Rican colón\"},\"symbol\":\"CRC\",\"narrow\":\"₡\"},\"CSD\":{\"displayName\":{\"other\":\"Serbian dinars (2002–2006)\",\"one\":\"Serbian dinar (2002–2006)\"},\"symbol\":\"CSD\",\"narrow\":\"CSD\"},\"CSK\":{\"displayName\":{\"other\":\"Czechoslovak hard korunas\",\"one\":\"Czechoslovak hard koruna\"},\"symbol\":\"CSK\",\"narrow\":\"CSK\"},\"CUC\":{\"displayName\":{\"other\":\"Cuban convertible pesos\",\"one\":\"Cuban convertible peso\"},\"symbol\":\"CUC\",\"narrow\":\"$\"},\"CUP\":{\"displayName\":{\"other\":\"Cuban pesos\",\"one\":\"Cuban peso\"},\"symbol\":\"CUP\",\"narrow\":\"$\"},\"CVE\":{\"displayName\":{\"other\":\"Cape Verdean escudos\",\"one\":\"Cape Verdean escudo\"},\"symbol\":\"CVE\",\"narrow\":\"CVE\"},\"CYP\":{\"displayName\":{\"other\":\"Cypriot pounds\",\"one\":\"Cypriot pound\"},\"symbol\":\"CYP\",\"narrow\":\"CYP\"},\"CZK\":{\"displayName\":{\"other\":\"Czech korunas\",\"one\":\"Czech koruna\"},\"symbol\":\"CZK\",\"narrow\":\"Kč\"},\"DDM\":{\"displayName\":{\"other\":\"East German marks\",\"one\":\"East German mark\"},\"symbol\":\"DDM\",\"narrow\":\"DDM\"},\"DEM\":{\"displayName\":{\"other\":\"German marks\",\"one\":\"German mark\"},\"symbol\":\"DEM\",\"narrow\":\"DEM\"},\"DJF\":{\"displayName\":{\"other\":\"Djiboutian francs\",\"one\":\"Djiboutian franc\"},\"symbol\":\"DJF\",\"narrow\":\"DJF\"},\"DKK\":{\"displayName\":{\"other\":\"Danish kroner\",\"one\":\"Danish krone\"},\"symbol\":\"DKK\",\"narrow\":\"kr\"},\"DOP\":{\"displayName\":{\"other\":\"Dominican pesos\",\"one\":\"Dominican peso\"},\"symbol\":\"DOP\",\"narrow\":\"$\"},\"DZD\":{\"displayName\":{\"other\":\"Algerian dinars\",\"one\":\"Algerian dinar\"},\"symbol\":\"DZD\",\"narrow\":\"DZD\"},\"ECS\":{\"displayName\":{\"other\":\"Ecuadorian sucres\",\"one\":\"Ecuadorian sucre\"},\"symbol\":\"ECS\",\"narrow\":\"ECS\"},\"ECV\":{\"displayName\":{\"other\":\"Ecuadorian units of constant value\",\"one\":\"Ecuadorian unit of constant value\"},\"symbol\":\"ECV\",\"narrow\":\"ECV\"},\"EEK\":{\"displayName\":{\"other\":\"Estonian kroons\",\"one\":\"Estonian kroon\"},\"symbol\":\"EEK\",\"narrow\":\"EEK\"},\"EGP\":{\"displayName\":{\"other\":\"Egyptian pounds\",\"one\":\"Egyptian pound\"},\"symbol\":\"EGP\",\"narrow\":\"E£\"},\"ERN\":{\"displayName\":{\"other\":\"Eritrean nakfas\",\"one\":\"Eritrean nakfa\"},\"symbol\":\"ERN\",\"narrow\":\"ERN\"},\"ESA\":{\"displayName\":{\"other\":\"Spanish pesetas (A account)\",\"one\":\"Spanish peseta (A account)\"},\"symbol\":\"ESA\",\"narrow\":\"ESA\"},\"ESB\":{\"displayName\":{\"other\":\"Spanish pesetas (convertible account)\",\"one\":\"Spanish peseta (convertible account)\"},\"symbol\":\"ESB\",\"narrow\":\"ESB\"},\"ESP\":{\"displayName\":{\"other\":\"Spanish pesetas\",\"one\":\"Spanish peseta\"},\"symbol\":\"ESP\",\"narrow\":\"₧\"},\"ETB\":{\"displayName\":{\"other\":\"Ethiopian birrs\",\"one\":\"Ethiopian birr\"},\"symbol\":\"ETB\",\"narrow\":\"ETB\"},\"EUR\":{\"displayName\":{\"other\":\"euros\",\"one\":\"euro\"},\"symbol\":\"€\",\"narrow\":\"€\"},\"FIM\":{\"displayName\":{\"other\":\"Finnish markkas\",\"one\":\"Finnish markka\"},\"symbol\":\"FIM\",\"narrow\":\"FIM\"},\"FJD\":{\"displayName\":{\"other\":\"Fijian dollars\",\"one\":\"Fijian dollar\"},\"symbol\":\"FJD\",\"narrow\":\"$\"},\"FKP\":{\"displayName\":{\"other\":\"Falkland Islands pounds\",\"one\":\"Falkland Islands pound\"},\"symbol\":\"FKP\",\"narrow\":\"£\"},\"FRF\":{\"displayName\":{\"other\":\"French francs\",\"one\":\"French franc\"},\"symbol\":\"FRF\",\"narrow\":\"FRF\"},\"GBP\":{\"displayName\":{\"other\":\"British pounds\",\"one\":\"British pound\"},\"symbol\":\"£\",\"narrow\":\"£\"},\"GEK\":{\"displayName\":{\"other\":\"Georgian kupon larits\",\"one\":\"Georgian kupon larit\"},\"symbol\":\"GEK\",\"narrow\":\"GEK\"},\"GEL\":{\"displayName\":{\"other\":\"Georgian laris\",\"one\":\"Georgian lari\"},\"symbol\":\"GEL\",\"narrow\":\"₾\"},\"GHC\":{\"displayName\":{\"other\":\"Ghanaian cedis (1979–2007)\",\"one\":\"Ghanaian cedi (1979–2007)\"},\"symbol\":\"GHC\",\"narrow\":\"GHC\"},\"GHS\":{\"displayName\":{\"other\":\"Ghanaian cedis\",\"one\":\"Ghanaian cedi\"},\"symbol\":\"GHS\",\"narrow\":\"GH₵\"},\"GIP\":{\"displayName\":{\"other\":\"Gibraltar pounds\",\"one\":\"Gibraltar pound\"},\"symbol\":\"GIP\",\"narrow\":\"£\"},\"GMD\":{\"displayName\":{\"other\":\"Gambian dalasis\",\"one\":\"Gambian dalasi\"},\"symbol\":\"GMD\",\"narrow\":\"GMD\"},\"GNF\":{\"displayName\":{\"other\":\"Guinean francs\",\"one\":\"Guinean franc\"},\"symbol\":\"GNF\",\"narrow\":\"FG\"},\"GNS\":{\"displayName\":{\"other\":\"Guinean sylis\",\"one\":\"Guinean syli\"},\"symbol\":\"GNS\",\"narrow\":\"GNS\"},\"GQE\":{\"displayName\":{\"other\":\"Equatorial Guinean ekwele\"},\"symbol\":\"GQE\",\"narrow\":\"GQE\"},\"GRD\":{\"displayName\":{\"other\":\"Greek drachmas\",\"one\":\"Greek drachma\"},\"symbol\":\"GRD\",\"narrow\":\"GRD\"},\"GTQ\":{\"displayName\":{\"other\":\"Guatemalan quetzals\",\"one\":\"Guatemalan quetzal\"},\"symbol\":\"GTQ\",\"narrow\":\"Q\"},\"GWE\":{\"displayName\":{\"other\":\"Portuguese Guinea escudos\",\"one\":\"Portuguese Guinea escudo\"},\"symbol\":\"GWE\",\"narrow\":\"GWE\"},\"GWP\":{\"displayName\":{\"other\":\"Guinea-Bissau pesos\",\"one\":\"Guinea-Bissau peso\"},\"symbol\":\"GWP\",\"narrow\":\"GWP\"},\"GYD\":{\"displayName\":{\"other\":\"Guyanaese dollars\",\"one\":\"Guyanaese dollar\"},\"symbol\":\"GYD\",\"narrow\":\"$\"},\"HKD\":{\"displayName\":{\"other\":\"Hong Kong dollars\",\"one\":\"Hong Kong dollar\"},\"symbol\":\"HK$\",\"narrow\":\"$\"},\"HNL\":{\"displayName\":{\"other\":\"Honduran lempiras\",\"one\":\"Honduran lempira\"},\"symbol\":\"HNL\",\"narrow\":\"L\"},\"HRD\":{\"displayName\":{\"other\":\"Croatian dinars\",\"one\":\"Croatian dinar\"},\"symbol\":\"HRD\",\"narrow\":\"HRD\"},\"HRK\":{\"displayName\":{\"other\":\"Croatian kunas\",\"one\":\"Croatian kuna\"},\"symbol\":\"HRK\",\"narrow\":\"kn\"},\"HTG\":{\"displayName\":{\"other\":\"Haitian gourdes\",\"one\":\"Haitian gourde\"},\"symbol\":\"HTG\",\"narrow\":\"HTG\"},\"HUF\":{\"displayName\":{\"other\":\"Hungarian forints\",\"one\":\"Hungarian forint\"},\"symbol\":\"HUF\",\"narrow\":\"Ft\"},\"IDR\":{\"displayName\":{\"other\":\"Indonesian rupiahs\",\"one\":\"Indonesian rupiah\"},\"symbol\":\"IDR\",\"narrow\":\"Rp\"},\"IEP\":{\"displayName\":{\"other\":\"Irish pounds\",\"one\":\"Irish pound\"},\"symbol\":\"IEP\",\"narrow\":\"IEP\"},\"ILP\":{\"displayName\":{\"other\":\"Israeli pounds\",\"one\":\"Israeli pound\"},\"symbol\":\"ILP\",\"narrow\":\"ILP\"},\"ILR\":{\"displayName\":{\"other\":\"Israeli shekels (1980–1985)\",\"one\":\"Israeli shekel (1980–1985)\"},\"symbol\":\"ILR\",\"narrow\":\"ILR\"},\"ILS\":{\"displayName\":{\"other\":\"Israeli new shekels\",\"one\":\"Israeli new shekel\"},\"symbol\":\"₪\",\"narrow\":\"₪\"},\"INR\":{\"displayName\":{\"other\":\"Indian rupees\",\"one\":\"Indian rupee\"},\"symbol\":\"₹\",\"narrow\":\"₹\"},\"IQD\":{\"displayName\":{\"other\":\"Iraqi dinars\",\"one\":\"Iraqi dinar\"},\"symbol\":\"IQD\",\"narrow\":\"IQD\"},\"IRR\":{\"displayName\":{\"other\":\"Iranian rials\",\"one\":\"Iranian rial\"},\"symbol\":\"IRR\",\"narrow\":\"IRR\"},\"ISJ\":{\"displayName\":{\"other\":\"Icelandic krónur (1918–1981)\",\"one\":\"Icelandic króna (1918–1981)\"},\"symbol\":\"ISJ\",\"narrow\":\"ISJ\"},\"ISK\":{\"displayName\":{\"other\":\"Icelandic krónur\",\"one\":\"Icelandic króna\"},\"symbol\":\"ISK\",\"narrow\":\"kr\"},\"ITL\":{\"displayName\":{\"other\":\"Italian liras\",\"one\":\"Italian lira\"},\"symbol\":\"ITL\",\"narrow\":\"ITL\"},\"JMD\":{\"displayName\":{\"other\":\"Jamaican dollars\",\"one\":\"Jamaican dollar\"},\"symbol\":\"JMD\",\"narrow\":\"$\"},\"JOD\":{\"displayName\":{\"other\":\"Jordanian dinars\",\"one\":\"Jordanian dinar\"},\"symbol\":\"JOD\",\"narrow\":\"JOD\"},\"JPY\":{\"displayName\":{\"other\":\"Japanese yen\"},\"symbol\":\"¥\",\"narrow\":\"¥\"},\"KES\":{\"displayName\":{\"other\":\"Kenyan shillings\",\"one\":\"Kenyan shilling\"},\"symbol\":\"KES\",\"narrow\":\"KES\"},\"KGS\":{\"displayName\":{\"other\":\"Kyrgystani soms\",\"one\":\"Kyrgystani som\"},\"symbol\":\"KGS\",\"narrow\":\"KGS\"},\"KHR\":{\"displayName\":{\"other\":\"Cambodian riels\",\"one\":\"Cambodian riel\"},\"symbol\":\"KHR\",\"narrow\":\"៛\"},\"KMF\":{\"displayName\":{\"other\":\"Comorian francs\",\"one\":\"Comorian franc\"},\"symbol\":\"KMF\",\"narrow\":\"CF\"},\"KPW\":{\"displayName\":{\"other\":\"North Korean won\"},\"symbol\":\"KPW\",\"narrow\":\"₩\"},\"KRH\":{\"displayName\":{\"other\":\"South Korean hwan (1953–1962)\"},\"symbol\":\"KRH\",\"narrow\":\"KRH\"},\"KRO\":{\"displayName\":{\"other\":\"South Korean won (1945–1953)\"},\"symbol\":\"KRO\",\"narrow\":\"KRO\"},\"KRW\":{\"displayName\":{\"other\":\"South Korean won\"},\"symbol\":\"₩\",\"narrow\":\"₩\"},\"KWD\":{\"displayName\":{\"other\":\"Kuwaiti dinars\",\"one\":\"Kuwaiti dinar\"},\"symbol\":\"KWD\",\"narrow\":\"KWD\"},\"KYD\":{\"displayName\":{\"other\":\"Cayman Islands dollars\",\"one\":\"Cayman Islands dollar\"},\"symbol\":\"KYD\",\"narrow\":\"$\"},\"KZT\":{\"displayName\":{\"other\":\"Kazakhstani tenges\",\"one\":\"Kazakhstani tenge\"},\"symbol\":\"KZT\",\"narrow\":\"₸\"},\"LAK\":{\"displayName\":{\"other\":\"Laotian kips\",\"one\":\"Laotian kip\"},\"symbol\":\"LAK\",\"narrow\":\"₭\"},\"LBP\":{\"displayName\":{\"other\":\"Lebanese pounds\",\"one\":\"Lebanese pound\"},\"symbol\":\"LBP\",\"narrow\":\"L£\"},\"LKR\":{\"displayName\":{\"other\":\"Sri Lankan rupees\",\"one\":\"Sri Lankan rupee\"},\"symbol\":\"LKR\",\"narrow\":\"Rs\"},\"LRD\":{\"displayName\":{\"other\":\"Liberian dollars\",\"one\":\"Liberian dollar\"},\"symbol\":\"LRD\",\"narrow\":\"$\"},\"LSL\":{\"displayName\":{\"other\":\"Lesotho lotis\",\"one\":\"Lesotho loti\"},\"symbol\":\"LSL\",\"narrow\":\"LSL\"},\"LTL\":{\"displayName\":{\"other\":\"Lithuanian litai\",\"one\":\"Lithuanian litas\"},\"symbol\":\"LTL\",\"narrow\":\"Lt\"},\"LTT\":{\"displayName\":{\"other\":\"Lithuanian talonases\",\"one\":\"Lithuanian talonas\"},\"symbol\":\"LTT\",\"narrow\":\"LTT\"},\"LUC\":{\"displayName\":{\"other\":\"Luxembourgian convertible francs\",\"one\":\"Luxembourgian convertible franc\"},\"symbol\":\"LUC\",\"narrow\":\"LUC\"},\"LUF\":{\"displayName\":{\"other\":\"Luxembourgian francs\",\"one\":\"Luxembourgian franc\"},\"symbol\":\"LUF\",\"narrow\":\"LUF\"},\"LUL\":{\"displayName\":{\"other\":\"Luxembourg financial francs\",\"one\":\"Luxembourg financial franc\"},\"symbol\":\"LUL\",\"narrow\":\"LUL\"},\"LVL\":{\"displayName\":{\"other\":\"Latvian lati\",\"one\":\"Latvian lats\"},\"symbol\":\"LVL\",\"narrow\":\"Ls\"},\"LVR\":{\"displayName\":{\"other\":\"Latvian rubles\",\"one\":\"Latvian ruble\"},\"symbol\":\"LVR\",\"narrow\":\"LVR\"},\"LYD\":{\"displayName\":{\"other\":\"Libyan dinars\",\"one\":\"Libyan dinar\"},\"symbol\":\"LYD\",\"narrow\":\"LYD\"},\"MAD\":{\"displayName\":{\"other\":\"Moroccan dirhams\",\"one\":\"Moroccan dirham\"},\"symbol\":\"MAD\",\"narrow\":\"MAD\"},\"MAF\":{\"displayName\":{\"other\":\"Moroccan francs\",\"one\":\"Moroccan franc\"},\"symbol\":\"MAF\",\"narrow\":\"MAF\"},\"MCF\":{\"displayName\":{\"other\":\"Monegasque francs\",\"one\":\"Monegasque franc\"},\"symbol\":\"MCF\",\"narrow\":\"MCF\"},\"MDC\":{\"displayName\":{\"other\":\"Moldovan cupon\"},\"symbol\":\"MDC\",\"narrow\":\"MDC\"},\"MDL\":{\"displayName\":{\"other\":\"Moldovan lei\",\"one\":\"Moldovan leu\"},\"symbol\":\"MDL\",\"narrow\":\"MDL\"},\"MGA\":{\"displayName\":{\"other\":\"Malagasy ariaries\",\"one\":\"Malagasy ariary\"},\"symbol\":\"MGA\",\"narrow\":\"Ar\"},\"MGF\":{\"displayName\":{\"other\":\"Malagasy francs\",\"one\":\"Malagasy franc\"},\"symbol\":\"MGF\",\"narrow\":\"MGF\"},\"MKD\":{\"displayName\":{\"other\":\"Macedonian denari\",\"one\":\"Macedonian denar\"},\"symbol\":\"MKD\",\"narrow\":\"MKD\"},\"MKN\":{\"displayName\":{\"other\":\"Macedonian denari (1992–1993)\",\"one\":\"Macedonian denar (1992–1993)\"},\"symbol\":\"MKN\",\"narrow\":\"MKN\"},\"MLF\":{\"displayName\":{\"other\":\"Malian francs\",\"one\":\"Malian franc\"},\"symbol\":\"MLF\",\"narrow\":\"MLF\"},\"MMK\":{\"displayName\":{\"other\":\"Myanmar kyats\",\"one\":\"Myanmar kyat\"},\"symbol\":\"MMK\",\"narrow\":\"K\"},\"MNT\":{\"displayName\":{\"other\":\"Mongolian tugriks\",\"one\":\"Mongolian tugrik\"},\"symbol\":\"MNT\",\"narrow\":\"₮\"},\"MOP\":{\"displayName\":{\"other\":\"Macanese patacas\",\"one\":\"Macanese pataca\"},\"symbol\":\"MOP\",\"narrow\":\"MOP\"},\"MRO\":{\"displayName\":{\"other\":\"Mauritanian ouguiyas (1973–2017)\",\"one\":\"Mauritanian ouguiya (1973–2017)\"},\"symbol\":\"MRO\",\"narrow\":\"MRO\"},\"MRU\":{\"displayName\":{\"other\":\"Mauritanian ouguiyas\",\"one\":\"Mauritanian ouguiya\"},\"symbol\":\"MRU\",\"narrow\":\"MRU\"},\"MTL\":{\"displayName\":{\"other\":\"Maltese lira\"},\"symbol\":\"MTL\",\"narrow\":\"MTL\"},\"MTP\":{\"displayName\":{\"other\":\"Maltese pounds\",\"one\":\"Maltese pound\"},\"symbol\":\"MTP\",\"narrow\":\"MTP\"},\"MUR\":{\"displayName\":{\"other\":\"Mauritian rupees\",\"one\":\"Mauritian rupee\"},\"symbol\":\"MUR\",\"narrow\":\"Rs\"},\"MVP\":{\"displayName\":{\"other\":\"Maldivian rupees (1947–1981)\",\"one\":\"Maldivian rupee (1947–1981)\"},\"symbol\":\"MVP\",\"narrow\":\"MVP\"},\"MVR\":{\"displayName\":{\"other\":\"Maldivian rufiyaas\",\"one\":\"Maldivian rufiyaa\"},\"symbol\":\"MVR\",\"narrow\":\"MVR\"},\"MWK\":{\"displayName\":{\"other\":\"Malawian kwachas\",\"one\":\"Malawian kwacha\"},\"symbol\":\"MWK\",\"narrow\":\"MWK\"},\"MXN\":{\"displayName\":{\"other\":\"Mexican pesos\",\"one\":\"Mexican peso\"},\"symbol\":\"MX$\",\"narrow\":\"$\"},\"MXP\":{\"displayName\":{\"other\":\"Mexican silver pesos (1861–1992)\",\"one\":\"Mexican silver peso (1861–1992)\"},\"symbol\":\"MXP\",\"narrow\":\"MXP\"},\"MXV\":{\"displayName\":{\"other\":\"Mexican investment units\",\"one\":\"Mexican investment unit\"},\"symbol\":\"MXV\",\"narrow\":\"MXV\"},\"MYR\":{\"displayName\":{\"other\":\"Malaysian ringgits\",\"one\":\"Malaysian ringgit\"},\"symbol\":\"MYR\",\"narrow\":\"RM\"},\"MZE\":{\"displayName\":{\"other\":\"Mozambican escudos\",\"one\":\"Mozambican escudo\"},\"symbol\":\"MZE\",\"narrow\":\"MZE\"},\"MZM\":{\"displayName\":{\"other\":\"Mozambican meticals (1980–2006)\",\"one\":\"Mozambican metical (1980–2006)\"},\"symbol\":\"MZM\",\"narrow\":\"MZM\"},\"MZN\":{\"displayName\":{\"other\":\"Mozambican meticals\",\"one\":\"Mozambican metical\"},\"symbol\":\"MZN\",\"narrow\":\"MZN\"},\"NAD\":{\"displayName\":{\"other\":\"Namibian dollars\",\"one\":\"Namibian dollar\"},\"symbol\":\"NAD\",\"narrow\":\"$\"},\"NGN\":{\"displayName\":{\"other\":\"Nigerian nairas\",\"one\":\"Nigerian naira\"},\"symbol\":\"NGN\",\"narrow\":\"₦\"},\"NIC\":{\"displayName\":{\"other\":\"Nicaraguan córdobas (1988–1991)\",\"one\":\"Nicaraguan córdoba (1988–1991)\"},\"symbol\":\"NIC\",\"narrow\":\"NIC\"},\"NIO\":{\"displayName\":{\"other\":\"Nicaraguan córdobas\",\"one\":\"Nicaraguan córdoba\"},\"symbol\":\"NIO\",\"narrow\":\"C$\"},\"NLG\":{\"displayName\":{\"other\":\"Dutch guilders\",\"one\":\"Dutch guilder\"},\"symbol\":\"NLG\",\"narrow\":\"NLG\"},\"NOK\":{\"displayName\":{\"other\":\"Norwegian kroner\",\"one\":\"Norwegian krone\"},\"symbol\":\"NOK\",\"narrow\":\"kr\"},\"NPR\":{\"displayName\":{\"other\":\"Nepalese rupees\",\"one\":\"Nepalese rupee\"},\"symbol\":\"NPR\",\"narrow\":\"Rs\"},\"NZD\":{\"displayName\":{\"other\":\"New Zealand dollars\",\"one\":\"New Zealand dollar\"},\"symbol\":\"NZ$\",\"narrow\":\"$\"},\"OMR\":{\"displayName\":{\"other\":\"Omani rials\",\"one\":\"Omani rial\"},\"symbol\":\"OMR\",\"narrow\":\"OMR\"},\"PAB\":{\"displayName\":{\"other\":\"Panamanian balboas\",\"one\":\"Panamanian balboa\"},\"symbol\":\"PAB\",\"narrow\":\"PAB\"},\"PEI\":{\"displayName\":{\"other\":\"Peruvian intis\",\"one\":\"Peruvian inti\"},\"symbol\":\"PEI\",\"narrow\":\"PEI\"},\"PEN\":{\"displayName\":{\"other\":\"Peruvian soles\",\"one\":\"Peruvian sol\"},\"symbol\":\"PEN\",\"narrow\":\"PEN\"},\"PES\":{\"displayName\":{\"other\":\"Peruvian soles (1863–1965)\",\"one\":\"Peruvian sol (1863–1965)\"},\"symbol\":\"PES\",\"narrow\":\"PES\"},\"PGK\":{\"displayName\":{\"other\":\"Papua New Guinean kina\"},\"symbol\":\"PGK\",\"narrow\":\"PGK\"},\"PHP\":{\"displayName\":{\"other\":\"Philippine pisos\",\"one\":\"Philippine piso\"},\"symbol\":\"₱\",\"narrow\":\"₱\"},\"PKR\":{\"displayName\":{\"other\":\"Pakistani rupees\",\"one\":\"Pakistani rupee\"},\"symbol\":\"PKR\",\"narrow\":\"Rs\"},\"PLN\":{\"displayName\":{\"other\":\"Polish zlotys\",\"one\":\"Polish zloty\"},\"symbol\":\"PLN\",\"narrow\":\"zł\"},\"PLZ\":{\"displayName\":{\"other\":\"Polish zlotys (PLZ)\",\"one\":\"Polish zloty (PLZ)\"},\"symbol\":\"PLZ\",\"narrow\":\"PLZ\"},\"PTE\":{\"displayName\":{\"other\":\"Portuguese escudos\",\"one\":\"Portuguese escudo\"},\"symbol\":\"PTE\",\"narrow\":\"PTE\"},\"PYG\":{\"displayName\":{\"other\":\"Paraguayan guaranis\",\"one\":\"Paraguayan guarani\"},\"symbol\":\"PYG\",\"narrow\":\"₲\"},\"QAR\":{\"displayName\":{\"other\":\"Qatari rials\",\"one\":\"Qatari rial\"},\"symbol\":\"QAR\",\"narrow\":\"QAR\"},\"RHD\":{\"displayName\":{\"other\":\"Rhodesian dollars\",\"one\":\"Rhodesian dollar\"},\"symbol\":\"RHD\",\"narrow\":\"RHD\"},\"ROL\":{\"displayName\":{\"other\":\"Romanian Lei (1952–2006)\",\"one\":\"Romanian leu (1952–2006)\"},\"symbol\":\"ROL\",\"narrow\":\"ROL\"},\"RON\":{\"displayName\":{\"other\":\"Romanian lei\",\"one\":\"Romanian leu\"},\"symbol\":\"RON\",\"narrow\":\"lei\"},\"RSD\":{\"displayName\":{\"other\":\"Serbian dinars\",\"one\":\"Serbian dinar\"},\"symbol\":\"RSD\",\"narrow\":\"RSD\"},\"RUB\":{\"displayName\":{\"other\":\"Russian rubles\",\"one\":\"Russian ruble\"},\"symbol\":\"RUB\",\"narrow\":\"₽\"},\"RUR\":{\"displayName\":{\"other\":\"Russian rubles (1991–1998)\",\"one\":\"Russian ruble (1991–1998)\"},\"symbol\":\"RUR\",\"narrow\":\"RUR\"},\"RWF\":{\"displayName\":{\"other\":\"Rwandan francs\",\"one\":\"Rwandan franc\"},\"symbol\":\"RWF\",\"narrow\":\"RF\"},\"SAR\":{\"displayName\":{\"other\":\"Saudi riyals\",\"one\":\"Saudi riyal\"},\"symbol\":\"SAR\",\"narrow\":\"SAR\"},\"SBD\":{\"displayName\":{\"other\":\"Solomon Islands dollars\",\"one\":\"Solomon Islands dollar\"},\"symbol\":\"SBD\",\"narrow\":\"$\"},\"SCR\":{\"displayName\":{\"other\":\"Seychellois rupees\",\"one\":\"Seychellois rupee\"},\"symbol\":\"SCR\",\"narrow\":\"SCR\"},\"SDD\":{\"displayName\":{\"other\":\"Sudanese dinars (1992–2007)\",\"one\":\"Sudanese dinar (1992–2007)\"},\"symbol\":\"SDD\",\"narrow\":\"SDD\"},\"SDG\":{\"displayName\":{\"other\":\"Sudanese pounds\",\"one\":\"Sudanese pound\"},\"symbol\":\"SDG\",\"narrow\":\"SDG\"},\"SDP\":{\"displayName\":{\"other\":\"Sudanese pounds (1957–1998)\",\"one\":\"Sudanese pound (1957–1998)\"},\"symbol\":\"SDP\",\"narrow\":\"SDP\"},\"SEK\":{\"displayName\":{\"other\":\"Swedish kronor\",\"one\":\"Swedish krona\"},\"symbol\":\"SEK\",\"narrow\":\"kr\"},\"SGD\":{\"displayName\":{\"other\":\"Singapore dollars\",\"one\":\"Singapore dollar\"},\"symbol\":\"SGD\",\"narrow\":\"$\"},\"SHP\":{\"displayName\":{\"other\":\"St. Helena pounds\",\"one\":\"St. Helena pound\"},\"symbol\":\"SHP\",\"narrow\":\"£\"},\"SIT\":{\"displayName\":{\"other\":\"Slovenian tolars\",\"one\":\"Slovenian tolar\"},\"symbol\":\"SIT\",\"narrow\":\"SIT\"},\"SKK\":{\"displayName\":{\"other\":\"Slovak korunas\",\"one\":\"Slovak koruna\"},\"symbol\":\"SKK\",\"narrow\":\"SKK\"},\"SLL\":{\"displayName\":{\"other\":\"Sierra Leonean leones\",\"one\":\"Sierra Leonean leone\"},\"symbol\":\"SLL\",\"narrow\":\"SLL\"},\"SOS\":{\"displayName\":{\"other\":\"Somali shillings\",\"one\":\"Somali shilling\"},\"symbol\":\"SOS\",\"narrow\":\"SOS\"},\"SRD\":{\"displayName\":{\"other\":\"Surinamese dollars\",\"one\":\"Surinamese dollar\"},\"symbol\":\"SRD\",\"narrow\":\"$\"},\"SRG\":{\"displayName\":{\"other\":\"Surinamese guilders\",\"one\":\"Surinamese guilder\"},\"symbol\":\"SRG\",\"narrow\":\"SRG\"},\"SSP\":{\"displayName\":{\"other\":\"South Sudanese pounds\",\"one\":\"South Sudanese pound\"},\"symbol\":\"SSP\",\"narrow\":\"£\"},\"STD\":{\"displayName\":{\"other\":\"São Tomé & Príncipe dobras (1977–2017)\",\"one\":\"São Tomé & Príncipe dobra (1977–2017)\"},\"symbol\":\"STD\",\"narrow\":\"STD\"},\"STN\":{\"displayName\":{\"other\":\"São Tomé & Príncipe dobras\",\"one\":\"São Tomé & Príncipe dobra\"},\"symbol\":\"STN\",\"narrow\":\"Db\"},\"SUR\":{\"displayName\":{\"other\":\"Soviet roubles\",\"one\":\"Soviet rouble\"},\"symbol\":\"SUR\",\"narrow\":\"SUR\"},\"SVC\":{\"displayName\":{\"other\":\"Salvadoran colones\",\"one\":\"Salvadoran colón\"},\"symbol\":\"SVC\",\"narrow\":\"SVC\"},\"SYP\":{\"displayName\":{\"other\":\"Syrian pounds\",\"one\":\"Syrian pound\"},\"symbol\":\"SYP\",\"narrow\":\"£\"},\"SZL\":{\"displayName\":{\"other\":\"Swazi emalangeni\",\"one\":\"Swazi lilangeni\"},\"symbol\":\"SZL\",\"narrow\":\"SZL\"},\"THB\":{\"displayName\":{\"other\":\"Thai baht\"},\"symbol\":\"THB\",\"narrow\":\"฿\"},\"TJR\":{\"displayName\":{\"other\":\"Tajikistani rubles\",\"one\":\"Tajikistani ruble\"},\"symbol\":\"TJR\",\"narrow\":\"TJR\"},\"TJS\":{\"displayName\":{\"other\":\"Tajikistani somonis\",\"one\":\"Tajikistani somoni\"},\"symbol\":\"TJS\",\"narrow\":\"TJS\"},\"TMM\":{\"displayName\":{\"other\":\"Turkmenistani manat (1993–2009)\"},\"symbol\":\"TMM\",\"narrow\":\"TMM\"},\"TMT\":{\"displayName\":{\"other\":\"Turkmenistani manat\"},\"symbol\":\"TMT\",\"narrow\":\"TMT\"},\"TND\":{\"displayName\":{\"other\":\"Tunisian dinars\",\"one\":\"Tunisian dinar\"},\"symbol\":\"TND\",\"narrow\":\"TND\"},\"TOP\":{\"displayName\":{\"other\":\"Tongan paʻanga\"},\"symbol\":\"TOP\",\"narrow\":\"T$\"},\"TPE\":{\"displayName\":{\"other\":\"Timorese escudos\",\"one\":\"Timorese escudo\"},\"symbol\":\"TPE\",\"narrow\":\"TPE\"},\"TRL\":{\"displayName\":{\"other\":\"Turkish Lira (1922–2005)\",\"one\":\"Turkish lira (1922–2005)\"},\"symbol\":\"TRL\",\"narrow\":\"TRL\"},\"TRY\":{\"displayName\":{\"other\":\"Turkish Lira\",\"one\":\"Turkish lira\"},\"symbol\":\"TRY\",\"narrow\":\"₺\"},\"TTD\":{\"displayName\":{\"other\":\"Trinidad & Tobago dollars\",\"one\":\"Trinidad & Tobago dollar\"},\"symbol\":\"TTD\",\"narrow\":\"$\"},\"TWD\":{\"displayName\":{\"other\":\"New Taiwan dollars\",\"one\":\"New Taiwan dollar\"},\"symbol\":\"NT$\",\"narrow\":\"$\"},\"TZS\":{\"displayName\":{\"other\":\"Tanzanian shillings\",\"one\":\"Tanzanian shilling\"},\"symbol\":\"TZS\",\"narrow\":\"TZS\"},\"UAH\":{\"displayName\":{\"other\":\"Ukrainian hryvnias\",\"one\":\"Ukrainian hryvnia\"},\"symbol\":\"UAH\",\"narrow\":\"₴\"},\"UAK\":{\"displayName\":{\"other\":\"Ukrainian karbovantsiv\",\"one\":\"Ukrainian karbovanets\"},\"symbol\":\"UAK\",\"narrow\":\"UAK\"},\"UGS\":{\"displayName\":{\"other\":\"Ugandan shillings (1966–1987)\",\"one\":\"Ugandan shilling (1966–1987)\"},\"symbol\":\"UGS\",\"narrow\":\"UGS\"},\"UGX\":{\"displayName\":{\"other\":\"Ugandan shillings\",\"one\":\"Ugandan shilling\"},\"symbol\":\"UGX\",\"narrow\":\"UGX\"},\"USD\":{\"displayName\":{\"other\":\"US dollars\",\"one\":\"US dollar\"},\"symbol\":\"$\",\"narrow\":\"$\"},\"USN\":{\"displayName\":{\"other\":\"US dollars (next day)\",\"one\":\"US dollar (next day)\"},\"symbol\":\"USN\",\"narrow\":\"USN\"},\"USS\":{\"displayName\":{\"other\":\"US dollars (same day)\",\"one\":\"US dollar (same day)\"},\"symbol\":\"USS\",\"narrow\":\"USS\"},\"UYI\":{\"displayName\":{\"other\":\"Uruguayan pesos (indexed units)\",\"one\":\"Uruguayan peso (indexed units)\"},\"symbol\":\"UYI\",\"narrow\":\"UYI\"},\"UYP\":{\"displayName\":{\"other\":\"Uruguayan pesos (1975–1993)\",\"one\":\"Uruguayan peso (1975–1993)\"},\"symbol\":\"UYP\",\"narrow\":\"UYP\"},\"UYU\":{\"displayName\":{\"other\":\"Uruguayan pesos\",\"one\":\"Uruguayan peso\"},\"symbol\":\"UYU\",\"narrow\":\"$\"},\"UYW\":{\"displayName\":{\"other\":\"Uruguayan nominal wage index units\",\"one\":\"Uruguayan nominal wage index unit\"},\"symbol\":\"UYW\",\"narrow\":\"UYW\"},\"UZS\":{\"displayName\":{\"other\":\"Uzbekistani som\"},\"symbol\":\"UZS\",\"narrow\":\"UZS\"},\"VEB\":{\"displayName\":{\"other\":\"Venezuelan bolívars (1871–2008)\",\"one\":\"Venezuelan bolívar (1871–2008)\"},\"symbol\":\"VEB\",\"narrow\":\"VEB\"},\"VEF\":{\"displayName\":{\"other\":\"Venezuelan bolívars (2008–2018)\",\"one\":\"Venezuelan bolívar (2008–2018)\"},\"symbol\":\"VEF\",\"narrow\":\"Bs\"},\"VES\":{\"displayName\":{\"other\":\"Venezuelan bolívars\",\"one\":\"Venezuelan bolívar\"},\"symbol\":\"VES\",\"narrow\":\"VES\"},\"VND\":{\"displayName\":{\"other\":\"Vietnamese dong\"},\"symbol\":\"₫\",\"narrow\":\"₫\"},\"VNN\":{\"displayName\":{\"other\":\"Vietnamese dong (1978–1985)\"},\"symbol\":\"VNN\",\"narrow\":\"VNN\"},\"VUV\":{\"displayName\":{\"other\":\"Vanuatu vatus\",\"one\":\"Vanuatu vatu\"},\"symbol\":\"VUV\",\"narrow\":\"VUV\"},\"WST\":{\"displayName\":{\"other\":\"Samoan tala\"},\"symbol\":\"WST\",\"narrow\":\"WST\"},\"XAF\":{\"displayName\":{\"other\":\"Central African CFA francs\",\"one\":\"Central African CFA franc\"},\"symbol\":\"FCFA\",\"narrow\":\"FCFA\"},\"XAG\":{\"displayName\":{\"other\":\"troy ounces of silver\",\"one\":\"troy ounce of silver\"},\"symbol\":\"XAG\",\"narrow\":\"XAG\"},\"XAU\":{\"displayName\":{\"other\":\"troy ounces of gold\",\"one\":\"troy ounce of gold\"},\"symbol\":\"XAU\",\"narrow\":\"XAU\"},\"XBA\":{\"displayName\":{\"other\":\"European composite units\",\"one\":\"European composite unit\"},\"symbol\":\"XBA\",\"narrow\":\"XBA\"},\"XBB\":{\"displayName\":{\"other\":\"European monetary units\",\"one\":\"European monetary unit\"},\"symbol\":\"XBB\",\"narrow\":\"XBB\"},\"XBC\":{\"displayName\":{\"other\":\"European units of account (XBC)\",\"one\":\"European unit of account (XBC)\"},\"symbol\":\"XBC\",\"narrow\":\"XBC\"},\"XBD\":{\"displayName\":{\"other\":\"European units of account (XBD)\",\"one\":\"European unit of account (XBD)\"},\"symbol\":\"XBD\",\"narrow\":\"XBD\"},\"XCD\":{\"displayName\":{\"other\":\"East Caribbean dollars\",\"one\":\"East Caribbean dollar\"},\"symbol\":\"EC$\",\"narrow\":\"$\"},\"XDR\":{\"displayName\":{\"other\":\"special drawing rights\"},\"symbol\":\"XDR\",\"narrow\":\"XDR\"},\"XEU\":{\"displayName\":{\"other\":\"European currency units\",\"one\":\"European currency unit\"},\"symbol\":\"XEU\",\"narrow\":\"XEU\"},\"XFO\":{\"displayName\":{\"other\":\"French gold francs\",\"one\":\"French gold franc\"},\"symbol\":\"XFO\",\"narrow\":\"XFO\"},\"XFU\":{\"displayName\":{\"other\":\"French UIC-francs\",\"one\":\"French UIC-franc\"},\"symbol\":\"XFU\",\"narrow\":\"XFU\"},\"XOF\":{\"displayName\":{\"other\":\"West African CFA francs\",\"one\":\"West African CFA franc\"},\"symbol\":\"F CFA\",\"narrow\":\"F CFA\"},\"XPD\":{\"displayName\":{\"other\":\"troy ounces of palladium\",\"one\":\"troy ounce of palladium\"},\"symbol\":\"XPD\",\"narrow\":\"XPD\"},\"XPF\":{\"displayName\":{\"other\":\"CFP francs\",\"one\":\"CFP franc\"},\"symbol\":\"CFPF\",\"narrow\":\"CFPF\"},\"XPT\":{\"displayName\":{\"other\":\"troy ounces of platinum\",\"one\":\"troy ounce of platinum\"},\"symbol\":\"XPT\",\"narrow\":\"XPT\"},\"XRE\":{\"displayName\":{\"other\":\"RINET Funds units\",\"one\":\"RINET Funds unit\"},\"symbol\":\"XRE\",\"narrow\":\"XRE\"},\"XSU\":{\"displayName\":{\"other\":\"Sucres\",\"one\":\"Sucre\"},\"symbol\":\"XSU\",\"narrow\":\"XSU\"},\"XTS\":{\"displayName\":{\"other\":\"Testing Currency units\",\"one\":\"Testing Currency unit\"},\"symbol\":\"XTS\",\"narrow\":\"XTS\"},\"XUA\":{\"displayName\":{\"other\":\"ADB units of account\",\"one\":\"ADB unit of account\"},\"symbol\":\"XUA\",\"narrow\":\"XUA\"},\"XXX\":{\"displayName\":{\"other\":\"(unknown currency)\",\"one\":\"(unknown unit of currency)\"},\"symbol\":\"¤\",\"narrow\":\"¤\"},\"YDD\":{\"displayName\":{\"other\":\"Yemeni dinars\",\"one\":\"Yemeni dinar\"},\"symbol\":\"YDD\",\"narrow\":\"YDD\"},\"YER\":{\"displayName\":{\"other\":\"Yemeni rials\",\"one\":\"Yemeni rial\"},\"symbol\":\"YER\",\"narrow\":\"YER\"},\"YUD\":{\"displayName\":{\"other\":\"Yugoslavian hard dinars (1966–1990)\",\"one\":\"Yugoslavian hard dinar (1966–1990)\"},\"symbol\":\"YUD\",\"narrow\":\"YUD\"},\"YUM\":{\"displayName\":{\"other\":\"Yugoslavian new dinars (1994–2002)\",\"one\":\"Yugoslavian new dinar (1994–2002)\"},\"symbol\":\"YUM\",\"narrow\":\"YUM\"},\"YUN\":{\"displayName\":{\"other\":\"Yugoslavian convertible dinars (1990–1992)\",\"one\":\"Yugoslavian convertible dinar (1990–1992)\"},\"symbol\":\"YUN\",\"narrow\":\"YUN\"},\"YUR\":{\"displayName\":{\"other\":\"Yugoslavian reformed dinars (1992–1993)\",\"one\":\"Yugoslavian reformed dinar (1992–1993)\"},\"symbol\":\"YUR\",\"narrow\":\"YUR\"},\"ZAL\":{\"displayName\":{\"other\":\"South African rands (financial)\",\"one\":\"South African rand (financial)\"},\"symbol\":\"ZAL\",\"narrow\":\"ZAL\"},\"ZAR\":{\"displayName\":{\"other\":\"South African rand\"},\"symbol\":\"ZAR\",\"narrow\":\"R\"},\"ZMK\":{\"displayName\":{\"other\":\"Zambian kwachas (1968–2012)\",\"one\":\"Zambian kwacha (1968–2012)\"},\"symbol\":\"ZMK\",\"narrow\":\"ZMK\"},\"ZMW\":{\"displayName\":{\"other\":\"Zambian kwachas\",\"one\":\"Zambian kwacha\"},\"symbol\":\"ZMW\",\"narrow\":\"ZK\"},\"ZRN\":{\"displayName\":{\"other\":\"Zairean new zaires (1993–1998)\",\"one\":\"Zairean new zaire (1993–1998)\"},\"symbol\":\"ZRN\",\"narrow\":\"ZRN\"},\"ZRZ\":{\"displayName\":{\"other\":\"Zairean zaires (1971–1993)\",\"one\":\"Zairean zaire (1971–1993)\"},\"symbol\":\"ZRZ\",\"narrow\":\"ZRZ\"},\"ZWD\":{\"displayName\":{\"other\":\"Zimbabwean dollars (1980–2008)\",\"one\":\"Zimbabwean dollar (1980–2008)\"},\"symbol\":\"ZWD\",\"narrow\":\"ZWD\"},\"ZWL\":{\"displayName\":{\"other\":\"Zimbabwean dollars (2009)\",\"one\":\"Zimbabwean dollar (2009)\"},\"symbol\":\"ZWL\",\"narrow\":\"ZWL\"},\"ZWR\":{\"displayName\":{\"other\":\"Zimbabwean dollars (2008)\",\"one\":\"Zimbabwean dollar (2008)\"},\"symbol\":\"ZWR\",\"narrow\":\"ZWR\"}},\"numbers\":{\"nu\":[\"latn\"],\"symbols\":{\"latn\":{\"decimal\":\".\",\"group\":\",\",\"list\":\";\",\"percentSign\":\"%\",\"plusSign\":\"+\",\"minusSign\":\"-\",\"approximatelySign\":\"~\",\"exponential\":\"E\",\"superscriptingExponent\":\"×\",\"perMille\":\"‰\",\"infinity\":\"∞\",\"nan\":\"NaN\",\"timeSeparator\":\":\"}},\"percent\":{\"latn\":\"#,##0%\"},\"decimal\":{\"latn\":{\"standard\":\"#,##0.###\",\"long\":{\"1000\":{\"other\":\"0 thousand\"},\"10000\":{\"other\":\"00 thousand\"},\"100000\":{\"other\":\"000 thousand\"},\"1000000\":{\"other\":\"0 million\"},\"10000000\":{\"other\":\"00 million\"},\"100000000\":{\"other\":\"000 million\"},\"1000000000\":{\"other\":\"0 billion\"},\"10000000000\":{\"other\":\"00 billion\"},\"100000000000\":{\"other\":\"000 billion\"},\"1000000000000\":{\"other\":\"0 trillion\"},\"10000000000000\":{\"other\":\"00 trillion\"},\"100000000000000\":{\"other\":\"000 trillion\"}},\"short\":{\"1000\":{\"other\":\"0K\"},\"10000\":{\"other\":\"00K\"},\"100000\":{\"other\":\"000K\"},\"1000000\":{\"other\":\"0M\"},\"10000000\":{\"other\":\"00M\"},\"100000000\":{\"other\":\"000M\"},\"1000000000\":{\"other\":\"0B\"},\"10000000000\":{\"other\":\"00B\"},\"100000000000\":{\"other\":\"000B\"},\"1000000000000\":{\"other\":\"0T\"},\"10000000000000\":{\"other\":\"00T\"},\"100000000000000\":{\"other\":\"000T\"}}}},\"currency\":{\"latn\":{\"currencySpacing\":{\"beforeInsertBetween\":\" \",\"afterInsertBetween\":\" \"},\"standard\":\"¤#,##0.00\",\"accounting\":\"¤#,##0.00;(¤#,##0.00)\",\"unitPattern\":\"{0} {1}\",\"short\":{\"1000\":{\"other\":\"¤0K\"},\"10000\":{\"other\":\"¤00K\"},\"100000\":{\"other\":\"¤000K\"},\"1000000\":{\"other\":\"¤0M\"},\"10000000\":{\"other\":\"¤00M\"},\"100000000\":{\"other\":\"¤000M\"},\"1000000000\":{\"other\":\"¤0B\"},\"10000000000\":{\"other\":\"¤00B\"},\"100000000000\":{\"other\":\"¤000B\"},\"1000000000000\":{\"other\":\"¤0T\"},\"10000000000000\":{\"other\":\"¤00T\"},\"100000000000000\":{\"other\":\"¤000T\"}}}}},\"nu\":[\"latn\"]},\"locale\":\"en\"}\n)\n}","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"./src/core\");\nvar to_locale_string_1 = require(\"./src/to_locale_string\");\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nvar should_polyfill_1 = require(\"./should-polyfill\");\nif ((0, should_polyfill_1.shouldPolyfill)()) {\n (0, ecma402_abstract_1.defineProperty)(Intl, 'NumberFormat', { value: core_1.NumberFormat });\n (0, ecma402_abstract_1.defineProperty)(Number.prototype, 'toLocaleString', {\n value: function toLocaleString(locales, options) {\n return (0, to_locale_string_1.toLocaleString)(this, locales, options);\n },\n });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shouldPolyfill = void 0;\nvar intl_localematcher_1 = require(\"@formatjs/intl-localematcher\");\nvar supported_locales_generated_1 = require(\"./supported-locales.generated\");\n/**\n * Check if this is old Node that only supports en\n * @returns\n */\nfunction onlySupportsEn() {\n return (!Intl.NumberFormat.polyfilled &&\n !Intl.NumberFormat.supportedLocalesOf(['es']).length);\n}\n/**\n * Check if Intl.NumberFormat is ES2020 compatible.\n * Caveat: we are not checking `toLocaleString`.\n *\n * @public\n * @param unit unit to check\n */\nfunction supportsES2020() {\n try {\n var s = new Intl.NumberFormat('en', {\n style: 'unit',\n unit: 'bit',\n unitDisplay: 'long',\n notation: 'scientific',\n }).format(10000);\n // Check for a plurality bug in environment that uses the older versions of ICU:\n // https://unicode-org.atlassian.net/browse/ICU-13836\n if (s !== '1E4 bits') {\n return false;\n }\n }\n catch (e) {\n return false;\n }\n return true;\n}\nfunction supportedLocalesOf(locale) {\n if (!locale) {\n return true;\n }\n var locales = Array.isArray(locale) ? locale : [locale];\n return Intl.NumberFormat.supportedLocalesOf(locales).length === locales.length;\n}\nfunction shouldPolyfill(locale) {\n if (locale === void 0) { locale = 'en'; }\n if (typeof Intl === 'undefined' ||\n !('NumberFormat' in Intl) ||\n !supportsES2020() ||\n onlySupportsEn() ||\n !supportedLocalesOf(locale)) {\n return locale ? (0, intl_localematcher_1.match)([locale], supported_locales_generated_1.supportedLocales, 'en') : undefined;\n }\n}\nexports.shouldPolyfill = shouldPolyfill;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NumberFormat = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nvar currency_digits_generated_1 = require(\"./currency-digits.generated\");\nvar numbering_systems_generated_1 = require(\"./numbering-systems.generated\");\n// eslint-disable-next-line import/no-cycle\nvar get_internal_slots_1 = tslib_1.__importDefault(require(\"./get_internal_slots\"));\nvar RESOLVED_OPTIONS_KEYS = [\n 'locale',\n 'numberingSystem',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'unit',\n 'unitDisplay',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'useGrouping',\n 'notation',\n 'compactDisplay',\n 'signDisplay',\n];\n/**\n * https://tc39.es/ecma402/#sec-intl-numberformat-constructor\n */\nexports.NumberFormat = function (locales, options) {\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n if (!this || !(0, ecma402_abstract_1.OrdinaryHasInstance)(exports.NumberFormat, this)) {\n return new exports.NumberFormat(locales, options);\n }\n (0, ecma402_abstract_1.InitializeNumberFormat)(this, locales, options, {\n getInternalSlots: get_internal_slots_1.default,\n localeData: exports.NumberFormat.localeData,\n availableLocales: exports.NumberFormat.availableLocales,\n getDefaultLocale: exports.NumberFormat.getDefaultLocale,\n currencyDigitsData: currency_digits_generated_1.currencyDigitsData,\n numberingSystemNames: numbering_systems_generated_1.numberingSystemNames,\n });\n var internalSlots = (0, get_internal_slots_1.default)(this);\n var dataLocale = internalSlots.dataLocale;\n var dataLocaleData = exports.NumberFormat.localeData[dataLocale];\n (0, ecma402_abstract_1.invariant)(dataLocaleData !== undefined, \"Cannot load locale-dependent data for \".concat(dataLocale, \".\"));\n internalSlots.pl = new Intl.PluralRules(dataLocale, {\n minimumFractionDigits: internalSlots.minimumFractionDigits,\n maximumFractionDigits: internalSlots.maximumFractionDigits,\n minimumIntegerDigits: internalSlots.minimumIntegerDigits,\n minimumSignificantDigits: internalSlots.minimumSignificantDigits,\n maximumSignificantDigits: internalSlots.maximumSignificantDigits,\n });\n return this;\n};\nfunction formatToParts(x) {\n return (0, ecma402_abstract_1.FormatNumericToParts)(this, toNumeric(x), {\n getInternalSlots: get_internal_slots_1.default,\n });\n}\ntry {\n Object.defineProperty(formatToParts, 'name', {\n value: 'formatToParts',\n enumerable: false,\n writable: false,\n configurable: true,\n });\n}\ncatch (e) {\n // In older browser (e.g Chrome 36 like polyfill.io)\n // TypeError: Cannot redefine property: name\n}\n(0, ecma402_abstract_1.defineProperty)(exports.NumberFormat.prototype, 'formatToParts', {\n value: formatToParts,\n});\n(0, ecma402_abstract_1.defineProperty)(exports.NumberFormat.prototype, 'resolvedOptions', {\n value: function resolvedOptions() {\n if (typeof this !== 'object' || !(0, ecma402_abstract_1.OrdinaryHasInstance)(exports.NumberFormat, this)) {\n throw TypeError('Method Intl.NumberFormat.prototype.resolvedOptions called on incompatible receiver');\n }\n var internalSlots = (0, get_internal_slots_1.default)(this);\n var ro = {};\n for (var _i = 0, RESOLVED_OPTIONS_KEYS_1 = RESOLVED_OPTIONS_KEYS; _i < RESOLVED_OPTIONS_KEYS_1.length; _i++) {\n var key = RESOLVED_OPTIONS_KEYS_1[_i];\n var value = internalSlots[key];\n if (value !== undefined) {\n ro[key] = value;\n }\n }\n return ro;\n },\n});\nvar formatDescriptor = {\n enumerable: false,\n configurable: true,\n get: function () {\n if (typeof this !== 'object' || !(0, ecma402_abstract_1.OrdinaryHasInstance)(exports.NumberFormat, this)) {\n throw TypeError('Intl.NumberFormat format property accessor called on incompatible receiver');\n }\n var internalSlots = (0, get_internal_slots_1.default)(this);\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var numberFormat = this;\n var boundFormat = internalSlots.boundFormat;\n if (boundFormat === undefined) {\n // https://tc39.es/proposal-unified-intl-numberformat/section11/numberformat_diff_out.html#sec-number-format-functions\n boundFormat = function (value) {\n // TODO: check bigint\n var x = toNumeric(value);\n return numberFormat\n .formatToParts(x)\n .map(function (x) { return x.value; })\n .join('');\n };\n try {\n // https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/prototype/format/format-function-name.js\n Object.defineProperty(boundFormat, 'name', {\n configurable: true,\n enumerable: false,\n writable: false,\n value: '',\n });\n }\n catch (e) {\n // In older browser (e.g Chrome 36 like polyfill.io)\n // TypeError: Cannot redefine property: name\n }\n internalSlots.boundFormat = boundFormat;\n }\n return boundFormat;\n },\n};\ntry {\n // https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/prototype/format/name.js\n Object.defineProperty(formatDescriptor.get, 'name', {\n configurable: true,\n enumerable: false,\n writable: false,\n value: 'get format',\n });\n}\ncatch (e) {\n // In older browser (e.g Chrome 36 like polyfill.io)\n // TypeError: Cannot redefine property: name\n}\nObject.defineProperty(exports.NumberFormat.prototype, 'format', formatDescriptor);\n// Static properties\n(0, ecma402_abstract_1.defineProperty)(exports.NumberFormat, 'supportedLocalesOf', {\n value: function supportedLocalesOf(locales, options) {\n return (0, ecma402_abstract_1.SupportedLocales)(exports.NumberFormat.availableLocales, (0, ecma402_abstract_1.CanonicalizeLocaleList)(locales), options);\n },\n});\nexports.NumberFormat.__addLocaleData = function __addLocaleData() {\n var data = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n data[_i] = arguments[_i];\n }\n for (var _a = 0, data_1 = data; _a < data_1.length; _a++) {\n var _b = data_1[_a], d = _b.data, locale = _b.locale;\n var minimizedLocale = new Intl.Locale(locale)\n .minimize()\n .toString();\n exports.NumberFormat.localeData[locale] = exports.NumberFormat.localeData[minimizedLocale] =\n d;\n exports.NumberFormat.availableLocales.add(minimizedLocale);\n exports.NumberFormat.availableLocales.add(locale);\n if (!exports.NumberFormat.__defaultLocale) {\n exports.NumberFormat.__defaultLocale = minimizedLocale;\n }\n }\n};\nexports.NumberFormat.__addUnitData = function __addUnitData(locale, unitsData) {\n var _a = exports.NumberFormat.localeData, _b = locale, existingData = _a[_b];\n if (!existingData) {\n throw new Error(\"Locale data for \\\"\".concat(locale, \"\\\" has not been loaded in NumberFormat. \\nPlease __addLocaleData before adding additional unit data\"));\n }\n for (var unit in unitsData.simple) {\n existingData.units.simple[unit] = unitsData.simple[unit];\n }\n for (var unit in unitsData.compound) {\n existingData.units.compound[unit] = unitsData.compound[unit];\n }\n};\nexports.NumberFormat.__defaultLocale = '';\nexports.NumberFormat.localeData = {};\nexports.NumberFormat.availableLocales = new Set();\nexports.NumberFormat.getDefaultLocale = function () {\n return exports.NumberFormat.__defaultLocale;\n};\nexports.NumberFormat.polyfilled = true;\nfunction toNumeric(val) {\n if (typeof val === 'bigint') {\n return val;\n }\n return (0, ecma402_abstract_1.ToNumber)(val);\n}\ntry {\n // IE11 does not have Symbol\n if (typeof Symbol !== 'undefined') {\n Object.defineProperty(exports.NumberFormat.prototype, Symbol.toStringTag, {\n configurable: true,\n enumerable: false,\n writable: false,\n value: 'Intl.NumberFormat',\n });\n }\n // https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/length.js\n Object.defineProperty(exports.NumberFormat.prototype.constructor, 'length', {\n configurable: true,\n enumerable: false,\n writable: false,\n value: 0,\n });\n // https://github.com/tc39/test262/blob/master/test/intl402/NumberFormat/supportedLocalesOf/length.js\n Object.defineProperty(exports.NumberFormat.supportedLocalesOf, 'length', {\n configurable: true,\n enumerable: false,\n writable: false,\n value: 1,\n });\n Object.defineProperty(exports.NumberFormat, 'prototype', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: exports.NumberFormat.prototype,\n });\n}\ncatch (e) {\n // Meta fix so we're test262-compliant, not important\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.currencyDigitsData = void 0;\nexports.currencyDigitsData = { \"ADP\": 0, \"AFN\": 0, \"ALL\": 0, \"AMD\": 2, \"BHD\": 3, \"BIF\": 0, \"BYN\": 2, \"BYR\": 0, \"CAD\": 2, \"CHF\": 2, \"CLF\": 4, \"CLP\": 0, \"COP\": 2, \"CRC\": 2, \"CZK\": 2, \"DEFAULT\": 2, \"DJF\": 0, \"DKK\": 2, \"ESP\": 0, \"GNF\": 0, \"GYD\": 2, \"HUF\": 2, \"IDR\": 2, \"IQD\": 0, \"IRR\": 0, \"ISK\": 0, \"ITL\": 0, \"JOD\": 3, \"JPY\": 0, \"KMF\": 0, \"KPW\": 0, \"KRW\": 0, \"KWD\": 3, \"LAK\": 0, \"LBP\": 0, \"LUF\": 0, \"LYD\": 3, \"MGA\": 0, \"MGF\": 0, \"MMK\": 0, \"MNT\": 2, \"MRO\": 0, \"MUR\": 2, \"NOK\": 2, \"OMR\": 3, \"PKR\": 2, \"PYG\": 0, \"RSD\": 0, \"RWF\": 0, \"SEK\": 2, \"SLL\": 0, \"SOS\": 0, \"STD\": 0, \"SYP\": 0, \"TMM\": 0, \"TND\": 3, \"TRL\": 0, \"TWD\": 2, \"TZS\": 2, \"UGX\": 0, \"UYI\": 0, \"UYW\": 4, \"UZS\": 2, \"VEF\": 2, \"VND\": 0, \"VUV\": 0, \"XAF\": 0, \"XOF\": 0, \"XPF\": 0, \"YER\": 0, \"ZMK\": 0, \"ZWD\": 0 };\n","\"use strict\";\n// Type-only circular import\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar internalSlotMap = new WeakMap();\nfunction getInternalSlots(x) {\n var internalSlots = internalSlotMap.get(x);\n if (!internalSlots) {\n internalSlots = Object.create(null);\n internalSlotMap.set(x, internalSlots);\n }\n return internalSlots;\n}\nexports.default = getInternalSlots;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.numberingSystemNames = void 0;\nexports.numberingSystemNames = [\"adlm\", \"ahom\", \"arab\", \"arabext\", \"armn\", \"armnlow\", \"bali\", \"beng\", \"bhks\", \"brah\", \"cakm\", \"cham\", \"cyrl\", \"deva\", \"diak\", \"ethi\", \"fullwide\", \"geor\", \"gong\", \"gonm\", \"grek\", \"greklow\", \"gujr\", \"guru\", \"hanidays\", \"hanidec\", \"hans\", \"hansfin\", \"hant\", \"hantfin\", \"hebr\", \"hmng\", \"hmnp\", \"java\", \"jpan\", \"jpanfin\", \"jpanyear\", \"kali\", \"khmr\", \"knda\", \"lana\", \"lanatham\", \"laoo\", \"latn\", \"lepc\", \"limb\", \"mathbold\", \"mathdbl\", \"mathmono\", \"mathsanb\", \"mathsans\", \"mlym\", \"modi\", \"mong\", \"mroo\", \"mtei\", \"mymr\", \"mymrshan\", \"mymrtlng\", \"newa\", \"nkoo\", \"olck\", \"orya\", \"osma\", \"rohg\", \"roman\", \"romanlow\", \"saur\", \"segment\", \"shrd\", \"sind\", \"sinh\", \"sora\", \"sund\", \"takr\", \"talu\", \"taml\", \"tamldec\", \"telu\", \"thai\", \"tibt\", \"tirh\", \"tnsa\", \"vaii\", \"wara\", \"wcho\"];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toLocaleString = void 0;\n// eslint-disable-next-line import/no-cycle\nvar core_1 = require(\"./core\");\n/**\n * Number.prototype.toLocaleString ponyfill\n * https://tc39.es/ecma402/#sup-number.prototype.tolocalestring\n */\nfunction toLocaleString(x, locales, options) {\n var numberFormat = new core_1.NumberFormat(locales, options);\n return numberFormat.format(x);\n}\nexports.toLocaleString = toLocaleString;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.supportedLocales = void 0;\nexports.supportedLocales = [\"af\", \"af-NA\", \"agq\", \"ak\", \"am\", \"ar\", \"ar-AE\", \"ar-BH\", \"ar-DJ\", \"ar-DZ\", \"ar-EG\", \"ar-EH\", \"ar-ER\", \"ar-IL\", \"ar-IQ\", \"ar-JO\", \"ar-KM\", \"ar-KW\", \"ar-LB\", \"ar-LY\", \"ar-MA\", \"ar-MR\", \"ar-OM\", \"ar-PS\", \"ar-QA\", \"ar-SA\", \"ar-SD\", \"ar-SO\", \"ar-SS\", \"ar-SY\", \"ar-TD\", \"ar-TN\", \"ar-YE\", \"as\", \"asa\", \"ast\", \"az\", \"az-Cyrl\", \"az-Latn\", \"bas\", \"be\", \"be-tarask\", \"bem\", \"bez\", \"bg\", \"bm\", \"bn\", \"bn-IN\", \"bo\", \"bo-IN\", \"br\", \"brx\", \"bs\", \"bs-Cyrl\", \"bs-Latn\", \"ca\", \"ca-AD\", \"ca-ES-valencia\", \"ca-FR\", \"ca-IT\", \"ccp\", \"ccp-IN\", \"ce\", \"ceb\", \"cgg\", \"chr\", \"ckb\", \"ckb-IR\", \"cs\", \"cy\", \"da\", \"da-GL\", \"dav\", \"de\", \"de-AT\", \"de-BE\", \"de-CH\", \"de-IT\", \"de-LI\", \"de-LU\", \"dje\", \"doi\", \"dsb\", \"dua\", \"dyo\", \"dz\", \"ebu\", \"ee\", \"ee-TG\", \"el\", \"el-CY\", \"en\", \"en-001\", \"en-150\", \"en-AE\", \"en-AG\", \"en-AI\", \"en-AS\", \"en-AT\", \"en-AU\", \"en-BB\", \"en-BE\", \"en-BI\", \"en-BM\", \"en-BS\", \"en-BW\", \"en-BZ\", \"en-CA\", \"en-CC\", \"en-CH\", \"en-CK\", \"en-CM\", \"en-CX\", \"en-CY\", \"en-DE\", \"en-DG\", \"en-DK\", \"en-DM\", \"en-ER\", \"en-FI\", \"en-FJ\", \"en-FK\", \"en-FM\", \"en-GB\", \"en-GD\", \"en-GG\", \"en-GH\", \"en-GI\", \"en-GM\", \"en-GU\", \"en-GY\", \"en-HK\", \"en-IE\", \"en-IL\", \"en-IM\", \"en-IN\", \"en-IO\", \"en-JE\", \"en-JM\", \"en-KE\", \"en-KI\", \"en-KN\", \"en-KY\", \"en-LC\", \"en-LR\", \"en-LS\", \"en-MG\", \"en-MH\", \"en-MO\", \"en-MP\", \"en-MS\", \"en-MT\", \"en-MU\", \"en-MW\", \"en-MY\", \"en-NA\", \"en-NF\", \"en-NG\", \"en-NL\", \"en-NR\", \"en-NU\", \"en-NZ\", \"en-PG\", \"en-PH\", \"en-PK\", \"en-PN\", \"en-PR\", \"en-PW\", \"en-RW\", \"en-SB\", \"en-SC\", \"en-SD\", \"en-SE\", \"en-SG\", \"en-SH\", \"en-SI\", \"en-SL\", \"en-SS\", \"en-SX\", \"en-SZ\", \"en-TC\", \"en-TK\", \"en-TO\", \"en-TT\", \"en-TV\", \"en-TZ\", \"en-UG\", \"en-UM\", \"en-VC\", \"en-VG\", \"en-VI\", \"en-VU\", \"en-WS\", \"en-ZA\", \"en-ZM\", \"en-ZW\", \"eo\", \"es\", \"es-419\", \"es-AR\", \"es-BO\", \"es-BR\", \"es-BZ\", \"es-CL\", \"es-CO\", \"es-CR\", \"es-CU\", \"es-DO\", \"es-EA\", \"es-EC\", \"es-GQ\", \"es-GT\", \"es-HN\", \"es-IC\", \"es-MX\", \"es-NI\", \"es-PA\", \"es-PE\", \"es-PH\", \"es-PR\", \"es-PY\", \"es-SV\", \"es-US\", \"es-UY\", \"es-VE\", \"et\", \"eu\", \"ewo\", \"fa\", \"fa-AF\", \"ff\", \"ff-Adlm\", \"ff-Adlm-BF\", \"ff-Adlm-CM\", \"ff-Adlm-GH\", \"ff-Adlm-GM\", \"ff-Adlm-GW\", \"ff-Adlm-LR\", \"ff-Adlm-MR\", \"ff-Adlm-NE\", \"ff-Adlm-NG\", \"ff-Adlm-SL\", \"ff-Adlm-SN\", \"ff-Latn\", \"ff-Latn-BF\", \"ff-Latn-CM\", \"ff-Latn-GH\", \"ff-Latn-GM\", \"ff-Latn-GN\", \"ff-Latn-GW\", \"ff-Latn-LR\", \"ff-Latn-MR\", \"ff-Latn-NE\", \"ff-Latn-NG\", \"ff-Latn-SL\", \"fi\", \"fil\", \"fo\", \"fo-DK\", \"fr\", \"fr-BE\", \"fr-BF\", \"fr-BI\", \"fr-BJ\", \"fr-BL\", \"fr-CA\", \"fr-CD\", \"fr-CF\", \"fr-CG\", \"fr-CH\", \"fr-CI\", \"fr-CM\", \"fr-DJ\", \"fr-DZ\", \"fr-GA\", \"fr-GF\", \"fr-GN\", \"fr-GP\", \"fr-GQ\", \"fr-HT\", \"fr-KM\", \"fr-LU\", \"fr-MA\", \"fr-MC\", \"fr-MF\", \"fr-MG\", \"fr-ML\", \"fr-MQ\", \"fr-MR\", \"fr-MU\", \"fr-NC\", \"fr-NE\", \"fr-PF\", \"fr-PM\", \"fr-RE\", \"fr-RW\", \"fr-SC\", \"fr-SN\", \"fr-SY\", \"fr-TD\", \"fr-TG\", \"fr-TN\", \"fr-VU\", \"fr-WF\", \"fr-YT\", \"fur\", \"fy\", \"ga\", \"ga-GB\", \"gd\", \"gl\", \"gsw\", \"gsw-FR\", \"gsw-LI\", \"gu\", \"guz\", \"gv\", \"ha\", \"ha-GH\", \"ha-NE\", \"haw\", \"he\", \"hi\", \"hr\", \"hr-BA\", \"hsb\", \"hu\", \"hy\", \"ia\", \"id\", \"ig\", \"ii\", \"is\", \"it\", \"it-CH\", \"it-SM\", \"it-VA\", \"ja\", \"jgo\", \"jmc\", \"jv\", \"ka\", \"kab\", \"kam\", \"kde\", \"kea\", \"kgp\", \"khq\", \"ki\", \"kk\", \"kkj\", \"kl\", \"kln\", \"km\", \"kn\", \"ko\", \"ko-KP\", \"kok\", \"ks\", \"ks-Arab\", \"ksb\", \"ksf\", \"ksh\", \"ku\", \"kw\", \"ky\", \"lag\", \"lb\", \"lg\", \"lkt\", \"ln\", \"ln-AO\", \"ln-CF\", \"ln-CG\", \"lo\", \"lrc\", \"lrc-IQ\", \"lt\", \"lu\", \"luo\", \"luy\", \"lv\", \"mai\", \"mas\", \"mas-TZ\", \"mer\", \"mfe\", \"mg\", \"mgh\", \"mgo\", \"mi\", \"mk\", \"ml\", \"mn\", \"mni\", \"mni-Beng\", \"mr\", \"ms\", \"ms-BN\", \"ms-ID\", \"ms-SG\", \"mt\", \"mua\", \"my\", \"mzn\", \"naq\", \"nb\", \"nb-SJ\", \"nd\", \"nds\", \"nds-NL\", \"ne\", \"ne-IN\", \"nl\", \"nl-AW\", \"nl-BE\", \"nl-BQ\", \"nl-CW\", \"nl-SR\", \"nl-SX\", \"nmg\", \"nn\", \"nnh\", \"no\", \"nus\", \"nyn\", \"om\", \"om-KE\", \"or\", \"os\", \"os-RU\", \"pa\", \"pa-Arab\", \"pa-Guru\", \"pcm\", \"pl\", \"ps\", \"ps-PK\", \"pt\", \"pt-AO\", \"pt-CH\", \"pt-CV\", \"pt-GQ\", \"pt-GW\", \"pt-LU\", \"pt-MO\", \"pt-MZ\", \"pt-PT\", \"pt-ST\", \"pt-TL\", \"qu\", \"qu-BO\", \"qu-EC\", \"rm\", \"rn\", \"ro\", \"ro-MD\", \"rof\", \"ru\", \"ru-BY\", \"ru-KG\", \"ru-KZ\", \"ru-MD\", \"ru-UA\", \"rw\", \"rwk\", \"sa\", \"sah\", \"saq\", \"sat\", \"sat-Olck\", \"sbp\", \"sc\", \"sd\", \"sd-Arab\", \"sd-Deva\", \"se\", \"se-FI\", \"se-SE\", \"seh\", \"ses\", \"sg\", \"shi\", \"shi-Latn\", \"shi-Tfng\", \"si\", \"sk\", \"sl\", \"smn\", \"sn\", \"so\", \"so-DJ\", \"so-ET\", \"so-KE\", \"sq\", \"sq-MK\", \"sq-XK\", \"sr\", \"sr-Cyrl\", \"sr-Cyrl-BA\", \"sr-Cyrl-ME\", \"sr-Cyrl-XK\", \"sr-Latn\", \"sr-Latn-BA\", \"sr-Latn-ME\", \"sr-Latn-XK\", \"su\", \"su-Latn\", \"sv\", \"sv-AX\", \"sv-FI\", \"sw\", \"sw-CD\", \"sw-KE\", \"sw-UG\", \"ta\", \"ta-LK\", \"ta-MY\", \"ta-SG\", \"te\", \"teo\", \"teo-KE\", \"tg\", \"th\", \"ti\", \"ti-ER\", \"tk\", \"to\", \"tr\", \"tr-CY\", \"tt\", \"twq\", \"tzm\", \"ug\", \"uk\", \"und\", \"ur\", \"ur-IN\", \"uz\", \"uz-Arab\", \"uz-Cyrl\", \"uz-Latn\", \"vai\", \"vai-Latn\", \"vai-Vaii\", \"vi\", \"vun\", \"wae\", \"wo\", \"xh\", \"xog\", \"yav\", \"yi\", \"yo\", \"yo-BJ\", \"yrl\", \"yrl-CO\", \"yrl-VE\", \"yue\", \"yue-Hans\", \"yue-Hant\", \"zgh\", \"zh\", \"zh-Hans\", \"zh-Hans-HK\", \"zh-Hans-MO\", \"zh-Hans-SG\", \"zh-Hant\", \"zh-Hant-HK\", \"zh-Hant-MO\", \"zu\"];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetOperands = void 0;\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\n/**\n * http://ecma-international.org/ecma-402/7.0/index.html#sec-getoperands\n * @param s\n */\nfunction GetOperands(s) {\n (0, ecma402_abstract_1.invariant)(typeof s === 'string', \"GetOperands should have been called with a string\");\n var n = (0, ecma402_abstract_1.ToNumber)(s);\n (0, ecma402_abstract_1.invariant)(isFinite(n), 'n should be finite');\n var dp = s.indexOf('.');\n var iv;\n var f;\n var v;\n var fv = '';\n if (dp === -1) {\n iv = n;\n f = 0;\n v = 0;\n }\n else {\n iv = s.slice(0, dp);\n fv = s.slice(dp, s.length);\n f = (0, ecma402_abstract_1.ToNumber)(fv);\n v = fv.length;\n }\n var i = Math.abs((0, ecma402_abstract_1.ToNumber)(iv));\n var w;\n var t;\n if (f !== 0) {\n var ft = fv.replace(/0+$/, '');\n w = ft.length;\n t = (0, ecma402_abstract_1.ToNumber)(ft);\n }\n else {\n w = 0;\n t = 0;\n }\n return {\n Number: n,\n IntegerDigits: i,\n NumberOfFractionDigits: v,\n NumberOfFractionDigitsWithoutTrailing: w,\n FractionDigits: f,\n FractionDigitsWithoutTrailing: t,\n };\n}\nexports.GetOperands = GetOperands;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InitializePluralRules = void 0;\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nvar intl_localematcher_1 = require(\"@formatjs/intl-localematcher\");\nfunction InitializePluralRules(pl, locales, options, _a) {\n var availableLocales = _a.availableLocales, relevantExtensionKeys = _a.relevantExtensionKeys, localeData = _a.localeData, getDefaultLocale = _a.getDefaultLocale, getInternalSlots = _a.getInternalSlots;\n var requestedLocales = (0, ecma402_abstract_1.CanonicalizeLocaleList)(locales);\n var opt = Object.create(null);\n var opts = (0, ecma402_abstract_1.CoerceOptionsToObject)(options);\n var internalSlots = getInternalSlots(pl);\n internalSlots.initializedPluralRules = true;\n var matcher = (0, ecma402_abstract_1.GetOption)(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');\n opt.localeMatcher = matcher;\n internalSlots.type = (0, ecma402_abstract_1.GetOption)(opts, 'type', 'string', ['cardinal', 'ordinal'], 'cardinal');\n (0, ecma402_abstract_1.SetNumberFormatDigitOptions)(internalSlots, opts, 0, 3, 'standard');\n var r = (0, intl_localematcher_1.ResolveLocale)(availableLocales, requestedLocales, opt, relevantExtensionKeys, localeData, getDefaultLocale);\n internalSlots.locale = r.locale;\n return pl;\n}\nexports.InitializePluralRules = InitializePluralRules;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ResolvePlural = void 0;\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nvar GetOperands_1 = require(\"./GetOperands\");\n/**\n * http://ecma-international.org/ecma-402/7.0/index.html#sec-resolveplural\n * @param pl\n * @param n\n * @param PluralRuleSelect Has to pass in bc it's implementation-specific\n */\nfunction ResolvePlural(pl, n, _a) {\n var getInternalSlots = _a.getInternalSlots, PluralRuleSelect = _a.PluralRuleSelect;\n var internalSlots = getInternalSlots(pl);\n (0, ecma402_abstract_1.invariant)((0, ecma402_abstract_1.Type)(internalSlots) === 'Object', 'pl has to be an object');\n (0, ecma402_abstract_1.invariant)('initializedPluralRules' in internalSlots, 'pluralrules must be initialized');\n (0, ecma402_abstract_1.invariant)((0, ecma402_abstract_1.Type)(n) === 'Number', 'n must be a number');\n if (!isFinite(n)) {\n return 'other';\n }\n var locale = internalSlots.locale, type = internalSlots.type;\n var res = (0, ecma402_abstract_1.FormatNumericToString)(internalSlots, n);\n var s = res.formattedString;\n var operands = (0, GetOperands_1.GetOperands)(s);\n return PluralRuleSelect(locale, type, n, operands);\n}\nexports.ResolvePlural = ResolvePlural;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar internalSlotMap = new WeakMap();\nfunction getInternalSlots(x) {\n var internalSlots = internalSlotMap.get(x);\n if (!internalSlots) {\n internalSlots = Object.create(null);\n internalSlotMap.set(x, internalSlots);\n }\n return internalSlots;\n}\nexports.default = getInternalSlots;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PluralRules = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nvar InitializePluralRules_1 = require(\"./abstract/InitializePluralRules\");\nvar ResolvePlural_1 = require(\"./abstract/ResolvePlural\");\nvar get_internal_slots_1 = tslib_1.__importDefault(require(\"./get_internal_slots\"));\nfunction validateInstance(instance, method) {\n if (!(instance instanceof PluralRules)) {\n throw new TypeError(\"Method Intl.PluralRules.prototype.\".concat(method, \" called on incompatible receiver \").concat(String(instance)));\n }\n}\n/**\n * http://ecma-international.org/ecma-402/7.0/index.html#sec-pluralruleselect\n * @param locale\n * @param type\n * @param _n\n * @param param3\n */\nfunction PluralRuleSelect(locale, type, _n, _a) {\n var IntegerDigits = _a.IntegerDigits, NumberOfFractionDigits = _a.NumberOfFractionDigits, FractionDigits = _a.FractionDigits;\n return PluralRules.localeData[locale].fn(NumberOfFractionDigits\n ? \"\".concat(IntegerDigits, \".\").concat(FractionDigits)\n : IntegerDigits, type === 'ordinal');\n}\nvar PluralRules = /** @class */ (function () {\n function PluralRules(locales, options) {\n // test262/test/intl402/RelativeTimeFormat/constructor/constructor/newtarget-undefined.js\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n var newTarget = this && this instanceof PluralRules ? this.constructor : void 0;\n if (!newTarget) {\n throw new TypeError(\"Intl.PluralRules must be called with 'new'\");\n }\n return (0, InitializePluralRules_1.InitializePluralRules)(this, locales, options, {\n availableLocales: PluralRules.availableLocales,\n relevantExtensionKeys: PluralRules.relevantExtensionKeys,\n localeData: PluralRules.localeData,\n getDefaultLocale: PluralRules.getDefaultLocale,\n getInternalSlots: get_internal_slots_1.default,\n });\n }\n PluralRules.prototype.resolvedOptions = function () {\n validateInstance(this, 'resolvedOptions');\n var opts = Object.create(null);\n var internalSlots = (0, get_internal_slots_1.default)(this);\n opts.locale = internalSlots.locale;\n opts.type = internalSlots.type;\n [\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n ].forEach(function (field) {\n var val = internalSlots[field];\n if (val !== undefined) {\n opts[field] = val;\n }\n });\n opts.pluralCategories = tslib_1.__spreadArray([], PluralRules.localeData[opts.locale].categories[opts.type], true);\n return opts;\n };\n PluralRules.prototype.select = function (val) {\n var pr = this;\n validateInstance(pr, 'select');\n var n = (0, ecma402_abstract_1.ToNumber)(val);\n return (0, ResolvePlural_1.ResolvePlural)(pr, n, { getInternalSlots: get_internal_slots_1.default, PluralRuleSelect: PluralRuleSelect });\n };\n PluralRules.prototype.toString = function () {\n return '[object Intl.PluralRules]';\n };\n PluralRules.supportedLocalesOf = function (locales, options) {\n return (0, ecma402_abstract_1.SupportedLocales)(PluralRules.availableLocales, (0, ecma402_abstract_1.CanonicalizeLocaleList)(locales), options);\n };\n PluralRules.__addLocaleData = function () {\n var data = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n data[_i] = arguments[_i];\n }\n for (var _a = 0, data_1 = data; _a < data_1.length; _a++) {\n var _b = data_1[_a], d = _b.data, locale = _b.locale;\n PluralRules.localeData[locale] = d;\n PluralRules.availableLocales.add(locale);\n if (!PluralRules.__defaultLocale) {\n PluralRules.__defaultLocale = locale;\n }\n }\n };\n PluralRules.getDefaultLocale = function () {\n return PluralRules.__defaultLocale;\n };\n PluralRules.localeData = {};\n PluralRules.availableLocales = new Set();\n PluralRules.__defaultLocale = '';\n PluralRules.relevantExtensionKeys = [];\n PluralRules.polyfilled = true;\n return PluralRules;\n}());\nexports.PluralRules = PluralRules;\ntry {\n // IE11 does not have Symbol\n if (typeof Symbol !== 'undefined') {\n Object.defineProperty(PluralRules.prototype, Symbol.toStringTag, {\n value: 'Intl.PluralRules',\n writable: false,\n enumerable: false,\n configurable: true,\n });\n }\n try {\n // https://github.com/tc39/test262/blob/master/test/intl402/PluralRules/length.js\n Object.defineProperty(PluralRules, 'length', {\n value: 0,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n }\n catch (error) {\n // IE 11 sets Function.prototype.length to be non-configurable which will cause the\n // above Object.defineProperty to throw an error.\n }\n // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/length.js\n Object.defineProperty(PluralRules.prototype.constructor, 'length', {\n value: 0,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n // https://github.com/tc39/test262/blob/master/test/intl402/RelativeTimeFormat/constructor/supportedLocalesOf/length.js\n Object.defineProperty(PluralRules.supportedLocalesOf, 'length', {\n value: 1,\n writable: false,\n enumerable: false,\n configurable: true,\n });\n}\ncatch (ex) {\n // Meta fixes for test262\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar _1 = require(\"./\");\nvar should_polyfill_1 = require(\"./should-polyfill\");\nif ((0, should_polyfill_1.shouldPolyfill)()) {\n Object.defineProperty(Intl, 'PluralRules', {\n value: _1.PluralRules,\n writable: true,\n enumerable: false,\n configurable: true,\n });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.shouldPolyfill = void 0;\nvar intl_localematcher_1 = require(\"@formatjs/intl-localematcher\");\nvar supported_locales_generated_1 = require(\"./supported-locales.generated\");\nfunction supportedLocalesOf(locale) {\n if (!locale) {\n return true;\n }\n var locales = Array.isArray(locale) ? locale : [locale];\n return Intl.PluralRules.supportedLocalesOf(locales).length === locales.length;\n}\nfunction shouldPolyfill(locale) {\n if (locale === void 0) { locale = 'en'; }\n if (!('PluralRules' in Intl) ||\n new Intl.PluralRules('en', { minimumFractionDigits: 2 }).select(1) ===\n 'one' ||\n !supportedLocalesOf(locale)) {\n return locale ? (0, intl_localematcher_1.match)([locale], supported_locales_generated_1.supportedLocales, 'en') : undefined;\n }\n}\nexports.shouldPolyfill = shouldPolyfill;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.supportedLocales = void 0;\nexports.supportedLocales = [\"af\", \"ak\", \"am\", \"an\", \"ar\", \"ars\", \"as\", \"asa\", \"ast\", \"az\", \"bal\", \"be\", \"bem\", \"bez\", \"bg\", \"bho\", \"bm\", \"bn\", \"bo\", \"br\", \"brx\", \"bs\", \"ca\", \"ce\", \"ceb\", \"cgg\", \"chr\", \"ckb\", \"cs\", \"cy\", \"da\", \"de\", \"doi\", \"dsb\", \"dv\", \"dz\", \"ee\", \"el\", \"en\", \"eo\", \"es\", \"et\", \"eu\", \"fa\", \"ff\", \"fi\", \"fil\", \"fo\", \"fr\", \"fur\", \"fy\", \"ga\", \"gd\", \"gl\", \"gsw\", \"gu\", \"guw\", \"gv\", \"ha\", \"haw\", \"he\", \"hi\", \"hnj\", \"hr\", \"hsb\", \"hu\", \"hy\", \"ia\", \"id\", \"ig\", \"ii\", \"io\", \"is\", \"it\", \"iu\", \"ja\", \"jbo\", \"jgo\", \"jmc\", \"jv\", \"jw\", \"ka\", \"kab\", \"kaj\", \"kcg\", \"kde\", \"kea\", \"kk\", \"kkj\", \"kl\", \"km\", \"kn\", \"ko\", \"ks\", \"ksb\", \"ksh\", \"ku\", \"kw\", \"ky\", \"lag\", \"lb\", \"lg\", \"lij\", \"lkt\", \"ln\", \"lo\", \"lt\", \"lv\", \"mas\", \"mg\", \"mgo\", \"mk\", \"ml\", \"mn\", \"mo\", \"mr\", \"ms\", \"mt\", \"my\", \"nah\", \"naq\", \"nb\", \"nd\", \"ne\", \"nl\", \"nn\", \"nnh\", \"no\", \"nqo\", \"nr\", \"nso\", \"ny\", \"nyn\", \"om\", \"or\", \"os\", \"osa\", \"pa\", \"pap\", \"pcm\", \"pl\", \"prg\", \"ps\", \"pt\", \"pt-PT\", \"rm\", \"ro\", \"rof\", \"ru\", \"rwk\", \"sah\", \"saq\", \"sat\", \"sc\", \"scn\", \"sd\", \"sdh\", \"se\", \"seh\", \"ses\", \"sg\", \"sh\", \"shi\", \"si\", \"sk\", \"sl\", \"sma\", \"smi\", \"smj\", \"smn\", \"sms\", \"sn\", \"so\", \"sq\", \"sr\", \"ss\", \"ssy\", \"st\", \"su\", \"sv\", \"sw\", \"syr\", \"ta\", \"te\", \"teo\", \"th\", \"ti\", \"tig\", \"tk\", \"tl\", \"tn\", \"to\", \"tpi\", \"tr\", \"ts\", \"tzm\", \"ug\", \"uk\", \"und\", \"ur\", \"uz\", \"ve\", \"vi\", \"vo\", \"vun\", \"wa\", \"wae\", \"wo\", \"xh\", \"xog\", \"yi\", \"yo\", \"yue\", \"zh\", \"zu\"];\n","/*\n * Extracted from htmlwidgets 1.5.4 (https://github.com/ramnathv/htmlwidgets/blob/v1.5.4/inst/www/htmlwidgets.js)\n * Copyright 2016 Ramnath Vaidyanathan, Joe Cheng, JJ Allaire, Yihui Xie, and Kenton Russell\n * Licensed under MIT (https://github.com/ramnathv/htmlwidgets/blob/v1.5.4/LICENSE)\n */\n\n// Required to evaluate JS() expressions for statically rendered tables.\n// Must be bundled because htmlwidgets.js needs to be run in a browser context\n// and can't be sourced at runtime in V8 environment.\nexport function evaluateStringMember(o, member) {\n var parts = splitWithEscape(member, '.', '\\\\')\n for (var i = 0, l = parts.length; i < l; i++) {\n var part = parts[i]\n // part may be a character or 'numeric' member name\n if (o !== null && typeof o === 'object' && part in o) {\n if (i == l - 1) {\n // if we are at the end of the line then evalulate\n if (typeof o[part] === 'string') o[part] = tryEval(o[part])\n } else {\n // otherwise continue to next embedded object\n o = o[part]\n }\n }\n }\n}\n\n// Split value at splitChar, but allow splitChar to be escaped\n// using escapeChar. Any other characters escaped by escapeChar\n// will be included as usual (including escapeChar itself).\nfunction splitWithEscape(value, splitChar, escapeChar) {\n var results = []\n var escapeMode = false\n var currentResult = ''\n for (var pos = 0; pos < value.length; pos++) {\n if (!escapeMode) {\n if (value[pos] === splitChar) {\n results.push(currentResult)\n currentResult = ''\n } else if (value[pos] === escapeChar) {\n escapeMode = true\n } else {\n currentResult += value[pos]\n }\n } else {\n currentResult += value[pos]\n escapeMode = false\n }\n }\n if (currentResult !== '') {\n results.push(currentResult)\n }\n return results\n}\n\n// Attempt eval() both with and without enclosing in parentheses.\n// Note that enclosing coerces a function declaration into\n// an expression that eval() can parse\n// (otherwise, a SyntaxError is thrown)\nfunction tryEval(code) {\n var result = null\n try {\n result = eval('(' + code + ')')\n } catch (error) {\n if (!(error instanceof SyntaxError)) {\n throw error\n }\n try {\n result = eval(code)\n } catch (e) {\n if (e instanceof SyntaxError) {\n throw error\n } else {\n throw e\n }\n }\n }\n return result\n}\n","// react-test-renderer requires setTimeout and clearTimeout, but doesn't need them to be functional\nexport function setTimeout() {\n // no-op\n}\n\nexport function clearTimeout() {\n // no-op\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \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 ''\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","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\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// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('buffer').Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","\"use strict\";\n\nvar stream = require(\"readable-stream\");\n\nfunction DuplexWrapper(options, writable, readable) {\n if (typeof readable === \"undefined\") {\n readable = writable;\n writable = options;\n options = null;\n }\n\n stream.Duplex.call(this, options);\n\n if (typeof readable.read !== \"function\") {\n readable = (new stream.Readable(options)).wrap(readable);\n }\n\n this._writable = writable;\n this._readable = readable;\n this._waiting = false;\n\n var self = this;\n\n writable.once(\"finish\", function() {\n self.end();\n });\n\n this.once(\"finish\", function() {\n writable.end();\n });\n\n readable.on(\"readable\", function() {\n if (self._waiting) {\n self._waiting = false;\n self._read();\n }\n });\n\n readable.once(\"end\", function() {\n self.push(null);\n });\n\n if (!options || typeof options.bubbleErrors === \"undefined\" || options.bubbleErrors) {\n writable.on(\"error\", function(err) {\n self.emit(\"error\", err);\n });\n\n readable.on(\"error\", function(err) {\n self.emit(\"error\", err);\n });\n }\n}\n\nDuplexWrapper.prototype = Object.create(stream.Duplex.prototype, {constructor: {value: DuplexWrapper}});\n\nDuplexWrapper.prototype._write = function _write(input, encoding, done) {\n this._writable.write(input, encoding, done);\n};\n\nDuplexWrapper.prototype._read = function _read() {\n var buf;\n var reads = 0;\n while ((buf = this._readable.read()) !== null) {\n this.push(buf);\n reads++;\n }\n if (reads === 0) {\n this._waiting = true;\n }\n};\n\nmodule.exports = function duplex2(options, writable, readable) {\n return new DuplexWrapper(options, writable, readable);\n};\n\nmodule.exports.DuplexWrapper = DuplexWrapper;\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\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// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/**/\n\nmodule.exports = Duplex;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\n{\n // avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\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\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\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 () {\n return this._writableState.highWaterMark;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n pna.nextTick(cb, err);\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// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// 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/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Readable;\n\n/**/\nvar isArray = require('isarray');\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // 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 var isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var readableHwm = options.readableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n pna.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n pna.nextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n pna.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\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 () {\n return this._readableState.highWaterMark;\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n pna.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return this.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n\n cb(er);\n\n var rs = this._readableState;\n rs.reading = false;\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\n Duplex.call(this, options);\n\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function') {\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};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this2 = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this2.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');\n\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\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/**/\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar util = Object.create(require('core-util-is'));\nutil.inherits = require('inherits');\n/**/\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // 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 var isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var writableHwm = options.writableHighWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\n if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n pna.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n pna.nextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !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\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\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 () {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n pna.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n pna.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /**/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /**/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n 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\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n pna.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 if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};","'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\nvar util = require('util');\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\nif (util && util.inspect && util.inspect.custom) {\n module.exports.prototype[util.inspect.custom] = function () {\n var obj = util.inspect({ length: this.length });\n return this.constructor.name + ' ' + obj;\n };\n}","'use strict';\n\n/**/\n\nvar pna = require('process-nextick-args');\n/**/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};","module.exports = require('stream');\n","var Stream = require('stream');\nif (process.env.READABLE_STREAM === 'disable' && Stream) {\n module.exports = Stream;\n exports = module.exports = Stream.Readable;\n exports.Readable = Stream.Readable;\n exports.Writable = Stream.Writable;\n exports.Duplex = Stream.Duplex;\n exports.Transform = Stream.Transform;\n exports.PassThrough = Stream.PassThrough;\n exports.Stream = Stream;\n} else {\n exports = module.exports = require('./lib/_stream_readable.js');\n exports.Stream = Stream || exports;\n exports.Readable = exports;\n exports.Writable = require('./lib/_stream_writable.js');\n exports.Duplex = require('./lib/_stream_duplex.js');\n exports.Transform = require('./lib/_stream_transform.js');\n exports.PassThrough = require('./lib/_stream_passthrough.js');\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/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\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}","// 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","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","var bufferFrom = require('buffer-from')\nvar Transform = require('readable-stream').Transform;\nvar inherits = require('inherits');\n\ninherits(Tokenize, Transform);\nmodule.exports = Tokenize;\n\nvar codes = {\n lt: '<'.charCodeAt(0),\n gt: '>'.charCodeAt(0),\n slash: '/'.charCodeAt(0),\n dquote: '\"'.charCodeAt(0),\n squote: \"'\".charCodeAt(0),\n equal: '='.charCodeAt(0)\n};\n\nvar strings = {\n endScript: bufferFrom(''),\n cdata: bufferFrom('')\n};\n\nvar states = {\n 'TagNameState': 1,\n 'AttributeNameState': 2,\n 'BeforeAttributeValueState': 3,\n 'AttributeValueState':4\n}\n\nfunction Tokenize () {\n if (!(this instanceof Tokenize)) return new Tokenize;\n Transform.call(this);\n this._readableState.objectMode = true;\n this.state = 'text';\n this.tagState = null;\n this.quoteState = null;\n this.raw = null;\n this.buffers = [];\n this._last = [];\n}\n\nTokenize.prototype._transform = function (buf, enc, next) {\n var i = 0;\n var offset = 0;\n \n if (this._prev) {\n buf = Buffer.concat([ this._prev, buf ]);\n i = this._prev.length - 1;\n offset = this._offset;\n this._prev = null;\n this._offset = 0;\n }\n \n for (; i < buf.length; i++) {\n var b = buf[i];\n this._last.push(b);\n if (this._last.length > 9) this._last.shift();\n // detect end of raw character mode (comment, script,..)\n if (this.raw) {\n var parts = this._testRaw(buf, offset, i);\n if (parts) {\n this.push([ 'text', parts[0] ]);\n \n if (this.raw === strings.endComment\n || this.raw === strings.endCdata) {\n this.state = 'text';\n this.buffers = [];\n this.push([ 'close', parts[1] ]);\n }\n else {\n this.state = 'open';\n this.buffers = [ parts[1] ];\n }\n \n this.raw = null;\n offset = i + 1;\n }\n }\n // ask for more data if last byte is '<' \n else if (this.state === 'text' && b === codes.lt\n && i === buf.length - 1) {\n this._prev = buf;\n this._offset = offset;\n return next();\n }\n // detect a tag opening\n else if (this.state === 'text' && b === codes.lt\n && !isWhiteSpace(buf[i+1])) {\n if (i > 0 && i - offset > 0) {\n this.buffers.push(buf.slice(offset, i));\n }\n offset = i;\n this.state = 'open';\n this.tagState = states.TagNameState;\n this._pushState('text');\n }\n else if (\n this.tagState === states.TagNameState &&\n isWhiteSpace(b)\n ) {\n this.tagState = states.AttributeNameState\n }\n else if (\n this.tagState === states.AttributeNameState &&\n b === codes.equal\n ) {\n this.tagState = states.BeforeAttributeValueState\n }\n else if (\n this.tagState === states.BeforeAttributeValueState &&\n isWhiteSpace(b)\n ) {}\n else if (\n this.tagState === states.BeforeAttributeValueState\n && b !== codes.gt\n ) {\n this.tagState = states.AttributeValueState;\n if (b === codes.dquote) {\n this.quoteState = 'double';\n } else if (b === codes.squote) {\n this.quoteState = 'single';\n } else {\n this.quoteState = null;\n }\n }\n else if (\n this.tagState === states.AttributeValueState &&\n !this.quoteState &&\n isWhiteSpace(b)\n ) {\n this.tagState = states.AttributeNameState;\n }\n else if (\n this.tagState === states.AttributeValueState &&\n this.quoteState === 'double' &&\n b === codes.dquote\n ) {\n this.quoteState = null;\n this.tagState = states.AttributeNameState;\n }\n else if (\n this.tagState === states.AttributeValueState &&\n this.quoteState === 'single' &&\n b === codes.squote\n ) {\n this.quoteState = null;\n this.tagState = states.AttributeNameState;\n }\n else if (this.state === 'open' && b === codes.gt && !this.quoteState) {\n this.buffers.push(buf.slice(offset, i + 1));\n offset = i + 1;\n this.state = 'text';\n this.tagState = null;\n if (this._getChar(1) === codes.slash) {\n this._pushState('close');\n }\n else {\n var tag = this._getTag();\n if (tag === 'script') this.raw = strings.endScript;\n if (tag === 'style') this.raw = strings.endStyle;\n if (tag === 'title') this.raw = strings.endTitle;\n this._pushState('open');\n }\n }\n else if (this.state === 'open' && compare(this._last, strings.comment)) {\n this.buffers.push(buf.slice(offset, i + 1));\n offset = i + 1;\n this.state = 'text';\n this.raw = strings.endComment;\n this._pushState('open');\n }\n else if (this.state === 'open' && compare(this._last, strings.cdata)) {\n this.buffers.push(buf.slice(offset, i + 1));\n offset = i + 1;\n this.state = 'text';\n this.raw = strings.endCdata;\n this._pushState('open');\n }\n }\n if (offset < buf.length) this.buffers.push(buf.slice(offset));\n next();\n};\n\nTokenize.prototype._flush = function (next) {\n if (this.state === 'text') this._pushState('text');\n this.push(null);\n next();\n};\n\nTokenize.prototype._pushState = function (ev) {\n if (this.buffers.length === 0) return;\n var buf = Buffer.concat(this.buffers);\n this.buffers = [];\n this.push([ ev, buf ]);\n};\n\nTokenize.prototype._getChar = function (i) {\n var offset = 0;\n for (var j = 0; j < this.buffers.length; j++) {\n var buf = this.buffers[j];\n if (offset + buf.length > i) {\n return buf[i - offset];\n }\n offset += buf;\n }\n};\n\nTokenize.prototype._getTag = function () {\n var offset = 0;\n var tag = '';\n for (var j = 0; j < this.buffers.length; j++) {\n var buf = this.buffers[j];\n for (var k = 0; k < buf.length; k++) {\n if (offset === 0 && k === 0) continue;\n var c = String.fromCharCode(buf[k]);\n if (/[^\\w-!\\[\\]]/.test(c)) {\n return tag.toLowerCase();\n }\n else tag += c;\n }\n offset += buf.length;\n }\n};\n\nTokenize.prototype._testRaw = function (buf, offset, index) {\n var raw = this.raw, last = this._last;\n if (!compare(last, raw)) return;\n \n this.buffers.push(buf.slice(offset, index + 1));\n var buf = Buffer.concat(this.buffers);\n var k = buf.length - raw.length;\n return [ buf.slice(0, k), buf.slice(k) ];\n};\n\nfunction compare (a, b) {\n if (a.length < b.length) return false;\n for (var i=a.length-1, j=b.length-1; i >= 0 && j >= 0; i--, j--) {\n if (lower(a[i]) !== lower(b[j])) return false;\n }\n return true;\n}\n\nfunction lower (n) {\n if (n >= 65 && n <= 90) return n + 32;\n return n;\n}\n\nfunction isWhiteSpace(b) {\n return b === 0x20 || b === 0x09 || b === 0x0A || b === 0x0C || b === 0x0D;\n}\n","var toString = Object.prototype.toString\n\nvar isModern = (\n typeof Buffer.alloc === 'function' &&\n typeof Buffer.allocUnsafe === 'function' &&\n typeof Buffer.from === 'function'\n)\n\nfunction isArrayBuffer (input) {\n return toString.call(input).slice(8, -1) === 'ArrayBuffer'\n}\n\nfunction fromArrayBuffer (obj, byteOffset, length) {\n byteOffset >>>= 0\n\n var maxLength = obj.byteLength - byteOffset\n\n if (maxLength < 0) {\n throw new RangeError(\"'offset' is out of bounds\")\n }\n\n if (length === undefined) {\n length = maxLength\n } else {\n length >>>= 0\n\n if (length > maxLength) {\n throw new RangeError(\"'length' is out of bounds\")\n }\n }\n\n return isModern\n ? Buffer.from(obj.slice(byteOffset, byteOffset + length))\n : new Buffer(new Uint8Array(obj.slice(byteOffset, byteOffset + length)))\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n return isModern\n ? Buffer.from(string, encoding)\n : new Buffer(string, encoding)\n}\n\nfunction bufferFrom (value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (isArrayBuffer(value)) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n return isModern\n ? Buffer.from(value)\n : new Buffer(value)\n}\n\nmodule.exports = bufferFrom\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","try {\n var util = require('util');\n /* istanbul ignore next */\n if (typeof util.inherits !== 'function') throw '';\n module.exports = util.inherits;\n} catch (e) {\n /* istanbul ignore next */\n module.exports = require('./inherits_browser.js');\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","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n/* globals document: false */\nvar documentDotAll = typeof document === 'object' && typeof document.all === 'undefined' && document.all !== undefined ? document.all : {};\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (value === documentDotAll) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (typeof value === 'function' && !value.prototype) { return true; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (value === documentDotAll) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (typeof value === 'function' && !value.prototype) { return true; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\treturn strClass === fnClass || strClass === genClass;\n\t};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","\n/**\n * Module dependencies.\n */\n\nvar duplexer = require('duplexer2');\nvar PassThrough = require('stream').PassThrough;\nvar Readable = require('stream').PassThrough;\nvar objectAssign = require('object-assign');\n\n/**\n * Slice reference.\n */\n\nvar slice = [].slice;\n\n/**\n * Duplexer options.\n */\n\nvar defaultOpts = {\n bubbleErrors: false,\n objectMode: true\n};\n\n/**\n * Expose `pipe`.\n */\n\nmodule.exports = pipe;\n\n/**\n * Pipe.\n *\n * @param streams Array[Stream,...]\n * @param opts [Object]\n * @param cb [Function]\n * @return {Stream}\n * @api public\n */\n\nfunction pipe(streams, opts, cb){\n if (!Array.isArray(streams)) {\n streams = slice.call(arguments);\n opts = null;\n cb = null;\n }\n\n var lastArg = streams[streams.length - 1];\n if ('function' == typeof lastArg) {\n cb = streams.splice(-1)[0];\n lastArg = streams[streams.length - 1];\n }\n if ('object' == typeof lastArg && typeof lastArg.pipe != 'function') {\n opts = streams.splice(-1)[0];\n }\n var first = streams[0];\n var last = streams[streams.length - 1];\n var ret;\n opts = objectAssign({}, defaultOpts, opts)\n\n if (!first) {\n if (cb) process.nextTick(cb);\n return new PassThrough(opts);\n }\n \n if (first.writable && last.readable) ret = duplexer(opts, first, last);\n else if (streams.length == 1) ret = new Readable(opts).wrap(streams[0]);\n else if (first.writable) ret = first;\n else if (last.readable) ret = last;\n else ret = new PassThrough(opts);\n \n streams.forEach(function(stream, i){\n var next = streams[i+1];\n if (next) stream.pipe(next);\n if (stream != ret) stream.on('error', ret.emit.bind(ret, 'error'));\n });\n\n if (cb) {\n var ended = false;\n ret.on('error', end);\n last.on('finish', function(){ end() });\n last.on('close', function(){ end() });\n function end(err){\n if (ended) return;\n ended = true;\n cb(err);\n }\n }\n\n return ret;\n}\n\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n","// 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","/** @license React v17.0.2\n * react-dom-server.node.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=require(\"react\"),aa=require(\"stream\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cK;K++)J[K]=K+1;J[15]=0;var pa=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,qa=Object.prototype.hasOwnProperty,ra={},sa={};\nfunction ta(a){if(qa.call(sa,a))return!0;if(qa.call(ra,a))return!1;if(pa.test(a))return sa[a]=!0;ra[a]=!0;return!1}function ua(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction va(a,b,c,d){if(null===b||\"undefined\"===typeof b||ua(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function M(a,b,c,d,f,h,t){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=f;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=h;this.removeEmptyString=t}var N={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){N[a]=new M(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];N[b]=new M(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){N[a]=new M(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){N[a]=new M(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){N[a]=new M(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){N[a]=new M(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){N[a]=new M(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){N[a]=new M(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){N[a]=new M(a,5,!1,a.toLowerCase(),null,!1,!1)});var wa=/[\\-:]([a-z])/g;function xa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(wa,\nxa);N[b]=new M(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(wa,xa);N[b]=new M(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(wa,xa);N[b]=new M(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){N[a]=new M(a,1,!1,a.toLowerCase(),null,!1,!1)});\nN.xlinkHref=new M(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){N[a]=new M(a,1,!1,a.toLowerCase(),null,!0,!0)});var ya=/[\"'&<>]/;\nfunction O(a){if(\"boolean\"===typeof a||\"number\"===typeof a)return\"\"+a;a=\"\"+a;var b=ya.exec(a);if(b){var c=\"\",d,f=0;for(d=b.index;dV))throw Error(p(301));if(a===P)if(T=!0,a={action:c,next:null},null===U&&(U=new Map),c=U.get(b),void 0===c)U.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}}function Ka(){}\nvar X=null,La={readContext:function(a){var b=X.threadID;I(a,b);return a[b]},useContext:function(a){W();var b=X.threadID;I(a,b);return a[b]},useMemo:Ja,useReducer:Ha,useRef:function(a){P=W();R=Da();var b=R.memoizedState;return null===b?(a={current:a},R.memoizedState=a):b},useState:function(a){return Ha(Ga,a)},useLayoutEffect:function(){},useCallback:function(a,b){return Ja(function(){return a},b)},useImperativeHandle:Ka,useEffect:Ka,useDebugValue:Ka,useDeferredValue:function(a){W();return a},useTransition:function(){W();\nreturn[function(a){a()},!1]},useOpaqueIdentifier:function(){return(X.identifierPrefix||\"\")+\"R:\"+(X.uniqueID++).toString(36)},useMutableSource:function(a,b){W();return b(a._source)}},Ma={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};function Na(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nvar Oa={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},Pa=l({menuitem:!0},Oa),Y={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,\ngridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Qa=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(Y).forEach(function(a){Qa.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);Y[b]=Y[a]})});\nvar Ra=/([A-Z])/g,Sa=/^ms-/,Z=n.Children.toArray,Ta=ma.ReactCurrentDispatcher,Ua={listing:!0,pre:!0,textarea:!0},Va=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,Wa={},Xa={};function Ya(a){if(void 0===a||null===a)return a;var b=\"\";n.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}var Za=Object.prototype.hasOwnProperty,$a={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null,suppressHydrationWarning:null};function ab(a,b){if(void 0===a)throw Error(p(152,F(b)||\"Component\"));}\nfunction bb(a,b,c){function d(d,h){var e=h.prototype&&h.prototype.isReactComponent,f=oa(h,b,c,e),t=[],g=!1,m={isMounted:function(){return!1},enqueueForceUpdate:function(){if(null===t)return null},enqueueReplaceState:function(a,b){g=!0;t=[b]},enqueueSetState:function(a,b){if(null===t)return null;t.push(b)}};if(e){if(e=new h(d.props,f,m),\"function\"===typeof h.getDerivedStateFromProps){var k=h.getDerivedStateFromProps.call(null,d.props,e.state);null!=k&&(e.state=l({},e.state,k))}}else if(P={},e=h(d.props,\nf,m),e=Ea(h,d.props,e,f),null==e||null==e.render){a=e;ab(a,h);return}e.props=d.props;e.context=f;e.updater=m;m=e.state;void 0===m&&(e.state=m=null);if(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount)if(\"function\"===typeof e.componentWillMount&&\"function\"!==typeof h.getDerivedStateFromProps&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof h.getDerivedStateFromProps&&e.UNSAFE_componentWillMount(),t.length){m=t;var v=\ng;t=null;g=!1;if(v&&1===m.length)e.state=m[0];else{k=v?m[0]:e.state;var H=!0;for(v=v?1:0;v=g))throw Error(p(304));var e=new Uint16Array(g);e.set(d);J=e;J[0]=c+1;for(d=c;d=e.children.length){var L=e.footer;\"\"!==L&&(this.previousWasTextNode=!1);this.stack.pop();if(\"select\"===e.type)this.currentSelectValue=null;else if(null!=e.type&&null!=e.type.type&&e.type.type.$$typeof===B)this.popProvider(e.type);else if(e.type===D){this.suspenseDepth--;var G=h.pop();if(t){t=!1;var C=e.fallbackFrame;if(!C)throw Error(p(303));this.stack.push(C);h[this.suspenseDepth]+=\"\\x3c!--$!--\\x3e\";continue}else h[this.suspenseDepth]+=\nG}h[this.suspenseDepth]+=L}else{var m=e.children[e.childIndex++],k=\"\";try{k+=this.render(m,e.context,e.domNamespace)}catch(v){if(null!=v&&\"function\"===typeof v.then)throw Error(p(294));throw v;}finally{}h.length<=this.suspenseDepth&&h.push(\"\");h[this.suspenseDepth]+=k}}return h[0]}finally{Ta.current=c,X=b,Fa()}};b.render=function(a,b,f){if(\"string\"===typeof a||\"number\"===typeof a){f=\"\"+a;if(\"\"===f)return\"\";if(this.makeStaticMarkup)return O(f);if(this.previousWasTextNode)return\"\\x3c!-- --\\x3e\"+O(f);\nthis.previousWasTextNode=!0;return O(f)}b=bb(a,b,this.threadID);a=b.child;b=b.context;if(null===a||!1===a)return\"\";if(!n.isValidElement(a)){if(null!=a&&null!=a.$$typeof){f=a.$$typeof;if(f===q)throw Error(p(257));throw Error(p(258,f.toString()));}a=Z(a);this.stack.push({type:null,domNamespace:f,children:a,childIndex:0,context:b,footer:\"\"});return\"\"}var c=a.type;if(\"string\"===typeof c)return this.renderDOM(a,b,f);switch(c){case la:case ka:case u:case z:case da:case r:return a=Z(a.props.children),this.stack.push({type:null,\ndomNamespace:f,children:a,childIndex:0,context:b,footer:\"\"}),\"\";case D:throw Error(p(294));case ja:throw Error(p(343));}if(\"object\"===typeof c&&null!==c)switch(c.$$typeof){case ca:P={};var d=c.render(a.props,a.ref);d=Ea(c.render,a.props,d,a.ref);d=Z(d);this.stack.push({type:null,domNamespace:f,children:d,childIndex:0,context:b,footer:\"\"});return\"\";case ea:return a=[n.createElement(c.type,l({ref:a.ref},a.props))],this.stack.push({type:null,domNamespace:f,children:a,childIndex:0,context:b,footer:\"\"}),\n\"\";case B:return c=Z(a.props.children),f={type:a,domNamespace:f,children:c,childIndex:0,context:b,footer:\"\"},this.pushProvider(a),this.stack.push(f),\"\";case ba:c=a.type;d=a.props;var g=this.threadID;I(c,g);c=Z(d.children(c[g]));this.stack.push({type:a,domNamespace:f,children:c,childIndex:0,context:b,footer:\"\"});return\"\";case ia:throw Error(p(338));case fa:return c=a.type,d=c._init,c=d(c._payload),a=[n.createElement(c,l({ref:a.ref},a.props))],this.stack.push({type:null,domNamespace:f,children:a,childIndex:0,\ncontext:b,footer:\"\"}),\"\"}throw Error(p(130,null==c?c:typeof c,\"\"));};b.renderDOM=function(a,b,f){var c=a.type.toLowerCase();f===Ma.html&&Na(c);if(!Wa.hasOwnProperty(c)){if(!Va.test(c))throw Error(p(65,c));Wa[c]=!0}var d=a.props;if(\"input\"===c)d=l({type:void 0},d,{defaultChecked:void 0,defaultValue:void 0,value:null!=d.value?d.value:d.defaultValue,checked:null!=d.checked?d.checked:d.defaultChecked});else if(\"textarea\"===c){var g=d.value;if(null==g){g=d.defaultValue;var e=d.children;if(null!=e){if(null!=\ng)throw Error(p(92));if(Array.isArray(e)){if(!(1>=e.length))throw Error(p(93));e=e[0]}g=\"\"+e}null==g&&(g=\"\")}d=l({},d,{value:void 0,children:\"\"+g})}else if(\"select\"===c)this.currentSelectValue=null!=d.value?d.value:d.defaultValue,d=l({},d,{value:void 0});else if(\"option\"===c){e=this.currentSelectValue;var L=Ya(d.children);if(null!=e){var G=null!=d.value?d.value+\"\":L;g=!1;if(Array.isArray(e))for(var C=0;C\":(w+=\">\",g=\"\");a:{e=d.dangerouslySetInnerHTML;if(null!=e){if(null!=e.__html){e=e.__html;break a}}else if(e=d.children,\"string\"===typeof e||\"number\"===typeof e){e=O(e);break a}e=null}null!=e?(d=[],Ua.hasOwnProperty(c)&&\"\\n\"===e.charAt(0)&&(w+=\"\\n\"),w+=e):d=Z(d.children);a=a.type;f=null==f||\"http://www.w3.org/1999/xhtml\"===f?Na(a):\"http://www.w3.org/2000/svg\"===\nf&&\"foreignObject\"===a?\"http://www.w3.org/1999/xhtml\":f;this.stack.push({domNamespace:f,type:c,children:d,childIndex:0,context:b,footer:g});this.previousWasTextNode=!1;return w};return a}();function db(a,b){a.prototype=Object.create(b.prototype);a.prototype.constructor=a;a.__proto__=b}\nvar fb=function(a){function b(b,c,h){var d=a.call(this,{})||this;d.partialRenderer=new cb(b,c,h);return d}db(b,a);var c=b.prototype;c._destroy=function(a,b){this.partialRenderer.destroy();b(a)};c._read=function(a){try{this.push(this.partialRenderer.read(a))}catch(f){this.destroy(f)}};return b}(aa.Readable);exports.renderToNodeStream=function(a,b){return new fb(a,!1,b)};exports.renderToStaticMarkup=function(a,b){a=new cb(a,!0,b);try{return a.read(Infinity)}finally{a.destroy()}};\nexports.renderToStaticNodeStream=function(a,b){return new fb(a,!0,b)};exports.renderToString=function(a,b){a=new cb(a,!1,b);try{return a.read(Infinity)}finally{a.destroy()}};exports.version=\"17.0.2\";\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;eg||e[h]!==f[g])return\"\\n\"+e[h].replace(\" at new \",\" at \");while(1<=h&&0<=g)}break}}}finally{Ra=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Qa(a):\"\"}var Ta=[],Ua=-1;function Va(a){return{current:a}}function A(a){0>Ua||(a.current=Ta[Ua],Ta[Ua]=null,Ua--)}function B(a,b){Ua++;Ta[Ua]=a.current;a.current=b}\nvar Wa={},C=Va(Wa),D=Va(!1),Xa=Wa;function Ya(a,b){var c=a.type.contextTypes;if(!c)return Wa;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function E(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Za(){A(D);A(C)}\nfunction $a(a,b,c){if(C.current!==Wa)throw Error(q(168));B(C,b);B(D,c)}function ab(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(q(108,za(b)||\"Unknown\",e));return aa({},c,d)}function bb(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Wa;Xa=C.current;B(C,a);B(D,D.current);return!0}\nfunction cb(a,b,c){var d=a.stateNode;if(!d)throw Error(q(169));c?(a=ab(a,b,Xa),d.__reactInternalMemoizedMergedChildContext=a,A(D),A(C),B(C,a)):A(D);B(D,c)}var db=null,eb=null,fb=n.unstable_now;fb();var F=8;\nfunction gb(a){if(0!==(1&a))return F=15,1;if(0!==(2&a))return F=14,2;if(0!==(4&a))return F=13,4;var b=24&a;if(0!==b)return F=12,b;if(0!==(a&32))return F=11,32;b=192&a;if(0!==b)return F=10,b;if(0!==(a&256))return F=9,256;b=3584&a;if(0!==b)return F=8,b;if(0!==(a&4096))return F=7,4096;b=4186112&a;if(0!==b)return F=6,b;b=62914560&a;if(0!==b)return F=5,b;if(a&67108864)return F=4,67108864;if(0!==(a&134217728))return F=3,134217728;b=805306368&a;if(0!==b)return F=2,b;if(0!==(1073741824&a))return F=1,1073741824;\nF=8;return a}function hb(a){switch(a){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function ib(a){switch(a){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(q(358,a));}}\nfunction jb(a,b){var c=a.pendingLanes;if(0===c)return F=0;var d=0,e=0,f=a.expiredLanes,h=a.suspendedLanes,g=a.pingedLanes;if(0!==f)d=f,e=F=15;else if(f=c&134217727,0!==f){var k=f&~h;0!==k?(d=gb(k),e=F):(g&=f,0!==g&&(d=gb(g),e=F))}else f=c&~h,0!==f?(d=gb(f),e=F):0!==g&&(d=gb(g),e=F);if(0===d)return 0;d=31-kb(d);d=c&((0>d?0:1<c;c++)b.push(a);return b}\nfunction pb(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-kb(b);a[b]=c}var kb=Math.clz32?Math.clz32:qb,rb=Math.log,sb=Math.LN2;function qb(a){return 0===a?32:31-(rb(a)/sb|0)|0}\nvar tb=n.unstable_runWithPriority,ub=n.unstable_scheduleCallback,vb=n.unstable_cancelCallback,wb=n.unstable_shouldYield,xb=n.unstable_requestPaint,yb=n.unstable_now,zb=n.unstable_getCurrentPriorityLevel,Ab=n.unstable_ImmediatePriority,Bb=n.unstable_UserBlockingPriority,Cb=n.unstable_NormalPriority,Db=n.unstable_LowPriority,Eb=n.unstable_IdlePriority,Fb={},Gb=void 0!==xb?xb:function(){},Hb=null,Ib=null,Jb=!1,Kb=yb(),G=1E4>Kb?yb:function(){return yb()-Kb};\nfunction Lb(){switch(zb()){case Ab:return 99;case Bb:return 98;case Cb:return 97;case Db:return 96;case Eb:return 95;default:throw Error(q(332));}}function Mb(a){switch(a){case 99:return Ab;case 98:return Bb;case 97:return Cb;case 96:return Db;case 95:return Eb;default:throw Error(q(332));}}function Nb(a,b){a=Mb(a);return tb(a,b)}function Ob(a,b,c){a=Mb(a);return ub(a,b,c)}function Pb(){if(null!==Ib){var a=Ib;Ib=null;vb(a)}Qb()}\nfunction Qb(){if(!Jb&&null!==Hb){Jb=!0;var a=0;try{var b=Hb;Nb(99,function(){for(;ay?(p=t,t=null):p=t.sibling;var v=m(e,t,g[y],k);if(null===v){null===t&&(t=p);break}a&&t&&null===\nv.alternate&&b(e,t);h=f(v,h,y);null===l?u=v:l.sibling=v;l=v;t=p}if(y===g.length)return c(e,t),u;if(null===t){for(;yy?(p=u,u=null):p=u.sibling;var x=m(e,u,v.value,k);if(null===x){null===u&&(u=p);break}a&&u&&null===x.alternate&&b(e,u);h=f(x,h,y);null===l?t=x:l.sibling=x;l=x;u=p}if(v.done)return c(e,u),t;if(null===u){for(;!v.done;y++,v=g.next())v=r(e,v.value,k),null!==v&&(h=f(v,h,y),null===l?t=v:l.sibling=v,l=v);return t}for(u=d(e,u);!v.done;y++,v=g.next())v=z(u,e,y,v.value,k),null!==v&&(a&&null!==v.alternate&&\nu.delete(null===v.key?y:v.key),h=f(v,h,y),null===l?t=v:l.sibling=v,l=v);a&&u.forEach(function(a){return b(e,a)});return t}return function(a,d,f,g){var k=\"object\"===typeof f&&null!==f&&f.type===ja&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case ha:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ja){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=xc(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ja?(d=Ec(f.props.children,a.mode,g,f.key),d.return=a,a=d):(g=Cc(f.type,f.key,f.props,null,a.mode,g),g.ref=xc(a,d,f),g.return=a,a=g)}return h(a);case ia:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nDc(f,a.mode,g);d.return=a;a=d}return h(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Bc(f,a.mode,g),d.return=a,a=d),h(a);if(wc(f))return x(a,d,f,g);if(ya(f))return V(a,d,f,g);l&&yc(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(q(152,za(a.type)||\"Component\"));}return c(a,d)}}var Fc=zc(!0),Gc=zc(!1),Hc={},Ic=Va(Hc),Jc=Va(Hc),Kc=Va(Hc);\nfunction Lc(a){if(a===Hc)throw Error(q(174));return a}function Mc(a,b){B(Kc,b);B(Jc,a);B(Ic,Hc);A(Ic);B(Ic,Ga)}function Nc(){A(Ic);A(Jc);A(Kc)}function Oc(a){Lc(Kc.current);Lc(Ic.current)!==Ga&&(B(Jc,a),B(Ic,Ga))}function Qc(a){Jc.current===a&&(A(Ic),A(Jc))}var L=Va(0);\nfunction Rc(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState,d;if(d=null!==c){if(!(c=null===c.dehydrated))throw Error(q(305));if(!c)throw Error(q(305));d=c}if(d)return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Sc=[];\nfunction Tc(){for(var a=0;af))throw Error(q(301));f+=1;P=O=null;b.updateQueue=null;Uc.current=bd;a=c(d,e)}while(Xc)}Uc.current=cd;b=null!==O&&null!==O.next;Vc=0;P=O=N=null;Wc=!1;if(b)throw Error(q(300));return a}function dd(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}\nfunction ed(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(q(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}function fd(a,b){return\"function\"===typeof b?b(a):b}\nfunction gd(a){var b=ed(),c=b.queue;if(null===c)throw Error(q(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var h=e.next;e.next=f.next;f.next=h}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var g=h=f=null,k=e;do{var l=k.lane;if((Vc&l)===l)null!==g&&(g=g.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var p={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===g?(h=g=p,f=d):g=g.next=p;N.lanes|=l;kc|=l}k=k.next}while(null!==k&&k!==e);null===g?f=d:g.next=h;H(d,b.memoizedState)||(J=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=g;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction hd(a){var b=ed(),c=b.queue;if(null===c)throw Error(q(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var h=e=e.next;do f=a(f,h.action),h=h.next;while(h!==e);H(f,b.memoizedState)||(J=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction id(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionSecondary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(Vc&a)===a)b._workInProgressVersionSecondary=d,Sc.push(b);if(a)return c(b._source);Sc.push(b);throw Error(q(350));}\nfunction jd(a,b,c,d){var e=R;if(null===e)throw Error(q(349));var f=b._getVersion,h=f(b._source),g=Uc.current,k=g.useState(function(){return id(e,b,c)}),l=k[1],p=k[0];k=P;var r=a.memoizedState,m=r.refs,z=m.getSnapshot,x=r.source;r=r.subscribe;var V=N;a.memoizedState={refs:m,source:b,subscribe:d};g.useEffect(function(){m.getSnapshot=c;m.setSnapshot=l;var a=f(b._source);if(!H(h,a)){a=c(b._source);H(p,a)||(l(a),a=pc(V),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,g=a;0c?98:c,function(){a(!0)});Nb(97ee&&(b.flags|=64,e=!0,ae(d,!1),b.lanes=33554432)}else{if(!e)if(a=Rc(f),null!==a){if(b.flags|=64,e=!0,a=a.updateQueue,null!==a&&(b.updateQueue=a,b.flags|=4),ae(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&\n!f.alternate)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*G()-d.renderingStartTime>ee&&1073741824!==c&&(b.flags|=64,e=!0,ae(d,!1),b.lanes=33554432);d.isBackwards?(f.sibling=b.child,b.child=f):(a=d.last,null!==a?a.sibling=f:b.child=f,d.last=f)}return null!==d.tail?(a=d.tail,d.rendering=a,d.tail=a.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=G(),a.sibling=null,b=L.current,B(L,e?b&1|2:b&1),a):null;case 23:case 24:return fe(),null!==a&&null!==a.memoizedState!==\n(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(q(156,b.tag));}\nfunction ge(a){switch(a.tag){case 1:E(a.type)&&Za();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:Nc();A(D);A(C);Tc();b=a.flags;if(0!==(b&64))throw Error(q(285));a.flags=b&-4097|64;return a;case 5:return Qc(a),null;case 13:return A(L),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return A(L),null;case 4:return Nc(),null;case 10:return ac(a),null;case 23:case 24:return fe(),null;default:return null}}\nfunction he(a,b){try{var c=\"\",d=b;do c+=Vb(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function ie(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var je=\"function\"===typeof WeakMap?WeakMap:Map;function le(a,b,c){c=gc(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){me||(me=!0,ne=d);ie(a,b)};return c}\nfunction oe(a,b,c){c=gc(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){ie(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===pe?pe=new Set([this]):pe.add(this),ie(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var qe=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction re(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){se(a,c)}else b.current=null}\nfunction te(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:I(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&b.stateNode.containerInfo.children.splice(0);return;case 5:case 6:case 4:case 17:return}throw Error(q(163));}\nfunction ue(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(ve(c,a),we(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:I(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&lc(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=Ja(c.child.stateNode);break;case 1:a=c.child.stateNode}lc(c,b,a)}return;case 5:return;case 6:return;case 4:return;case 12:return;case 13:return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(q(163));}\nfunction xe(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;b?d.isHidden=!0:c.stateNode.isHidden=!1}else if(6===c.tag)c.stateNode.isHidden=b?!0:!1;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===a)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction ye(a,b){if(eb&&\"function\"===typeof eb.onCommitFiberUnmount)try{eb.onCommitFiberUnmount(db,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))ve(b,c);else{d=b;try{e()}catch(f){se(d,f)}}c=c.next}while(c!==a)}break;case 1:re(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){se(b,\nf)}break;case 5:re(b);break;case 4:ze(a,b)}}function Ae(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function Be(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Ce(a){a:{for(var b=a.return;null!==b;){if(Be(b))break a;b=b.return}throw Error(q(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(q(161));}c.flags&16&&(c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Be(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===c.child||\n4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?De(a,c,b):Ee(a,c,b)}function De(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?La(c,a,b):Ka(c,a);else if(4!==d&&(a=a.child,null!==a))for(De(a,b,c),a=a.sibling;null!==a;)De(a,b,c),a=a.sibling}\nfunction Ee(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?La(c,a,b):Ka(c,a);else if(4!==d&&(a=a.child,null!==a))for(Ee(a,b,c),a=a.sibling;null!==a;)Ee(a,b,c),a=a.sibling}\nfunction ze(a,b){for(var c=b,d=!1,e;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(q(160));e=d.stateNode;switch(d.tag){case 5:break a;case 3:e=e.containerInfo;break a;case 4:e=e.containerInfo;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var f=a,h=c,g=h;;)if(ye(f,g),null!==g.child&&4!==g.tag)g.child.return=g,g=g.child;else{if(g===h)break a;for(;null===g.sibling;){if(null===g.return||g.return===h)break a;g=g.return}g.sibling.return=g.return;g=g.sibling}f=e;h=f.children.indexOf(c.stateNode);\nf.children.splice(h,1)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;c.child.return=c;c=c.child;continue}}else if(ye(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction Fe(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var c=a.destroy;a.destroy=void 0;void 0!==c&&c()}a=a.next}while(a!==b)}return;case 1:return;case 5:a=b.stateNode;if(null!=a){c=b.memoizedProps;var d=b.type,e=b.updateQueue;b.updateQueue=null;null!==e&&(a.type=d,a.props=c)}return;case 6:if(null===b.stateNode)throw Error(q(162));b.stateNode.text=b.memoizedProps;return;case 3:return;case 12:return;\ncase 13:null!==b.memoizedState&&(Ge=G(),xe(b.child,!0));He(b);return;case 19:He(b);return;case 17:return;case 23:case 24:xe(b,null!==b.memoizedState);return}throw Error(q(163));}function He(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new qe);b.forEach(function(b){var d=Ie.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction Je(a,b){return null!==a&&(a=a.memoizedState,null===a||null!==a.dehydrated)?(b=b.memoizedState,null!==b&&null===b.dehydrated):!1}var Ke=null;function Le(a){if(null===Ke)try{var b=(\"require\"+Math.random()).slice(0,7);Ke=(module&&module[b]).call(module,\"timers\").setImmediate}catch(c){Ke=function(a){var b=new MessageChannel;b.port1.onmessage=a;b.port2.postMessage(void 0)}}return Ke(a)}\nvar Me=Math.ceil,Ne=fa.ReactCurrentDispatcher,Oe=fa.ReactCurrentOwner,Pe=fa.IsSomeRendererActing,W=0,R=null,X=null,U=0,Qe=0,Re=Va(0),T=0,Se=null,Te=0,kc=0,ce=0,Ue=0,Ve=null,Ge=0,ee=Infinity,Y=null,me=!1,ne=null,pe=null,We=!1,Xe=null,Ye=90,Ze=[],$e=[],af=null,bf=0,cf=null,df=-1,ef=0,ff=0,gf=null,hf=!1;function oc(){return 0!==(W&48)?G():-1!==df?df:df=G()}\nfunction pc(a){a=a.mode;if(0===(a&2))return 1;if(0===(a&4))return 99===Lb()?1:2;0===ef&&(ef=Te);if(0!==Rb.transition){0!==ff&&(ff=null!==Ve?Ve.pendingLanes:0);a=ef;var b=4186112&~ff;b&=-b;0===b&&(a=4186112&~a,b=a&-a,0===b&&(b=8192));return b}a=Lb();0!==(W&4)&&98===a?a=mb(12,ef):(a=hb(a),a=mb(a,ef));return a}\nfunction qc(a,b,c){if(50e&&(e=h);c&=~f}c=e;c=G()-c;c=(120>c?120:480>c?480:1080>c?1080:\n1920>c?1920:3E3>c?3E3:4320>c?4320:1960*Me(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==T&&(T=2);k=\nhe(k,g);m=h;do{switch(m.tag){case 3:f=k;m.flags|=4096;b&=-b;m.lanes|=b;var Ef=le(m,f,b);ic(m,Ef);break a;case 1:f=k;var Ff=m.type,Pc=m.stateNode;if(0===(m.flags&64)&&(\"function\"===typeof Ff.getDerivedStateFromError||null!==Pc&&\"function\"===typeof Pc.componentDidCatch&&(null===pe||!pe.has(Pc)))){m.flags|=4096;b&=-b;m.lanes|=b;var Gf=oe(m,f,b);ic(m,Gf);break a}}m=m.return}while(null!==m)}vf(c)}catch(v){b=v;X===c&&null!==c&&(X=c=c.return);continue}break}while(1)}\nfunction nf(){var a=Ne.current;Ne.current=cd;return null===a?cd:a}function rf(a,b){var c=W;W|=16;var d=nf();R===a&&U===b||of(a,b);do try{wf();break}catch(e){qf(a,e)}while(1);$b();W=c;Ne.current=d;if(null!==X)throw Error(q(261));R=null;U=0;return T}function wf(){for(;null!==X;)xf(X)}function pf(){for(;null!==X&&!wb();)xf(X)}function xf(a){var b=yf(a.alternate,a,Qe);a.memoizedProps=a.pendingProps;null===b?vf(a):X=b;Oe.current=null}\nfunction vf(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=be(c,b,Qe);if(null!==c){X=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(Qe&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1G()-Ge?of(a,0):Ue|=c);Z(a,b)}function Ie(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===Lb()?1:2:(0===ef&&(ef=Te),b=nb(62914560&~ef),0===b&&(b=4194304)));c=oc();a=jf(a,b);null!==a&&(pb(a,b,c),Z(a,c))}var yf;\nyf=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||D.current)J=!0;else if(0!==(c&d))J=0!==(a.flags&16384)?!0:!1;else{J=!1;switch(b.tag){case 3:Nd(b);break;case 5:Oc(b);break;case 1:E(b.type)&&bb(b);break;case 4:Mc(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;B(Wb,e._currentValue2);e._currentValue2=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return Pd(a,b,c);B(L,L.current&1);b=Dd(a,b,c);return null!==\nb?b.sibling:null}B(L,L.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Wd(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);B(L,L.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,Id(a,b,c)}return Dd(a,b,c)}else J=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ya(b,C.current);cc(b,c);e=Zc(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(E(d)){var f=!0;bb(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ec(b);var h=d.getDerivedStateFromProps;\"function\"===typeof h&&nc(b,d,h,a);e.updater=rc;b.stateNode=e;e._reactInternals=b;vc(b,d,a,c);b=Md(null,b,d,!0,f,c)}else b.tag=0,S(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=\nb.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=Df(e);a=I(e,a);switch(f){case 0:b=Hd(null,b,e,a,c);break a;case 1:b=Ld(null,b,e,a,c);break a;case 11:b=Cd(null,b,e,a,c);break a;case 14:b=Ed(null,b,e,I(e.type,a),d,c);break a}throw Error(q(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:I(d,e),Hd(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:I(d,e),Ld(a,b,d,e,c);case 3:Nd(b);d=b.updateQueue;if(null===a||null===d)throw Error(q(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;fc(a,b);jc(b,d,null,c);d=b.memoizedState.element;d===e?b=Dd(a,b,c):(S(a,b,d,c),b=b.child);return b;case 5:return Oc(b),d=b.pendingProps.children,Kd(a,b),S(a,b,d,c),b.child;case 6:return null;case 13:return Pd(a,b,c);case 4:return Mc(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Fc(b,null,d,c):S(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:I(d,e),Cd(a,b,d,e,c);case 7:return S(a,b,b.pendingProps,\nc),b.child;case 8:return S(a,b,b.pendingProps.children,c),b.child;case 12:return S(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;h=b.memoizedProps;f=e.value;var g=b.type._context;B(Wb,g._currentValue2);g._currentValue2=f;if(null!==h)if(g=h.value,f=H(g,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(g,f):1073741823)|0,0===f){if(h.children===e.children&&!D.current){b=Dd(a,b,c);break a}}else for(g=b.child,null!==g&&(g.return=b);null!==\ng;){var k=g.dependencies;if(null!==k){h=g.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===g.tag&&(l=gc(-1,c&-c),l.tag=2,hc(g,l));g.lanes|=c;l=g.alternate;null!==l&&(l.lanes|=c);bc(g.return,c);k.lanes|=c;break}l=l.next}}else h=10===g.tag?g.type===b.type?null:g.child:g.child;if(null!==h)h.return=g;else for(h=g;null!==h;){if(h===b){h=null;break}g=h.sibling;if(null!==g){g.return=h.return;h=g;break}h=h.return}g=h}S(a,b,e.children,c);b=b.child}return b;case 9:return e=\nb.type,f=b.pendingProps,d=f.children,cc(b,c),e=K(e,f.unstable_observedBits),d=d(e),b.flags|=1,S(a,b,d,c),b.child;case 14:return e=b.type,f=I(e,b.pendingProps),f=I(e.type,f),Ed(a,b,e,f,d,c);case 15:return Gd(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:I(d,e),null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2),b.tag=1,E(d)?(a=!0,bb(b)):a=!1,cc(b,c),tc(b,d,e),vc(b,d,e,c),Md(null,b,d,!0,a,c);case 19:return Wd(a,b,c);case 23:return Id(a,b,c);case 24:return Id(a,\nb,c)}throw Error(q(156,b.tag));};var Hf=n.unstable_flushAllWithoutAsserting,If=\"function\"===typeof Hf;function Jf(){if(void 0!==Hf)return Hf();for(var a=!1;mf();)a=!0;return a}function Kf(a){try{Jf(),Le(function(){Jf()?Kf(a):a()})}catch(b){a(b)}}var Lf=0,Mf=!1;\nfunction Nf(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.flags=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childLanes=this.lanes=0;this.alternate=null}function Of(a,b,c,d){return new Nf(a,b,c,d)}function Fd(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Df(a){if(\"function\"===typeof a)return Fd(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===oa)return 11;if(a===ra)return 14}return 2}\nfunction Ac(a,b){var c=a.alternate;null===c?(c=Of(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Cc(a,b,c,d,e,f){var h=2;d=a;if(\"function\"===typeof a)Fd(a)&&(h=1);else if(\"string\"===typeof a)h=5;else a:switch(a){case ja:return Ec(c.children,e,f,b);case ua:h=8;e|=16;break;case ka:h=8;e|=1;break;case la:return a=Of(12,c,b,e|8),a.elementType=la,a.type=la,a.lanes=f,a;case pa:return a=Of(13,c,b,e),a.type=pa,a.elementType=pa,a.lanes=f,a;case qa:return a=Of(19,c,b,e),a.elementType=qa,a.lanes=f,a;case va:return Rd(c,e,f,b);case wa:return a=Of(24,c,b,e),a.elementType=wa,a.lanes=f,a;default:if(\"object\"===\ntypeof a&&null!==a)switch(a.$$typeof){case ma:h=10;break a;case na:h=9;break a;case oa:h=11;break a;case ra:h=14;break a;case sa:h=16;d=null;break a;case ta:h=22;break a}throw Error(q(130,null==a?a:typeof a,\"\"));}b=Of(h,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ec(a,b,c,d){a=Of(7,a,d,b);a.lanes=c;return a}function Rd(a,b,c,d){a=Of(23,a,d,b);a.elementType=va;a.lanes=c;return a}function Bc(a,b,c){a=Of(6,a,null,b);a.lanes=c;return a}\nfunction Dc(a,b,c){b=Of(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction Pf(a,b,c){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=null;this.callbackPriority=0;this.eventTimes=ob(0);this.expirationTimes=ob(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=ob(0)}\nfunction Qf(a,b,c){a=new Pf(a,b,c);b=Of(3,null,null,2===b?7:1===b?3:0);a.current=b;b.stateNode=a;ec(b);return a}\nfunction Rf(a,b,c,d){var e=b.current,f=oc(),h=pc(e);a:if(c){c=c._reactInternals;b:{if(Ba(c)!==c||1!==c.tag)throw Error(q(170));var g=c;do{switch(g.tag){case 3:g=g.stateNode.context;break b;case 1:if(E(g.type)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}}g=g.return}while(null!==g);throw Error(q(171));}if(1===c.tag){var k=c.type;if(E(k)){c=ab(c,k,g);break a}}c=g}else c=Wa;null===b.context?b.context=c:b.pendingContext=c;b=gc(f,h);b.payload={element:a};d=void 0===d?null:d;null!==\nd&&(b.callback=d);hc(e,b);qc(e,h,f);return h}function Sf(){return null}var Tf=fa.IsSomeRendererActing,Uf={createNodeMock:function(){return null}};\nfunction Vf(a){if(a.isHidden)return null;switch(a.tag){case \"TEXT\":return a.text;case \"INSTANCE\":var b=a.props;var c=[\"children\"];if(null==b)b={};else{var d={},e=Object.keys(b),f;for(f=0;fag(a).length)break;return bg(a)}a=a.return}return null}},{key:\"children\",get:function(){return ag(this._currentFiber())}}]);return a}();\nfunction dg(a,b,c){var d=c?c.deep:!0,e=[];if(b(a)&&(e.push(a),!d))return e;a.children.forEach(function(a){\"string\"!==typeof a&&e.push.apply(e,dg(a,b,c))});return e}function cg(a,b){if(1===a.length)return a[0];throw Error((0===a.length?\"No instances found \":\"Expected 1 but found \"+a.length+\" instances \")+b);}var fg=new WeakMap;function bg(a){var b=fg.get(a);void 0===b&&null!==a.alternate&&(b=fg.get(a.alternate));void 0===b&&(b=new eg(a),fg.set(a,b));return b}\nvar gg={findFiberByHostInstance:function(){throw Error(\"TestRenderer does not support findFiberByHostInstance()\");},bundleType:0,version:\"17.0.2\",rendererPackageName:\"react-test-renderer\"};\nvar hg={bundleType:gg.bundleType,version:gg.version,rendererPackageName:gg.rendererPackageName,rendererConfig:gg.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:fa.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Ea(a);return null===a?null:a.stateNode},findFiberByHostInstance:gg.findFiberByHostInstance||\nSf,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ig=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ig.isDisabled&&ig.supportsFiber)try{db=ig.inject(hg),eb=ig}catch(a){}}function jg(a,b){jest.runOnlyPendingTimers();Le(function(){try{ba.unstable_flushAllWithoutAsserting()?jg(a,b):a()}catch(c){b(c)}})}exports._Scheduler=ba;\nexports.act=function(a){function b(){Lf--;Pe.current=c}!1===Mf&&(Mf=!0,console.error(\"act(...) is not supported in production builds of React, and might not behave as expected.\"));Lf++;var c=Pe.current;Pe.current=!0;try{var d=tf(a)}catch(e){throw b(),e;}if(null!==d&&\"object\"===typeof d&&\"function\"===typeof d.then)return{then:function(a,f){d.then(function(){1*/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n/**/\n\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\nforEach(objectKeys(Writable.prototype), function(method) {\n if (!Duplex.prototype[method])\n Duplex.prototype[method] = Writable.prototype[method];\n});\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex))\n return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false)\n this.readable = false;\n\n if (options && options.writable === false)\n this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false)\n this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended)\n return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(this.end.bind(this));\n}\n\nfunction forEach (xs, f) {\n for (var i = 0, l = xs.length; i < l; i++) {\n f(xs[i], i);\n }\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough))\n return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n};\n","// 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 = Readable;\n\n/**/\nvar isArray = require('isarray');\n/**/\n\n\n/**/\nvar Buffer = require('buffer').Buffer;\n/**/\n\nReadable.ReadableState = ReadableState;\n\nvar EE = require('events').EventEmitter;\n\n/**/\nif (!EE.listenerCount) EE.listenerCount = function(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\nvar Stream = require('stream');\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nfunction ReadableState(options, stream) {\n options = options || {};\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n this.highWaterMark = (hwm || hwm === 0) ? hwm : 16 * 1024;\n\n // cast to ints.\n this.highWaterMark = ~~this.highWaterMark;\n\n this.buffer = [];\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = false;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // In streams that never have any data, and do push(null) right away,\n // the consumer can miss the 'end' event if they do some I/O before\n // consuming the stream. So, we don't emit('end') until some reading\n // happens.\n this.calledRead = false;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, becuase any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // when piping, we only care about 'readable' events that happen\n // after read()ing all the bytes and not getting any pushback.\n this.ranOut = false;\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder)\n StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n if (!(this instanceof Readable))\n return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n Stream.call(this);\n}\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function(chunk, encoding) {\n var state = this._readableState;\n\n if (typeof chunk === 'string' && !state.objectMode) {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = new Buffer(chunk, encoding);\n encoding = '';\n }\n }\n\n return readableAddChunk(this, state, chunk, encoding, false);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function(chunk) {\n var state = this._readableState;\n return readableAddChunk(this, state, chunk, '', true);\n};\n\nfunction readableAddChunk(stream, state, chunk, encoding, addToFront) {\n var er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (chunk === null || chunk === undefined) {\n state.reading = false;\n if (!state.ended)\n onEofChunk(stream, state);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (state.ended && !addToFront) {\n var e = new Error('stream.push() after EOF');\n stream.emit('error', e);\n } else if (state.endEmitted && addToFront) {\n var e = new Error('stream.unshift() after end event');\n stream.emit('error', e);\n } else {\n if (state.decoder && !addToFront && !encoding)\n chunk = state.decoder.write(chunk);\n\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) {\n state.buffer.unshift(chunk);\n } else {\n state.reading = false;\n state.buffer.push(chunk);\n }\n\n if (state.needReadable)\n emitReadable(stream);\n\n maybeReadMore(stream, state);\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n\n return needMoreData(state);\n}\n\n\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended &&\n (state.needReadable ||\n state.length < state.highWaterMark ||\n state.length === 0);\n}\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function(enc) {\n if (!StringDecoder)\n StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n};\n\n// Don't raise the hwm > 128MB\nvar MAX_HWM = 0x800000;\nfunction roundUpToNextPowerOf2(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2\n n--;\n for (var p = 1; p < 32; p <<= 1) n |= n >> p;\n n++;\n }\n return n;\n}\n\nfunction howMuchToRead(n, state) {\n if (state.length === 0 && state.ended)\n return 0;\n\n if (state.objectMode)\n return n === 0 ? 0 : 1;\n\n if (n === null || isNaN(n)) {\n // only flow one buffer at a time\n if (state.flowing && state.buffer.length)\n return state.buffer[0].length;\n else\n return state.length;\n }\n\n if (n <= 0)\n return 0;\n\n // If we're asking for more than the target buffer level,\n // then raise the water mark. Bump up to the next highest\n // power of 2, to prevent increasing it excessively in tiny\n // amounts.\n if (n > state.highWaterMark)\n state.highWaterMark = roundUpToNextPowerOf2(n);\n\n // don't have that much. return null, unless we've ended.\n if (n > state.length) {\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n } else\n return state.length;\n }\n\n return n;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function(n) {\n var state = this._readableState;\n state.calledRead = true;\n var nOrig = n;\n var ret;\n\n if (typeof n !== 'number' || n > 0)\n state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 &&\n state.needReadable &&\n (state.length >= state.highWaterMark || state.ended)) {\n emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n ret = null;\n\n // In cases where the decoder did not receive enough data\n // to produce a full chunk, then immediately received an\n // EOF, state.buffer will contain [, ].\n // howMuchToRead will see this and coerce the amount to\n // read to zero (because it's looking at the length of the\n // first in state.buffer), and we'll end up here.\n //\n // This can only happen via state.decoder -- no other venue\n // exists for pushing a zero-length chunk into state.buffer\n // and triggering this behavior. In this case, we return our\n // remaining data and end the stream, if appropriate.\n if (state.length > 0 && state.decoder) {\n ret = fromList(n, state);\n state.length -= ret.length;\n }\n\n if (state.length === 0)\n endReadable(this);\n\n return ret;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length - n <= state.highWaterMark)\n doRead = true;\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading)\n doRead = false;\n\n if (doRead) {\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0)\n state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n }\n\n // If _read called its callback synchronously, then `reading`\n // will be false, and we need to re-evaluate how much data we\n // can return to the user.\n if (doRead && !state.reading)\n n = howMuchToRead(nOrig, state);\n\n if (n > 0)\n ret = fromList(n, state);\n else\n ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n }\n\n state.length -= n;\n\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.length === 0 && !state.ended)\n state.needReadable = true;\n\n // If we happened to read() exactly the remaining amount in the\n // buffer, and the EOF has been seen at this point, then make sure\n // that we emit 'end' on the very next tick.\n if (state.ended && !state.endEmitted && state.length === 0)\n endReadable(this);\n\n return ret;\n};\n\nfunction chunkInvalid(state, chunk) {\n var er = null;\n if (!Buffer.isBuffer(chunk) &&\n 'string' !== typeof chunk &&\n chunk !== null &&\n chunk !== undefined &&\n !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n\nfunction onEofChunk(stream, state) {\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // if we've ended and we have some data left, then emit\n // 'readable' now to make sure it gets picked up.\n if (state.length > 0)\n emitReadable(stream);\n else\n endReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (state.emittedReadable)\n return;\n\n state.emittedReadable = true;\n if (state.sync)\n process.nextTick(function() {\n emitReadable_(stream);\n });\n else\n emitReadable_(stream);\n}\n\nfunction emitReadable_(stream) {\n stream.emit('readable');\n}\n\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(function() {\n maybeReadMore_(stream, state);\n });\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended &&\n state.length < state.highWaterMark) {\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n else\n len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function(n) {\n this.emit('error', new Error('not implemented'));\n};\n\nReadable.prototype.pipe = function(dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) &&\n dest !== process.stdout &&\n dest !== process.stderr;\n\n var endFn = doEnd ? onend : cleanup;\n if (state.endEmitted)\n process.nextTick(endFn);\n else\n src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable) {\n if (readable !== src) return;\n cleanup();\n }\n\n function onend() {\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n function cleanup() {\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', cleanup);\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (!dest._writableState || dest._writableState.needDrain)\n ondrain();\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n unpipe();\n dest.removeListener('error', onerror);\n if (EE.listenerCount(dest, 'error') === 0)\n dest.emit('error', er);\n }\n // This is a brutally ugly hack to make sure that our error handler\n // is attached before any userland ones. NEVER DO THIS.\n if (!dest._events || !dest._events.error)\n dest.on('error', onerror);\n else if (isArray(dest._events.error))\n dest._events.error.unshift(onerror);\n else\n dest._events.error = [onerror, dest._events.error];\n\n\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n // the handler that waits for readable events after all\n // the data gets sucked out in flow.\n // This would be easier to follow with a .once() handler\n // in flow(), but that is too slow.\n this.on('readable', pipeOnReadable);\n\n state.flowing = true;\n process.nextTick(function() {\n flow(src);\n });\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function() {\n var dest = this;\n var state = src._readableState;\n state.awaitDrain--;\n if (state.awaitDrain === 0)\n flow(src);\n };\n}\n\nfunction flow(src) {\n var state = src._readableState;\n var chunk;\n state.awaitDrain = 0;\n\n function write(dest, i, list) {\n var written = dest.write(chunk);\n if (false === written) {\n state.awaitDrain++;\n }\n }\n\n while (state.pipesCount && null !== (chunk = src.read())) {\n\n if (state.pipesCount === 1)\n write(state.pipes, 0, null);\n else\n forEach(state.pipes, write);\n\n src.emit('data', chunk);\n\n // if anyone needs a drain, then we have to wait for that.\n if (state.awaitDrain > 0)\n return;\n }\n\n // if every destination was unpiped, either before entering this\n // function, or in the while loop, then stop flowing.\n //\n // NB: This is a pretty rare edge case.\n if (state.pipesCount === 0) {\n state.flowing = false;\n\n // if there were data event listeners added, then switch to old mode.\n if (EE.listenerCount(src, 'data') > 0)\n emitDataEvents(src);\n return;\n }\n\n // at this point, no one needed a drain, so we just ran out of data\n // on the next readable event, start it over again.\n state.ranOut = true;\n}\n\nfunction pipeOnReadable() {\n if (this._readableState.ranOut) {\n this._readableState.ranOut = false;\n flow(this);\n }\n}\n\n\nReadable.prototype.unpipe = function(dest) {\n var state = this._readableState;\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0)\n return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes)\n return this;\n\n if (!dest)\n dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n this.removeListener('readable', pipeOnReadable);\n state.flowing = false;\n if (dest)\n dest.emit('unpipe', this);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n this.removeListener('readable', pipeOnReadable);\n state.flowing = false;\n\n for (var i = 0; i < len; i++)\n dests[i].emit('unpipe', this);\n return this;\n }\n\n // try to find the right one.\n var i = indexOf(state.pipes, dest);\n if (i === -1)\n return this;\n\n state.pipes.splice(i, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1)\n state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function(ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data' && !this._readableState.flowing)\n emitDataEvents(this);\n\n if (ev === 'readable' && this.readable) {\n var state = this._readableState;\n if (!state.readableListening) {\n state.readableListening = true;\n state.emittedReadable = false;\n state.needReadable = true;\n if (!state.reading) {\n this.read(0);\n } else if (state.length) {\n emitReadable(this, state);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function() {\n emitDataEvents(this);\n this.read(0);\n this.emit('resume');\n};\n\nReadable.prototype.pause = function() {\n emitDataEvents(this, true);\n this.emit('pause');\n};\n\nfunction emitDataEvents(stream, startPaused) {\n var state = stream._readableState;\n\n if (state.flowing) {\n // https://github.com/isaacs/readable-stream/issues/16\n throw new Error('Cannot switch to old mode now.');\n }\n\n var paused = startPaused || false;\n var readable = false;\n\n // convert to an old-style stream.\n stream.readable = true;\n stream.pipe = Stream.prototype.pipe;\n stream.on = stream.addListener = Stream.prototype.on;\n\n stream.on('readable', function() {\n readable = true;\n\n var c;\n while (!paused && (null !== (c = stream.read())))\n stream.emit('data', c);\n\n if (c === null) {\n readable = false;\n stream._readableState.needReadable = true;\n }\n });\n\n stream.pause = function() {\n paused = true;\n this.emit('pause');\n };\n\n stream.resume = function() {\n paused = false;\n if (readable)\n process.nextTick(function() {\n stream.emit('readable');\n });\n else\n this.read(0);\n this.emit('resume');\n };\n\n // now make it start, just in case it hadn't already.\n stream.emit('readable');\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function(stream) {\n var state = this._readableState;\n var paused = false;\n\n var self = this;\n stream.on('end', function() {\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length)\n self.push(chunk);\n }\n\n self.push(null);\n });\n\n stream.on('data', function(chunk) {\n if (state.decoder)\n chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n //if (state.objectMode && util.isNullOrUndefined(chunk))\n if (state.objectMode && (chunk === null || chunk === undefined))\n return;\n else if (!state.objectMode && (!chunk || !chunk.length))\n return;\n\n var ret = self.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (typeof stream[i] === 'function' &&\n typeof this[i] === 'undefined') {\n this[i] = function(method) { return function() {\n return stream[method].apply(stream, arguments);\n }}(i);\n }\n }\n\n // proxy certain important events.\n var events = ['error', 'close', 'destroy', 'pause', 'resume'];\n forEach(events, function(ev) {\n stream.on(ev, self.emit.bind(self, ev));\n });\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n self._read = function(n) {\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return self;\n};\n\n\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\nfunction fromList(n, state) {\n var list = state.buffer;\n var length = state.length;\n var stringMode = !!state.decoder;\n var objectMode = !!state.objectMode;\n var ret;\n\n // nothing in the list, definitely empty.\n if (list.length === 0)\n return null;\n\n if (length === 0)\n ret = null;\n else if (objectMode)\n ret = list.shift();\n else if (!n || n >= length) {\n // read it all, truncate the array.\n if (stringMode)\n ret = list.join('');\n else\n ret = Buffer.concat(list, length);\n list.length = 0;\n } else {\n // read just some of it.\n if (n < list[0].length) {\n // just take a part of the first list item.\n // slice is the same for buffers and strings.\n var buf = list[0];\n ret = buf.slice(0, n);\n list[0] = buf.slice(n);\n } else if (n === list[0].length) {\n // first list is a perfect match\n ret = list.shift();\n } else {\n // complex case.\n // we have enough to cover it, but it spans past the first buffer.\n if (stringMode)\n ret = '';\n else\n ret = new Buffer(n);\n\n var c = 0;\n for (var i = 0, l = list.length; i < l && c < n; i++) {\n var buf = list[0];\n var cpy = Math.min(n - c, buf.length);\n\n if (stringMode)\n ret += buf.slice(0, cpy);\n else\n buf.copy(ret, c, 0, cpy);\n\n if (cpy < buf.length)\n list[0] = buf.slice(cpy);\n else\n list.shift();\n\n c += cpy;\n }\n }\n }\n\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0)\n throw new Error('endReadable called on non-empty stream');\n\n if (!state.endEmitted && state.calledRead) {\n state.ended = true;\n process.nextTick(function() {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n });\n }\n}\n\nfunction forEach (xs, f) {\n for (var i = 0, l = xs.length; i < l; i++) {\n f(xs[i], i);\n }\n}\n\nfunction indexOf (xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}\n","// 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\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\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\nutil.inherits(Transform, Duplex);\n\n\nfunction TransformState(options, stream) {\n this.afterTransform = function(er, data) {\n return afterTransform(stream, er, data);\n };\n\n this.needTransform = false;\n this.transforming = false;\n this.writecb = null;\n this.writechunk = null;\n}\n\nfunction afterTransform(stream, er, data) {\n var ts = stream._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb)\n return stream.emit('error', new Error('no writecb in Transform class'));\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data !== null && data !== undefined)\n stream.push(data);\n\n if (cb)\n cb(er);\n\n var rs = stream._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n stream._read(rs.highWaterMark);\n }\n}\n\n\nfunction Transform(options) {\n if (!(this instanceof Transform))\n return new Transform(options);\n\n Duplex.call(this, options);\n\n var ts = this._transformState = new TransformState(options, this);\n\n // when the writable side finishes, then flush out anything remaining.\n var stream = this;\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n this.once('finish', function() {\n if ('function' === typeof this._flush)\n this._flush(function(er) {\n done(stream, er);\n });\n else\n done(stream);\n });\n}\n\nTransform.prototype.push = function(chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function(chunk, encoding, cb) {\n throw new Error('not implemented');\n};\n\nTransform.prototype._write = function(chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform ||\n rs.needReadable ||\n rs.length < rs.highWaterMark)\n this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function(n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\n\nfunction done(stream, er) {\n if (er)\n return stream.emit('error', er);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n var ws = stream._writableState;\n var rs = stream._readableState;\n var ts = stream._transformState;\n\n if (ws.length)\n throw new Error('calling transform done when ws.length != 0');\n\n if (ts.transforming)\n throw new Error('calling transform done when still transforming');\n\n return stream.push(null);\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// A bit simpler than readable streams.\n// Implement an async ._write(chunk, cb), and it'll handle all\n// the drain event emission and buffering.\n\nmodule.exports = Writable;\n\n/**/\nvar Buffer = require('buffer').Buffer;\n/**/\n\nWritable.WritableState = WritableState;\n\n\n/**/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/**/\n\nvar Stream = require('stream');\n\nutil.inherits(Writable, Stream);\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n}\n\nfunction WritableState(options, stream) {\n options = options || {};\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n this.highWaterMark = (hwm || hwm === 0) ? hwm : 16 * 1024;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n // cast to ints.\n this.highWaterMark = ~~this.highWaterMark;\n\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // 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, becuase any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function(er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.buffer = [];\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n}\n\nfunction Writable(options) {\n var Duplex = require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, though they're not\n // instanceof Writable, they're instanceof Readable.\n if (!(this instanceof Writable) && !(this instanceof Duplex))\n return new Writable(options);\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function() {\n this.emit('error', new Error('Cannot pipe. Not readable.'));\n};\n\n\nfunction writeAfterEnd(stream, state, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n process.nextTick(function() {\n cb(er);\n });\n}\n\n// If we get something that is not a buffer, string, null, or undefined,\n// and we're not in objectMode, then that's an error.\n// Otherwise stream chunks are all considered to be of length=1, and the\n// watermarks determine how many objects to keep in the buffer, rather than\n// how many bytes or characters.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n if (!Buffer.isBuffer(chunk) &&\n 'string' !== typeof chunk &&\n chunk !== null &&\n chunk !== undefined &&\n !state.objectMode) {\n var er = new TypeError('Invalid non-string/buffer chunk');\n stream.emit('error', er);\n process.nextTick(function() {\n cb(er);\n });\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function(chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (Buffer.isBuffer(chunk))\n encoding = 'buffer';\n else if (!encoding)\n encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function')\n cb = function() {};\n\n if (state.ended)\n writeAfterEnd(this, state, cb);\n else if (validChunk(this, state, chunk, cb))\n ret = writeOrBuffer(this, state, chunk, encoding, cb);\n\n return ret;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode &&\n state.decodeStrings !== false &&\n typeof chunk === 'string') {\n chunk = new Buffer(chunk, encoding);\n }\n return chunk;\n}\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, chunk, encoding, cb) {\n chunk = decodeChunk(state, chunk, encoding);\n if (Buffer.isBuffer(chunk))\n encoding = 'buffer';\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret)\n state.needDrain = true;\n\n if (state.writing)\n state.buffer.push(new WriteReq(chunk, encoding, cb));\n else\n doWrite(stream, state, len, chunk, encoding, cb);\n\n return ret;\n}\n\nfunction doWrite(stream, state, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n if (sync)\n process.nextTick(function() {\n cb(er);\n });\n else\n cb(er);\n\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er)\n onwriteError(stream, state, sync, er, cb);\n else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(stream, state);\n\n if (!finished && !state.bufferProcessing && state.buffer.length)\n clearBuffer(stream, state);\n\n if (sync) {\n process.nextTick(function() {\n afterWrite(stream, state, finished, cb);\n });\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished)\n onwriteDrain(stream, state);\n cb();\n if (finished)\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n\n for (var c = 0; c < state.buffer.length; c++) {\n var entry = state.buffer[c];\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, len, chunk, encoding, cb);\n\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n c++;\n break;\n }\n }\n\n state.bufferProcessing = false;\n if (c < state.buffer.length)\n state.buffer = state.buffer.slice(c);\n else\n state.buffer.length = 0;\n}\n\nWritable.prototype._write = function(chunk, encoding, cb) {\n cb(new Error('not implemented'));\n};\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 (typeof chunk !== 'undefined' && chunk !== null)\n this.write(chunk, encoding);\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished)\n endWritable(this, state, cb);\n};\n\n\nfunction needFinish(stream, state) {\n return (state.ending &&\n state.length === 0 &&\n !state.finished &&\n !state.writing);\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(stream, state);\n if (need) {\n state.finished = true;\n stream.emit('finish');\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished)\n process.nextTick(cb);\n else\n stream.once('finish', cb);\n }\n state.ended = true;\n}\n","var Stream = require('stream'); // hack to fix a circular dependency issue when used with browserify\nexports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = Stream;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nif (!process.browser && process.env.READABLE_STREAM === 'disable') {\n module.exports = require('stream');\n}\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\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","/** @license React v0.20.2\n * scheduler-unstable_mock.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=0,g=null,h=null,k=-1,l=null,m=-1,n=!1,p=!1,q=!1,r=!1;function t(){return-1!==m&&null!==l&&l.length>=m||r&&q?n=!0:!1}function x(){if(p)throw Error(\"Already flushing work.\");if(null!==g){var a=g;p=!0;try{var b=!0;do b=a(!0,f);while(b);b||(g=null);return!0}finally{p=!1}}else return!1}function z(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0A(v,c))void 0!==y&&0>A(y,v)?(a[d]=y,a[w]=c,d=w):(a[d]=v,a[u]=c,d=u);else if(void 0!==y&&0>A(y,c))a[d]=y,a[w]=c,d=w;else break a}}return b}return null}function A(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var D=[],E=[],F=1,G=null,H=3,I=!1,J=!1,K=!1;\nfunction L(a){for(var b=B(E);null!==b;){if(null===b.callback)C(E);else if(b.startTime<=a)C(E),b.sortIndex=b.expirationTime,z(D,b);else break;b=B(E)}}function M(a){K=!1;L(a);if(!J)if(null!==B(D))J=!0,g=N;else{var b=B(E);null!==b&&(a=b.startTime-a,h=M,k=f+a)}}\nfunction N(a,b){J=!1;K&&(K=!1,h=null,k=-1);I=!0;var c=H;try{L(b);for(G=B(D);null!==G&&(!(G.expirationTime>b)||a&&!t());){var d=G.callback;if(\"function\"===typeof d){G.callback=null;H=G.priorityLevel;var e=d(G.expirationTime<=b);b=f;\"function\"===typeof e?G.callback=e:G===B(D)&&C(D);L(b)}else C(D);G=B(D)}if(null!==G)var u=!0;else{var v=B(E);if(null!==v){var w=v.startTime-b;h=M;k=f+w}u=!1}return u}finally{G=null,H=c,I=!1}}exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;\nexports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_advanceTime=function(a){\"disabledLog\"!==console.log.name&&(f+=a,null!==h&&k<=f&&(h(f),k=-1,h=null))};exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_clearYields=function(){if(null===l)return[];var a=l;l=null;return a};exports.unstable_continueExecution=function(){J||I||(J=!0,g=N)};\nexports.unstable_flushAll=function(){if(null!==l)throw Error(\"Log is not empty. Assert on the log of yielded values before flushing additional work.\");x();if(null!==l)throw Error(\"While flushing work, something yielded a value. Use an assertion helper to assert on the log of yielded values, e.g. expect(Scheduler).toFlushAndYield([...])\");};exports.unstable_flushAllWithoutAsserting=x;\nexports.unstable_flushExpired=function(){if(p)throw Error(\"Already flushing work.\");if(null!==g){p=!0;try{g(!1,f)||(g=null)}finally{p=!1}}};exports.unstable_flushNumberOfYields=function(a){if(p)throw Error(\"Already flushing work.\");if(null!==g){var b=g;m=a;p=!0;try{a=!0;do a=b(!0,f);while(a&&!n);a||(g=null)}finally{m=-1,p=n=!1}}};\nexports.unstable_flushUntilNextPaint=function(){if(p)throw Error(\"Already flushing work.\");if(null!==g){var a=g;r=!0;q=!1;p=!0;try{var b=!0;do b=a(!0,f);while(b&&!n);b||(g=null)}finally{p=n=r=!1}}};exports.unstable_forceFrameRate=function(){};exports.unstable_getCurrentPriorityLevel=function(){return H};exports.unstable_getFirstCallbackNode=function(){return B(D)};exports.unstable_next=function(a){switch(H){case 1:case 2:case 3:var b=3;break;default:b=H}var c=H;H=b;try{return a()}finally{H=c}};\nexports.unstable_now=function(){return f};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=function(){q=!0};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=H;H=a;try{return b()}finally{H=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=f;\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,z(E,a),null===B(D)&&a===B(E)&&(K?(h=null,k=-1):K=!0,h=M,k=f+(c-d))):(a.sortIndex=e,z(D,a),J||I||(J=!0,g=N));return a};exports.unstable_shouldYield=t;\nexports.unstable_wrapCallback=function(a){var b=H;return function(){var c=H;H=b;try{return a.apply(this,arguments)}finally{H=c}}};exports.unstable_yieldValue=function(a){\"disabledLog\"!==console.log.name&&(null===l?l=[a]:l.push(a))};\n","/** @license React v0.20.2\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler-unstable_mock.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler-unstable_mock.development.js');\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\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","'use strict';\n\nconst 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 class NodeError extends Base {\n constructor (arg1, arg2, arg3) {\n super(getMessage(arg1, arg2, arg3));\n }\n }\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n\n codes[code] = NodeError;\n}\n\n// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n const len = expected.length;\n expected = expected.map((i) => String(i));\n if (len > 2) {\n return `one of ${thing} ${expected.slice(0, len - 1).join(', ')}, or ` +\n expected[len - 1];\n } else if (len === 2) {\n return `one of ${thing} ${expected[0]} or ${expected[1]}`;\n } else {\n return `of ${thing} ${expected[0]}`;\n }\n } else {\n return `of ${thing} ${String(expected)}`;\n }\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\nfunction startsWith(str, search, pos) {\n\treturn str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nfunction endsWith(str, search, this_len) {\n\tif (this_len === undefined || this_len > str.length) {\n\t\tthis_len = str.length;\n\t}\n\treturn str.substring(this_len - search.length, this_len) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\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 let determiner;\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 let msg;\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = `The ${name} ${determiner} ${oneOf(expected, 'type')}`;\n } else {\n const type = includes(name, '.') ? 'property' : 'argument';\n msg = `The \"${name}\" ${type} ${determiner} ${oneOf(expected, 'type')}`;\n }\n\n msg += `. Received type ${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');\n\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/**/\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/**/\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/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\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/**/\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/**/\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/* */\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/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\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;","'use strict';\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\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\nvar ERR_INVALID_ARG_TYPE = require('../../../errors').codes.ERR_INVALID_ARG_TYPE;\n\nfunction from(Readable, iterable, opts) {\n var iterator;\n\n if (iterable && typeof iterable.next === 'function') {\n iterator = iterable;\n } else if (iterable && iterable[Symbol.asyncIterator]) iterator = iterable[Symbol.asyncIterator]();else if (iterable && iterable[Symbol.iterator]) iterator = iterable[Symbol.iterator]();else throw new ERR_INVALID_ARG_TYPE('iterable', ['Iterable'], iterable);\n\n var readable = new Readable(_objectSpread({\n objectMode: true\n }, opts)); // Reading boolean to protect against _read\n // being called before last iteration completion.\n\n var reading = false;\n\n readable._read = function () {\n if (!reading) {\n reading = true;\n next();\n }\n };\n\n function next() {\n return _next2.apply(this, arguments);\n }\n\n function _next2() {\n _next2 = _asyncToGenerator(function* () {\n try {\n var _ref = yield iterator.next(),\n value = _ref.value,\n done = _ref.done;\n\n if (done) {\n readable.push(null);\n } else if (readable.push((yield value))) {\n next();\n } else {\n reading = false;\n }\n } catch (err) {\n readable.destroy(err);\n }\n });\n return _next2.apply(this, arguments);\n }\n\n return readable;\n}\n\nmodule.exports = from;","// 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('stream');\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\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","// 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/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\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}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar Buffer = require('buffer').Buffer;\n\nvar isBufferEncoding = Buffer.isEncoding\n || function(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': return true;\n default: return false;\n }\n }\n\n\nfunction assertEncoding(encoding) {\n if (encoding && !isBufferEncoding(encoding)) {\n throw new Error('Unknown encoding: ' + encoding);\n }\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. CESU-8 is handled as part of the UTF-8 encoding.\n//\n// @TODO Handling all encodings inside a single object makes it very difficult\n// to reason about this code, so it should be split up in the future.\n// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code\n// points as used by CESU-8.\nvar StringDecoder = exports.StringDecoder = function(encoding) {\n this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');\n assertEncoding(encoding);\n switch (this.encoding) {\n case 'utf8':\n // CESU-8 represents each of Surrogate Pair by 3-bytes\n this.surrogateSize = 3;\n break;\n case 'ucs2':\n case 'utf16le':\n // UTF-16 represents each of Surrogate Pair by 2-bytes\n this.surrogateSize = 2;\n this.detectIncompleteChar = utf16DetectIncompleteChar;\n break;\n case 'base64':\n // Base-64 stores 3 bytes in 4 chars, and pads the remainder.\n this.surrogateSize = 3;\n this.detectIncompleteChar = base64DetectIncompleteChar;\n break;\n default:\n this.write = passThroughWrite;\n return;\n }\n\n // Enough space to store all bytes of a single character. UTF-8 needs 4\n // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).\n this.charBuffer = new Buffer(6);\n // Number of bytes received for the current incomplete multi-byte character.\n this.charReceived = 0;\n // Number of bytes expected for the current incomplete multi-byte character.\n this.charLength = 0;\n};\n\n\n// write decodes the given buffer and returns it as JS string that is\n// guaranteed to not contain any partial multi-byte characters. Any partial\n// character found at the end of the buffer is buffered up, and will be\n// returned when calling write again with the remaining bytes.\n//\n// Note: Converting a Buffer containing an orphan surrogate to a String\n// currently works, but converting a String to a Buffer (via `new Buffer`, or\n// Buffer#write) will replace incomplete surrogates with the unicode\n// replacement character. See https://codereview.chromium.org/121173009/ .\nStringDecoder.prototype.write = function(buffer) {\n var charStr = '';\n // if our last write ended with an incomplete multibyte character\n while (this.charLength) {\n // determine how many remaining bytes this buffer has to offer for this char\n var available = (buffer.length >= this.charLength - this.charReceived) ?\n this.charLength - this.charReceived :\n buffer.length;\n\n // add the new bytes to the char buffer\n buffer.copy(this.charBuffer, this.charReceived, 0, available);\n this.charReceived += available;\n\n if (this.charReceived < this.charLength) {\n // still not enough chars in this buffer? wait for more ...\n return '';\n }\n\n // remove bytes belonging to the current character from the buffer\n buffer = buffer.slice(available, buffer.length);\n\n // get the character that was split\n charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);\n\n // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character\n var charCode = charStr.charCodeAt(charStr.length - 1);\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n this.charLength += this.surrogateSize;\n charStr = '';\n continue;\n }\n this.charReceived = this.charLength = 0;\n\n // if there are no more bytes in this buffer, just emit our char\n if (buffer.length === 0) {\n return charStr;\n }\n break;\n }\n\n // determine and set charLength / charReceived\n this.detectIncompleteChar(buffer);\n\n var end = buffer.length;\n if (this.charLength) {\n // buffer the incomplete character bytes we got\n buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);\n end -= this.charReceived;\n }\n\n charStr += buffer.toString(this.encoding, 0, end);\n\n var end = charStr.length - 1;\n var charCode = charStr.charCodeAt(end);\n // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n var size = this.surrogateSize;\n this.charLength += size;\n this.charReceived += size;\n this.charBuffer.copy(this.charBuffer, size, 0, size);\n buffer.copy(this.charBuffer, 0, 0, size);\n return charStr.substring(0, end);\n }\n\n // or just emit the charStr\n return charStr;\n};\n\n// detectIncompleteChar determines if there is an incomplete UTF-8 character at\n// the end of the given buffer. If so, it sets this.charLength to the byte\n// length that character, and sets this.charReceived to the number of bytes\n// that are available for this character.\nStringDecoder.prototype.detectIncompleteChar = function(buffer) {\n // determine how many bytes we have to check at the end of this buffer\n var i = (buffer.length >= 3) ? 3 : buffer.length;\n\n // Figure out if one of the last i bytes of our buffer announces an\n // incomplete char.\n for (; i > 0; i--) {\n var c = buffer[buffer.length - i];\n\n // See http://en.wikipedia.org/wiki/UTF-8#Description\n\n // 110XXXXX\n if (i == 1 && c >> 5 == 0x06) {\n this.charLength = 2;\n break;\n }\n\n // 1110XXXX\n if (i <= 2 && c >> 4 == 0x0E) {\n this.charLength = 3;\n break;\n }\n\n // 11110XXX\n if (i <= 3 && c >> 3 == 0x1E) {\n this.charLength = 4;\n break;\n }\n }\n this.charReceived = i;\n};\n\nStringDecoder.prototype.end = function(buffer) {\n var res = '';\n if (buffer && buffer.length)\n res = this.write(buffer);\n\n if (this.charReceived) {\n var cr = this.charReceived;\n var buf = this.charBuffer;\n var enc = this.encoding;\n res += buf.slice(0, cr).toString(enc);\n }\n\n return res;\n};\n\nfunction passThroughWrite(buffer) {\n return buffer.toString(this.encoding);\n}\n\nfunction utf16DetectIncompleteChar(buffer) {\n this.charReceived = buffer.length % 2;\n this.charLength = this.charReceived ? 2 : 0;\n}\n\nfunction base64DetectIncompleteChar(buffer) {\n this.charReceived = buffer.length % 3;\n this.charLength = this.charReceived ? 3 : 0;\n}\n","var Stream = require('stream')\n\n// through\n//\n// a stream that does nothing but re-emit the input.\n// useful for aggregating a series of changing but not ending streams into one stream)\n\nexports = module.exports = through\nthrough.through = through\n\n//create a readable writable stream.\n\nfunction through (write, end, opts) {\n write = write || function (data) { this.queue(data) }\n end = end || function () { this.queue(null) }\n\n var ended = false, destroyed = false, buffer = [], _ended = false\n var stream = new Stream()\n stream.readable = stream.writable = true\n stream.paused = false\n\n// stream.autoPause = !(opts && opts.autoPause === false)\n stream.autoDestroy = !(opts && opts.autoDestroy === false)\n\n stream.write = function (data) {\n write.call(this, data)\n return !stream.paused\n }\n\n function drain() {\n while(buffer.length && !stream.paused) {\n var data = buffer.shift()\n if(null === data)\n return stream.emit('end')\n else\n stream.emit('data', data)\n }\n }\n\n stream.queue = stream.push = function (data) {\n// console.error(ended)\n if(_ended) return stream\n if(data === null) _ended = true\n buffer.push(data)\n drain()\n return stream\n }\n\n //this will be registered as the first 'end' listener\n //must call destroy next tick, to make sure we're after any\n //stream piped from here.\n //this is only a problem if end is not emitted synchronously.\n //a nicer way to do this is to make sure this is the last listener for 'end'\n\n stream.on('end', function () {\n stream.readable = false\n if(!stream.writable && stream.autoDestroy)\n process.nextTick(function () {\n stream.destroy()\n })\n })\n\n function _end () {\n stream.writable = false\n end.call(stream)\n if(!stream.readable && stream.autoDestroy)\n stream.destroy()\n }\n\n stream.end = function (data) {\n if(ended) return\n ended = true\n if(arguments.length) stream.write(data)\n _end() // will emit or queue\n return stream\n }\n\n stream.destroy = function () {\n if(destroyed) return\n destroyed = true\n ended = true\n buffer.length = 0\n stream.writable = stream.readable = false\n stream.emit('close')\n return stream\n }\n\n stream.pause = function () {\n if(stream.paused) return\n stream.paused = true\n return stream\n }\n\n stream.resume = function () {\n if(stream.paused) {\n stream.paused = false\n stream.emit('resume')\n }\n drain()\n //may have become paused again,\n //as drain emits 'data'.\n if(!stream.paused)\n stream.emit('drain')\n return stream\n }\n return stream\n}\n\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","\n/**\n * For Node.js, simply re-export the core `util.deprecate` function.\n */\n\nmodule.exports = require('util').deprecate;\n","module.exports = function isBuffer(arg) {\n return arg instanceof Buffer;\n}\n","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\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\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tif (typeof g[typedArray] === 'function') {\n\t\t\tvar arr = new g[typedArray]();\n\t\t\tif (Symbol.toStringTag in arr) {\n\t\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\t\tif (!descriptor) {\n\t\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t\t}\n\t\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar foundName = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!foundName) {\n\t\t\ttry {\n\t\t\t\tvar name = getter.call(value);\n\t\t\t\tif (name === typedArray) {\n\t\t\t\t\tfoundName = name;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t});\n\treturn foundName;\n};\n\nvar isTypedArray = require('is-typed-array');\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!isTypedArray(value)) { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) { return $slice($toString(value), 8, -1); }\n\treturn tryTypedArrays(value);\n};\n","'use strict';\n\nvar possibleNames = [\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray'\n];\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\nmodule.exports = function availableTypedArrays() {\n\tvar out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","// 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\tid: moduleId,\n\t\tloaded: false,\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// Flag the module as loaded\n\tmodule.loaded = true;\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};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","import through from 'through';\nimport tokenize from 'html-tokenize';\nimport pipe from 'multipipe';\n\nvar createExtractCritical = function createExtractCritical(cache) {\n return function (html) {\n // parse out ids from html\n // reconstruct css/rules/cache to pass\n var RGX = new RegExp(cache.key + \"-([a-zA-Z0-9-_]+)\", 'gm');\n var o = {\n html: html,\n ids: [],\n css: ''\n };\n var match;\n var ids = {};\n\n while ((match = RGX.exec(html)) !== null) {\n // $FlowFixMe\n if (ids[match[1]] === undefined) {\n // $FlowFixMe\n ids[match[1]] = true;\n }\n }\n\n o.ids = Object.keys(cache.inserted).filter(function (id) {\n if ((ids[id] !== undefined || cache.registered[cache.key + \"-\" + id] === undefined) && cache.inserted[id] !== true) {\n o.css += cache.inserted[id];\n return true;\n }\n });\n return o;\n };\n};\n\nvar createExtractCriticalToChunks = function createExtractCriticalToChunks(cache) {\n return function (html) {\n // parse out ids from html\n // reconstruct css/rules/cache to pass\n var RGX = new RegExp(cache.key + \"-([a-zA-Z0-9-_]+)\", 'gm');\n var o = {\n html: html,\n styles: []\n };\n var match;\n var ids = {};\n\n while ((match = RGX.exec(html)) !== null) {\n // $FlowFixMe\n if (ids[match[1]] === undefined) {\n // $FlowFixMe\n ids[match[1]] = true;\n }\n }\n\n var regularCssIds = [];\n var regularCss = '';\n Object.keys(cache.inserted).forEach(function (id) {\n if ((ids[id] !== undefined || cache.registered[cache.key + \"-\" + id] === undefined) && cache.inserted[id] !== true) {\n if (cache.registered[cache.key + \"-\" + id]) {\n // regular css can be added in one style tag\n regularCssIds.push(id); // $FlowFixMe\n\n regularCss += cache.inserted[id];\n } else {\n // each global styles require a new entry so it can be independently flushed\n o.styles.push({\n key: cache.key + \"-global\",\n ids: [id],\n css: cache.inserted[id]\n });\n }\n }\n }); // make sure that regular css is added after the global styles\n\n o.styles.push({\n key: cache.key,\n ids: regularCssIds,\n css: regularCss\n });\n return o;\n };\n};\n\nfunction generateStyleTag(cssKey, ids, styles, nonceString) {\n return \"\";\n}\n\nvar createRenderStylesToString = function createRenderStylesToString(cache, nonceString) {\n return function (html) {\n var inserted = cache.inserted,\n cssKey = cache.key,\n registered = cache.registered;\n var regex = new RegExp(\"<|\" + cssKey + \"-([a-zA-Z0-9-_]+)\", 'gm');\n var seen = {};\n var result = '';\n var globalIds = '';\n var globalStyles = '';\n\n for (var id in inserted) {\n // eslint-disable-next-line no-prototype-builtins\n if (inserted.hasOwnProperty(id)) {\n var style = inserted[id];\n var key = cssKey + \"-\" + id;\n\n if (style !== true && registered[key] === undefined) {\n globalStyles += style;\n globalIds += \" \" + id;\n }\n }\n }\n\n if (globalStyles !== '') {\n result = generateStyleTag(cssKey, globalIds.substring(1), globalStyles, nonceString);\n }\n\n var ids = '';\n var styles = '';\n var lastInsertionPoint = 0;\n var match;\n\n while ((match = regex.exec(html)) !== null) {\n // $FlowFixMe\n if (match[0] === '<') {\n if (ids !== '') {\n result += generateStyleTag(cssKey, ids.substring(1), styles, nonceString);\n ids = '';\n styles = '';\n } // $FlowFixMe\n\n\n result += html.substring(lastInsertionPoint, match.index); // $FlowFixMe\n\n lastInsertionPoint = match.index;\n continue;\n } // $FlowFixMe\n\n\n var _id = match[1];\n var _style = inserted[_id];\n\n if (_style === true || _style === undefined || seen[_id]) {\n continue;\n }\n\n seen[_id] = true;\n styles += _style;\n ids += \" \" + _id;\n }\n\n result += html.substring(lastInsertionPoint);\n return result;\n };\n};\n\nvar createRenderStylesToNodeStream = function createRenderStylesToNodeStream(cache, nonceString) {\n return function () {\n var insed = {};\n var tokenStream = tokenize();\n var inlineStream = through(function write(thing) {\n var type = thing[0],\n data = thing[1];\n\n if (type === 'open') {\n var css = '';\n var ids = {};\n var match;\n var fragment = data.toString();\n var regex = new RegExp(cache.key + \"-([a-zA-Z0-9-_]+)\", 'gm');\n\n while ((match = regex.exec(fragment)) !== null) {\n if (match !== null && insed[match[1]] === undefined) {\n ids[match[1]] = true;\n }\n }\n\n Object.keys(cache.inserted).forEach(function (id) {\n if (cache.inserted[id] !== true && insed[id] === undefined && (ids[id] === true || cache.registered[cache.key + \"-\" + id] === undefined && (ids[id] = true))) {\n insed[id] = true; // $FlowFixMe flow thinks emotion.caches.inserted[id] can be true even though it's checked earlier\n\n css += cache.inserted[id];\n }\n });\n\n if (css !== '') {\n this.queue(\"\");\n }\n }\n\n this.queue(data);\n }, function end() {\n this.queue(null);\n });\n return pipe(tokenStream, inlineStream);\n };\n};\n\nvar createConstructStyleTagsFromChunks = function createConstructStyleTagsFromChunks(cache, nonceString) {\n return function (criticalData) {\n var styleTagsString = '';\n criticalData.styles.forEach(function (item) {\n styleTagsString += generateStyleTag(item.key, item.ids.join(' '), item.css, nonceString);\n });\n return styleTagsString;\n };\n};\n\nfunction createEmotionServer (cache) {\n if (cache.compat !== true) {\n // is this good? should we do this automatically?\n // this is only for when using the new apis (not emotion or create-emotion)\n cache.compat = true;\n }\n\n var nonceString = cache.nonce !== undefined ? \" nonce=\\\"\" + cache.nonce + \"\\\"\" : '';\n return {\n extractCritical: createExtractCritical(cache),\n extractCriticalToChunks: createExtractCriticalToChunks(cache),\n renderStylesToString: createRenderStylesToString(cache, nonceString),\n renderStylesToNodeStream: createRenderStylesToNodeStream(cache, nonceString),\n constructStyleTagsFromChunks: createConstructStyleTagsFromChunks(cache, nonceString)\n };\n}\n\nexport default createEmotionServer;\n","import React from 'react'\n\nlet renderErr = 'Renderer Error ☝️'\n\nexport const actions = {\n init: 'init',\n}\n\nexport const defaultRenderer = ({ value = '' }) => value;\nexport const emptyRenderer = () => <> ;\n\nexport const defaultColumn = {\n Cell: defaultRenderer,\n width: 150,\n minWidth: 0,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nfunction mergeProps(...propList) {\n return propList.reduce((props, next) => {\n const { style, className, ...rest } = next\n\n props = {\n ...props,\n ...rest,\n }\n\n if (style) {\n props.style = props.style\n ? { ...(props.style || {}), ...(style || {}) }\n : style\n }\n\n if (className) {\n props.className = props.className\n ? props.className + ' ' + className\n : className\n }\n\n if (props.className === '') {\n delete props.className\n }\n\n return props\n }, {})\n}\n\nfunction handlePropGetter(prevProps, userProps, meta) {\n // Handle a lambda, pass it the previous props\n if (typeof userProps === 'function') {\n return handlePropGetter({}, userProps(prevProps, meta))\n }\n\n // Handle an array, merge each item as separate props\n if (Array.isArray(userProps)) {\n return mergeProps(prevProps, ...userProps)\n }\n\n // Handle an object by default, merge the two objects\n return mergeProps(prevProps, userProps)\n}\n\nexport const makePropGetter = (hooks, meta = {}) => {\n return (userProps = {}) =>\n [...hooks, userProps].reduce(\n (prev, next) =>\n handlePropGetter(prev, next, {\n ...meta,\n userProps,\n }),\n {}\n )\n}\n\nexport const reduceHooks = (hooks, initial, meta = {}, allowUndefined) =>\n hooks.reduce((prev, next) => {\n const nextValue = next(prev, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (!allowUndefined && typeof nextValue === 'undefined') {\n console.info(next)\n throw new Error(\n 'React Table: A reducer hook ☝️ just returned undefined! This is not allowed.'\n )\n }\n }\n return nextValue\n }, initial)\n\nexport const loopHooks = (hooks, context, meta = {}) =>\n hooks.forEach(hook => {\n const nextValue = hook(context, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (typeof nextValue !== 'undefined') {\n console.info(hook, nextValue)\n throw new Error(\n 'React Table: A loop-type hook ☝️ just returned a value! This is not allowed.'\n )\n }\n }\n })\n\nexport function ensurePluginOrder(plugins, befores, pluginName, afters) {\n if (process.env.NODE_ENV !== 'production' && afters) {\n throw new Error(\n `Defining plugins in the \"after\" section of ensurePluginOrder is no longer supported (see plugin ${pluginName})`\n )\n }\n const pluginIndex = plugins.findIndex(\n plugin => plugin.pluginName === pluginName\n )\n\n if (pluginIndex === -1) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`The plugin \"${pluginName}\" was not found in the plugin list!\nThis usually means you need to need to name your plugin hook by setting the 'pluginName' property of the hook function, eg:\n\n ${pluginName}.pluginName = '${pluginName}'\n`)\n }\n }\n\n befores.forEach(before => {\n const beforeIndex = plugins.findIndex(\n plugin => plugin.pluginName === before\n )\n if (beforeIndex > -1 && beforeIndex > pluginIndex) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `React Table: The ${pluginName} plugin hook must be placed after the ${before} plugin hook!`\n )\n }\n }\n })\n}\n\nexport function functionalUpdate(updater, old) {\n return typeof updater === 'function' ? updater(old) : updater\n}\n\nexport function useGetLatest(obj) {\n const ref = React.useRef()\n ref.current = obj\n\n return React.useCallback(() => ref.current, [])\n}\n\n// SSR has issues with useLayoutEffect still, so use useEffect during SSR\nexport const safeUseLayoutEffect =\n typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport function useMountedLayoutEffect(fn, deps) {\n const mountedRef = React.useRef(false)\n\n safeUseLayoutEffect(() => {\n if (mountedRef.current) {\n fn()\n }\n mountedRef.current = true\n // eslint-disable-next-line\n }, deps)\n}\n\nexport function useAsyncDebounce(defaultFn, defaultWait = 0) {\n const debounceRef = React.useRef({})\n\n const getDefaultFn = useGetLatest(defaultFn)\n const getDefaultWait = useGetLatest(defaultWait)\n\n return React.useCallback(\n async (...args) => {\n if (!debounceRef.current.promise) {\n debounceRef.current.promise = new Promise((resolve, reject) => {\n debounceRef.current.resolve = resolve\n debounceRef.current.reject = reject\n })\n }\n\n if (debounceRef.current.timeout) {\n clearTimeout(debounceRef.current.timeout)\n }\n\n debounceRef.current.timeout = setTimeout(async () => {\n delete debounceRef.current.timeout\n try {\n debounceRef.current.resolve(await getDefaultFn()(...args))\n } catch (err) {\n debounceRef.current.reject(err)\n } finally {\n delete debounceRef.current.promise\n }\n }, getDefaultWait())\n\n return debounceRef.current.promise\n },\n [getDefaultFn, getDefaultWait]\n )\n}\n\nexport function makeRenderer(instance, column, meta = {}) {\n return (type, userProps = {}) => {\n const Comp = typeof type === 'string' ? column[type] : type\n\n if (typeof Comp === 'undefined') {\n console.info(column)\n throw new Error(renderErr)\n }\n\n return flexRender(Comp, { ...instance, column, ...meta, ...userProps })\n }\n}\n\nexport function flexRender(Comp, props) {\n return isReactComponent(Comp) ? : Comp\n}\n\nfunction isReactComponent(component) {\n return (\n isClassComponent(component) ||\n typeof component === 'function' ||\n isExoticComponent(component)\n )\n}\n\nfunction isClassComponent(component) {\n return (\n typeof component === 'function' &&\n (() => {\n const proto = Object.getPrototypeOf(component)\n return proto.prototype && proto.prototype.isReactComponent\n })()\n )\n}\n\nfunction isExoticComponent(component) {\n return (\n typeof component === 'object' &&\n typeof component.$$typeof === 'symbol' &&\n ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)\n )\n}\n","import { defaultColumn, emptyRenderer } from './publicUtils'\n\n// Find the depth of the columns\nexport function findMaxDepth(columns, depth = 0) {\n return columns.reduce((prev, curr) => {\n if (curr.columns) {\n return Math.max(prev, findMaxDepth(curr.columns, depth + 1))\n }\n return depth\n }, 0)\n}\n\n// Build the visible columns, headers and flat column list\nexport function linkColumnStructure(columns, parent, depth = 0) {\n return columns.map(column => {\n column = {\n ...column,\n parent,\n depth,\n }\n\n assignColumnAccessor(column)\n\n if (column.columns) {\n column.columns = linkColumnStructure(column.columns, column, depth + 1)\n }\n return column\n })\n}\n\nexport function flattenColumns(columns) {\n return flattenBy(columns, 'columns')\n}\n\nexport function assignColumnAccessor(column) {\n // First check for string accessor\n let { id, accessor, Header } = column\n\n if (typeof accessor === 'string') {\n id = id || accessor\n const accessorPath = accessor.split('.')\n accessor = row => getBy(row, accessorPath)\n }\n\n if (!id && typeof Header === 'string' && Header) {\n id = Header\n }\n\n if (!id && column.columns) {\n console.error(column)\n throw new Error('A column ID (or unique \"Header\" value) is required!')\n }\n\n if (!id) {\n console.error(column)\n throw new Error('A column ID (or string accessor) is required!')\n }\n\n Object.assign(column, {\n id,\n accessor,\n })\n\n return column\n}\n\nexport function decorateColumn(column, userDefaultColumn) {\n if (!userDefaultColumn) {\n throw new Error()\n }\n Object.assign(column, {\n // Make sure there is a fallback header, just in case\n Header: emptyRenderer,\n Footer: emptyRenderer,\n ...defaultColumn,\n ...userDefaultColumn,\n ...column,\n })\n\n Object.assign(column, {\n originalWidth: column.width,\n })\n\n return column\n}\n\n// Build the header groups from the bottom up\nexport function makeHeaderGroups(\n allColumns,\n defaultColumn,\n additionalHeaderProperties = () => ({})\n) {\n const headerGroups = []\n\n let scanColumns = allColumns\n\n let uid = 0\n const getUID = () => uid++\n\n while (scanColumns.length) {\n // The header group we are creating\n const headerGroup = {\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const parentColumns = []\n\n const hasParents = scanColumns.some(d => d.parent)\n\n // Scan each column for parents\n scanColumns.forEach(column => {\n // What is the latest (last) parent column?\n let latestParentColumn = [...parentColumns].reverse()[0]\n\n let newParent\n\n if (hasParents) {\n // If the column has a parent, add it if necessary\n if (column.parent) {\n newParent = {\n ...column.parent,\n originalId: column.parent.id,\n id: `${column.parent.id}_${getUID()}`,\n headers: [column],\n ...additionalHeaderProperties(column),\n }\n } else {\n // If other columns have parents, we'll need to add a place holder if necessary\n const originalId = `${column.id}_placeholder`\n newParent = decorateColumn(\n {\n originalId,\n id: `${column.id}_placeholder_${getUID()}`,\n placeholderOf: column,\n headers: [column],\n ...additionalHeaderProperties(column),\n },\n defaultColumn\n )\n }\n\n // If the resulting parent columns are the same, just add\n // the column and increment the header span\n if (\n latestParentColumn &&\n latestParentColumn.originalId === newParent.originalId\n ) {\n latestParentColumn.headers.push(column)\n } else {\n parentColumns.push(newParent)\n }\n }\n\n headerGroup.headers.push(column)\n })\n\n headerGroups.push(headerGroup)\n\n // Start scanning the parent columns\n scanColumns = parentColumns\n }\n\n return headerGroups.reverse()\n}\n\nconst pathObjCache = new Map()\n\nexport function getBy(obj, path, def) {\n if (!path) {\n return obj\n }\n const cacheKey = typeof path === 'function' ? path : JSON.stringify(path)\n\n const pathObj =\n pathObjCache.get(cacheKey) ||\n (() => {\n const pathObj = makePathArray(path)\n pathObjCache.set(cacheKey, pathObj)\n return pathObj\n })()\n\n let val\n\n try {\n val = pathObj.reduce((cursor, pathPart) => cursor[pathPart], obj)\n } catch (e) {\n // continue regardless of error\n }\n return typeof val !== 'undefined' ? val : def\n}\n\nexport function getFirstDefined(...args) {\n for (let i = 0; i < args.length; i += 1) {\n if (typeof args[i] !== 'undefined') {\n return args[i]\n }\n }\n}\n\nexport function getElementDimensions(element) {\n const rect = element.getBoundingClientRect()\n const style = window.getComputedStyle(element)\n const margins = {\n left: parseInt(style.marginLeft),\n right: parseInt(style.marginRight),\n }\n const padding = {\n left: parseInt(style.paddingLeft),\n right: parseInt(style.paddingRight),\n }\n return {\n left: Math.ceil(rect.left),\n width: Math.ceil(rect.width),\n outerWidth: Math.ceil(\n rect.width + margins.left + margins.right + padding.left + padding.right\n ),\n marginLeft: margins.left,\n marginRight: margins.right,\n paddingLeft: padding.left,\n paddingRight: padding.right,\n scrollWidth: element.scrollWidth,\n }\n}\n\nexport function isFunction(a) {\n if (typeof a === 'function') {\n return a\n }\n}\n\nexport function flattenBy(arr, key) {\n const flat = []\n\n const recurse = arr => {\n arr.forEach(d => {\n if (!d[key]) {\n flat.push(d)\n } else {\n recurse(d[key])\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\nexport function expandRows(\n rows,\n { manualExpandedKey, expanded, expandSubRows = true }\n) {\n const expandedRows = []\n\n const handleRow = (row, addToExpandedRows = true) => {\n row.isExpanded =\n (row.original && row.original[manualExpandedKey]) || expanded[row.id]\n\n row.canExpand = row.subRows && !!row.subRows.length\n\n if (addToExpandedRows) {\n expandedRows.push(row)\n }\n\n if (row.subRows && row.subRows.length && row.isExpanded) {\n row.subRows.forEach(row => handleRow(row, expandSubRows))\n }\n }\n\n rows.forEach(row => handleRow(row))\n\n return expandedRows\n}\n\nexport function getFilterMethod(filter, userFilterTypes, filterTypes) {\n return (\n isFunction(filter) ||\n userFilterTypes[filter] ||\n filterTypes[filter] ||\n filterTypes.text\n )\n}\n\nexport function shouldAutoRemoveFilter(autoRemove, value, column) {\n return autoRemove ? autoRemove(value, column) : typeof value === 'undefined'\n}\n\nexport function unpreparedAccessWarning() {\n throw new Error(\n 'React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.'\n )\n}\n\nlet passiveSupported = null\nexport function passiveEventSupported() {\n // memoize support to avoid adding multiple test events\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n window.addEventListener('test', null, options)\n window.removeEventListener('test', null, options)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\n//\n\nconst reOpenBracket = /\\[/g\nconst reCloseBracket = /\\]/g\n\nfunction makePathArray(obj) {\n return (\n flattenDeep(obj)\n // remove all periods in parts\n .map(d => String(d).replace('.', '_'))\n // join parts using period\n .join('.')\n // replace brackets with periods\n .replace(reOpenBracket, '.')\n .replace(reCloseBracket, '')\n // split it back out on periods\n .split('.')\n )\n}\n\nfunction flattenDeep(arr, newArr = []) {\n if (!Array.isArray(arr)) {\n newArr.push(arr)\n } else {\n for (let i = 0; i < arr.length; i += 1) {\n flattenDeep(arr[i], newArr)\n }\n }\n return newArr\n}\n","const defaultGetTableProps = props => ({\n role: 'table',\n ...props,\n})\n\nconst defaultGetTableBodyProps = props => ({\n role: 'rowgroup',\n ...props,\n})\n\nconst defaultGetHeaderProps = (props, { column }) => ({\n key: `header_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n role: 'columnheader',\n ...props,\n})\n\nconst defaultGetFooterProps = (props, { column }) => ({\n key: `footer_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n ...props,\n})\n\nconst defaultGetHeaderGroupProps = (props, { index }) => ({\n key: `headerGroup_${index}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetFooterGroupProps = (props, { index }) => ({\n key: `footerGroup_${index}`,\n ...props,\n})\n\nconst defaultGetRowProps = (props, { row }) => ({\n key: `row_${row.id}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetCellProps = (props, { cell }) => ({\n key: `cell_${cell.row.id}_${cell.column.id}`,\n role: 'cell',\n ...props,\n})\n\nexport default function makeDefaultPluginHooks() {\n return {\n useOptions: [],\n stateReducers: [],\n useControlledState: [],\n columns: [],\n columnsDeps: [],\n allColumns: [],\n allColumnsDeps: [],\n accessValue: [],\n materializedColumns: [],\n materializedColumnsDeps: [],\n useInstanceAfterData: [],\n visibleColumns: [],\n visibleColumnsDeps: [],\n headerGroups: [],\n headerGroupsDeps: [],\n useInstanceBeforeDimensions: [],\n useInstance: [],\n prepareRow: [],\n getTableProps: [defaultGetTableProps],\n getTableBodyProps: [defaultGetTableBodyProps],\n getHeaderGroupProps: [defaultGetHeaderGroupProps],\n getFooterGroupProps: [defaultGetFooterGroupProps],\n getHeaderProps: [defaultGetHeaderProps],\n getFooterProps: [defaultGetFooterProps],\n getRowProps: [defaultGetRowProps],\n getCellProps: [defaultGetCellProps],\n useFinalInstance: [],\n }\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useGetLatest,\n makePropGetter,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nactions.resetHiddenColumns = 'resetHiddenColumns'\nactions.toggleHideColumn = 'toggleHideColumn'\nactions.setHiddenColumns = 'setHiddenColumns'\nactions.toggleHideAllColumns = 'toggleHideAllColumns'\n\nexport const useColumnVisibility = hooks => {\n hooks.getToggleHiddenProps = [defaultGetToggleHiddenProps]\n hooks.getToggleHideAllColumnsProps = [defaultGetToggleHideAllColumnsProps]\n\n hooks.stateReducers.push(reducer)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n hooks.headerGroupsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.hiddenColumns,\n ])\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnVisibility.pluginName = 'useColumnVisibility'\n\nconst defaultGetToggleHiddenProps = (props, { column }) => [\n props,\n {\n onChange: e => {\n column.toggleHidden(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: column.isVisible,\n title: 'Toggle Column Visible',\n },\n]\n\nconst defaultGetToggleHideAllColumnsProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleHideAllColumns(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: !instance.allColumnsHidden && !instance.state.hiddenColumns.length,\n title: 'Toggle All Columns Hidden',\n indeterminate:\n !instance.allColumnsHidden && instance.state.hiddenColumns.length,\n },\n]\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n hiddenColumns: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetHiddenColumns) {\n return {\n ...state,\n hiddenColumns: instance.initialState.hiddenColumns || [],\n }\n }\n\n if (action.type === actions.toggleHideColumn) {\n const should =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.includes(action.columnId)\n\n const hiddenColumns = should\n ? [...state.hiddenColumns, action.columnId]\n : state.hiddenColumns.filter(d => d !== action.columnId)\n\n return {\n ...state,\n hiddenColumns,\n }\n }\n\n if (action.type === actions.setHiddenColumns) {\n return {\n ...state,\n hiddenColumns: functionalUpdate(action.value, state.hiddenColumns),\n }\n }\n\n if (action.type === actions.toggleHideAllColumns) {\n const shouldAll =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.length\n\n return {\n ...state,\n hiddenColumns: shouldAll ? instance.allColumns.map(d => d.id) : [],\n }\n }\n}\n\nfunction useInstanceBeforeDimensions(instance) {\n const {\n headers,\n state: { hiddenColumns },\n } = instance\n\n const isMountedRef = React.useRef(false)\n\n if (!isMountedRef.current) {\n }\n\n const handleColumn = (column, parentVisible) => {\n column.isVisible = parentVisible && !hiddenColumns.includes(column.id)\n\n let totalVisibleHeaderCount = 0\n\n if (column.headers && column.headers.length) {\n column.headers.forEach(\n subColumn =>\n (totalVisibleHeaderCount += handleColumn(subColumn, column.isVisible))\n )\n } else {\n totalVisibleHeaderCount = column.isVisible ? 1 : 0\n }\n\n column.totalVisibleHeaderCount = totalVisibleHeaderCount\n\n return totalVisibleHeaderCount\n }\n\n let totalVisibleHeaderCount = 0\n\n headers.forEach(\n subHeader => (totalVisibleHeaderCount += handleColumn(subHeader, true))\n )\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n flatHeaders,\n dispatch,\n allColumns,\n getHooks,\n state: { hiddenColumns },\n autoResetHiddenColumns = true,\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n const allColumnsHidden = allColumns.length === hiddenColumns.length\n\n const toggleHideColumn = React.useCallback(\n (columnId, value) =>\n dispatch({ type: actions.toggleHideColumn, columnId, value }),\n [dispatch]\n )\n\n const setHiddenColumns = React.useCallback(\n value => dispatch({ type: actions.setHiddenColumns, value }),\n [dispatch]\n )\n\n const toggleHideAllColumns = React.useCallback(\n value => dispatch({ type: actions.toggleHideAllColumns, value }),\n [dispatch]\n )\n\n const getToggleHideAllColumnsProps = makePropGetter(\n getHooks().getToggleHideAllColumnsProps,\n { instance: getInstance() }\n )\n\n flatHeaders.forEach(column => {\n column.toggleHidden = value => {\n dispatch({\n type: actions.toggleHideColumn,\n columnId: column.id,\n value,\n })\n }\n\n column.getToggleHiddenProps = makePropGetter(\n getHooks().getToggleHiddenProps,\n {\n instance: getInstance(),\n column,\n }\n )\n })\n\n const getAutoResetHiddenColumns = useGetLatest(autoResetHiddenColumns)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetHiddenColumns()) {\n dispatch({ type: actions.resetHiddenColumns })\n }\n }, [dispatch, columns])\n\n Object.assign(instance, {\n allColumnsHidden,\n toggleHideColumn,\n setHiddenColumns,\n toggleHideAllColumns,\n getToggleHideAllColumnsProps,\n })\n}\n","import React from 'react'\n\n//\n\nimport {\n linkColumnStructure,\n flattenColumns,\n assignColumnAccessor,\n unpreparedAccessWarning,\n makeHeaderGroups,\n decorateColumn,\n} from '../utils'\n\nimport {\n useGetLatest,\n reduceHooks,\n actions,\n loopHooks,\n makePropGetter,\n makeRenderer,\n} from '../publicUtils'\n\nimport makeDefaultPluginHooks from '../makeDefaultPluginHooks'\n\nimport { useColumnVisibility } from './useColumnVisibility'\n\nconst defaultInitialState = {}\nconst defaultColumnInstance = {}\nconst defaultReducer = (state, action, prevState) => state\nconst defaultGetSubRows = (row, index) => row.subRows || []\nconst defaultGetRowId = (row, index, parent) =>\n `${parent ? [parent.id, index].join('.') : index}`\nconst defaultUseControlledState = d => d\n\nfunction applyDefaults(props) {\n const {\n initialState = defaultInitialState,\n defaultColumn = defaultColumnInstance,\n getSubRows = defaultGetSubRows,\n getRowId = defaultGetRowId,\n stateReducer = defaultReducer,\n useControlledState = defaultUseControlledState,\n ...rest\n } = props\n\n return {\n ...rest,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n }\n}\n\nexport const useTable = (props, ...plugins) => {\n // Apply default props\n props = applyDefaults(props)\n\n // Add core plugins\n plugins = [useColumnVisibility, ...plugins]\n\n // Create the table instance\n let instanceRef = React.useRef({})\n\n // Create a getter for the instance (helps avoid a lot of potential memory leaks)\n const getInstance = useGetLatest(instanceRef.current)\n\n // Assign the props, plugins and hooks to the instance\n Object.assign(getInstance(), {\n ...props,\n plugins,\n hooks: makeDefaultPluginHooks(),\n })\n\n // Allow plugins to register hooks as early as possible\n plugins.filter(Boolean).forEach(plugin => {\n plugin(getInstance().hooks)\n })\n\n // Consume all hooks and make a getter for them\n const getHooks = useGetLatest(getInstance().hooks)\n getInstance().getHooks = getHooks\n delete getInstance().hooks\n\n // Allow useOptions hooks to modify the options coming into the table\n Object.assign(\n getInstance(),\n reduceHooks(getHooks().useOptions, applyDefaults(props))\n )\n\n const {\n data,\n columns: userColumns,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n } = getInstance()\n\n // Setup user reducer ref\n const getStateReducer = useGetLatest(stateReducer)\n\n // Build the reducer\n const reducer = React.useCallback(\n (state, action) => {\n // Detect invalid actions\n if (!action.type) {\n console.info({ action })\n throw new Error('Unknown Action 👆')\n }\n\n // Reduce the state from all plugin reducers\n return [\n ...getHooks().stateReducers,\n // Allow the user to add their own state reducer(s)\n ...(Array.isArray(getStateReducer())\n ? getStateReducer()\n : [getStateReducer()]),\n ].reduce(\n (s, handler) => handler(s, action, state, getInstance()) || s,\n state\n )\n },\n [getHooks, getStateReducer, getInstance]\n )\n\n // Start the reducer\n const [reducerState, dispatch] = React.useReducer(reducer, undefined, () =>\n reducer(initialState, { type: actions.init })\n )\n\n // Allow the user to control the final state with hooks\n const state = reduceHooks(\n [...getHooks().useControlledState, useControlledState],\n reducerState,\n { instance: getInstance() }\n )\n\n Object.assign(getInstance(), {\n state,\n dispatch,\n })\n\n // Decorate All the columns\n const columns = React.useMemo(\n () =>\n linkColumnStructure(\n reduceHooks(getHooks().columns, userColumns, {\n instance: getInstance(),\n })\n ),\n [\n getHooks,\n getInstance,\n userColumns,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().columnsDeps, [], { instance: getInstance() }),\n ]\n )\n getInstance().columns = columns\n\n // Get the flat list of all columns and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let allColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().allColumns, flattenColumns(columns), {\n instance: getInstance(),\n }).map(assignColumnAccessor),\n [\n columns,\n getHooks,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().allColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().allColumns = allColumns\n\n // Access the row model using initial columns\n const [rows, flatRows, rowsById] = React.useMemo(() => {\n let rows = []\n let flatRows = []\n const rowsById = {}\n\n const allColumnsQueue = [...allColumns]\n\n while (allColumnsQueue.length) {\n const column = allColumnsQueue.shift()\n accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks: getHooks().accessValue,\n getInstance,\n })\n }\n\n return [rows, flatRows, rowsById]\n }, [allColumns, data, getRowId, getSubRows, getHooks, getInstance])\n\n Object.assign(getInstance(), {\n rows,\n initialRows: [...rows],\n flatRows,\n rowsById,\n // materializedColumns,\n })\n\n loopHooks(getHooks().useInstanceAfterData, getInstance())\n\n // Get the flat list of all columns AFTER the rows\n // have been access, and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let visibleColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().visibleColumns, allColumns, {\n instance: getInstance(),\n }).map(d => decorateColumn(d, defaultColumn)),\n [\n getHooks,\n allColumns,\n getInstance,\n defaultColumn,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().visibleColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n\n // Combine new visible columns with all columns\n allColumns = React.useMemo(() => {\n const columns = [...visibleColumns]\n\n allColumns.forEach(column => {\n if (!columns.find(d => d.id === column.id)) {\n columns.push(column)\n }\n })\n\n return columns\n }, [allColumns, visibleColumns])\n getInstance().allColumns = allColumns\n\n if (process.env.NODE_ENV !== 'production') {\n const duplicateColumns = allColumns.filter((column, i) => {\n return allColumns.findIndex(d => d.id === column.id) !== i\n })\n\n if (duplicateColumns.length) {\n console.info(allColumns)\n throw new Error(\n `Duplicate columns were found with ids: \"${duplicateColumns\n .map(d => d.id)\n .join(', ')}\" in the columns array above`\n )\n }\n }\n\n // Make the headerGroups\n const headerGroups = React.useMemo(\n () =>\n reduceHooks(\n getHooks().headerGroups,\n makeHeaderGroups(visibleColumns, defaultColumn),\n getInstance()\n ),\n [\n getHooks,\n visibleColumns,\n defaultColumn,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().headerGroupsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().headerGroups = headerGroups\n\n // Get the first level of headers\n const headers = React.useMemo(\n () => (headerGroups.length ? headerGroups[0].headers : []),\n [headerGroups]\n )\n getInstance().headers = headers\n\n // Provide a flat header list for utilities\n getInstance().flatHeaders = headerGroups.reduce(\n (all, headerGroup) => [...all, ...headerGroup.headers],\n []\n )\n\n loopHooks(getHooks().useInstanceBeforeDimensions, getInstance())\n\n // Filter columns down to visible ones\n const visibleColumnsDep = visibleColumns\n .filter(d => d.isVisible)\n .map(d => d.id)\n .sort()\n .join('_')\n\n visibleColumns = React.useMemo(\n () => visibleColumns.filter(d => d.isVisible),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [visibleColumns, visibleColumnsDep]\n )\n getInstance().visibleColumns = visibleColumns\n\n // Header Visibility is needed by this point\n const [\n totalColumnsMinWidth,\n totalColumnsWidth,\n totalColumnsMaxWidth,\n ] = calculateHeaderWidths(headers)\n\n getInstance().totalColumnsMinWidth = totalColumnsMinWidth\n getInstance().totalColumnsWidth = totalColumnsWidth\n getInstance().totalColumnsMaxWidth = totalColumnsMaxWidth\n\n loopHooks(getHooks().useInstance, getInstance())\n\n // Each materialized header needs to be assigned a render function and other\n // prop getter properties here.\n ;[...getInstance().flatHeaders, ...getInstance().allColumns].forEach(\n column => {\n // Give columns/headers rendering power\n column.render = makeRenderer(getInstance(), column)\n\n // Give columns/headers a default getHeaderProps\n column.getHeaderProps = makePropGetter(getHooks().getHeaderProps, {\n instance: getInstance(),\n column,\n })\n\n // Give columns/headers a default getFooterProps\n column.getFooterProps = makePropGetter(getHooks().getFooterProps, {\n instance: getInstance(),\n column,\n })\n }\n )\n\n getInstance().headerGroups = React.useMemo(\n () =>\n headerGroups.filter((headerGroup, i) => {\n // Filter out any headers and headerGroups that don't have visible columns\n headerGroup.headers = headerGroup.headers.filter(column => {\n const recurse = headers =>\n headers.filter(column => {\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n }).length\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n })\n\n // Give headerGroups getRowProps\n if (headerGroup.headers.length) {\n headerGroup.getHeaderGroupProps = makePropGetter(\n getHooks().getHeaderGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n headerGroup.getFooterGroupProps = makePropGetter(\n getHooks().getFooterGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n return true\n }\n\n return false\n }),\n [headerGroups, getInstance, getHooks]\n )\n\n getInstance().footerGroups = [...getInstance().headerGroups].reverse()\n\n // The prepareRow function is absolutely necessary and MUST be called on\n // any rows the user wishes to be displayed.\n\n getInstance().prepareRow = React.useCallback(\n row => {\n row.getRowProps = makePropGetter(getHooks().getRowProps, {\n instance: getInstance(),\n row,\n })\n\n // Build the visible cells for each row\n row.allCells = allColumns.map(column => {\n const value = row.values[column.id]\n\n const cell = {\n column,\n row,\n value,\n }\n\n // Give each cell a getCellProps base\n cell.getCellProps = makePropGetter(getHooks().getCellProps, {\n instance: getInstance(),\n cell,\n })\n\n // Give each cell a renderer function (supports multiple renderers)\n cell.render = makeRenderer(getInstance(), column, {\n row,\n cell,\n value,\n })\n\n return cell\n })\n\n row.cells = visibleColumns.map(column =>\n row.allCells.find(cell => cell.column.id === column.id)\n )\n\n // need to apply any row specific hooks (useExpanded requires this)\n loopHooks(getHooks().prepareRow, row, { instance: getInstance() })\n },\n [getHooks, getInstance, allColumns, visibleColumns]\n )\n\n getInstance().getTableProps = makePropGetter(getHooks().getTableProps, {\n instance: getInstance(),\n })\n\n getInstance().getTableBodyProps = makePropGetter(\n getHooks().getTableBodyProps,\n {\n instance: getInstance(),\n }\n )\n\n loopHooks(getHooks().useFinalInstance, getInstance())\n\n return getInstance()\n}\n\nfunction calculateHeaderWidths(headers, left = 0) {\n let sumTotalMinWidth = 0\n let sumTotalWidth = 0\n let sumTotalMaxWidth = 0\n let sumTotalFlexWidth = 0\n\n headers.forEach(header => {\n let { headers: subHeaders } = header\n\n header.totalLeft = left\n\n if (subHeaders && subHeaders.length) {\n const [\n totalMinWidth,\n totalWidth,\n totalMaxWidth,\n totalFlexWidth,\n ] = calculateHeaderWidths(subHeaders, left)\n header.totalMinWidth = totalMinWidth\n header.totalWidth = totalWidth\n header.totalMaxWidth = totalMaxWidth\n header.totalFlexWidth = totalFlexWidth\n } else {\n header.totalMinWidth = header.minWidth\n header.totalWidth = Math.min(\n Math.max(header.minWidth, header.width),\n header.maxWidth\n )\n header.totalMaxWidth = header.maxWidth\n header.totalFlexWidth = header.canResize ? header.totalWidth : 0\n }\n if (header.isVisible) {\n left += header.totalWidth\n sumTotalMinWidth += header.totalMinWidth\n sumTotalWidth += header.totalWidth\n sumTotalMaxWidth += header.totalMaxWidth\n sumTotalFlexWidth += header.totalFlexWidth\n }\n })\n\n return [sumTotalMinWidth, sumTotalWidth, sumTotalMaxWidth, sumTotalFlexWidth]\n}\n\nfunction accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks,\n getInstance,\n}) {\n // Access the row's data column-by-column\n // We do it this way so we can incrementally add materialized\n // columns after the first pass and avoid excessive looping\n const accessRow = (originalRow, rowIndex, depth = 0, parent, parentRows) => {\n // Keep the original reference around\n const original = originalRow\n\n const id = getRowId(originalRow, rowIndex, parent)\n\n let row = rowsById[id]\n\n // If the row hasn't been created, let's make it\n if (!row) {\n row = {\n id,\n original,\n index: rowIndex,\n depth,\n cells: [{}], // This is a dummy cell\n }\n\n // Override common array functions (and the dummy cell's getCellProps function)\n // to show an error if it is accessed without calling prepareRow\n row.cells.map = unpreparedAccessWarning\n row.cells.filter = unpreparedAccessWarning\n row.cells.forEach = unpreparedAccessWarning\n row.cells[0].getCellProps = unpreparedAccessWarning\n\n // Create the cells and values\n row.values = {}\n\n // Push this row into the parentRows array\n parentRows.push(row)\n // Keep track of every row in a flat array\n flatRows.push(row)\n // Also keep track of every row by its ID\n rowsById[id] = row\n\n // Get the original subrows\n row.originalSubRows = getSubRows(originalRow, rowIndex)\n\n // Then recursively access them\n if (row.originalSubRows) {\n const subRows = []\n row.originalSubRows.forEach((d, i) =>\n accessRow(d, i, depth + 1, row, subRows)\n )\n // Keep the new subRows array on the row\n row.subRows = subRows\n }\n } else if (row.subRows) {\n // If the row exists, then it's already been accessed\n // Keep recursing, but don't worry about passing the\n // accumlator array (those rows already exist)\n row.originalSubRows.forEach((d, i) => accessRow(d, i, depth + 1, row))\n }\n\n // If the column has an accessor, use it to get a value\n if (column.accessor) {\n row.values[column.id] = column.accessor(\n originalRow,\n rowIndex,\n row,\n parentRows,\n data\n )\n }\n\n // Allow plugins to manipulate the column value\n row.values[column.id] = reduceHooks(\n accessValueHooks,\n row.values[column.id],\n {\n row,\n column,\n instance: getInstance(),\n },\n true\n )\n }\n\n data.forEach((originalRow, rowIndex) =>\n accessRow(originalRow, rowIndex, 0, undefined, rows)\n )\n}\n","import React from 'react'\n\nimport { expandRows } from '../utils'\n\nimport {\n useGetLatest,\n actions,\n useMountedLayoutEffect,\n makePropGetter,\n ensurePluginOrder,\n} from '../publicUtils'\n\n// Actions\nactions.resetExpanded = 'resetExpanded'\nactions.toggleRowExpanded = 'toggleRowExpanded'\nactions.toggleAllRowsExpanded = 'toggleAllRowsExpanded'\n\nexport const useExpanded = hooks => {\n hooks.getToggleAllRowsExpandedProps = [defaultGetToggleAllRowsExpandedProps]\n hooks.getToggleRowExpandedProps = [defaultGetToggleRowExpandedProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseExpanded.pluginName = 'useExpanded'\n\nconst defaultGetToggleAllRowsExpandedProps = (props, { instance }) => [\n props,\n {\n onClick: e => {\n instance.toggleAllRowsExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle All Rows Expanded',\n },\n]\n\nconst defaultGetToggleRowExpandedProps = (props, { row }) => [\n props,\n {\n onClick: () => {\n row.toggleRowExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle Row Expanded',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n expanded: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetExpanded) {\n return {\n ...state,\n expanded: instance.initialState.expanded || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsExpanded) {\n const { value } = action\n const { rowsById } = instance\n\n const isAllRowsExpanded =\n Object.keys(rowsById).length === Object.keys(state.expanded).length\n\n const expandAll = typeof value !== 'undefined' ? value : !isAllRowsExpanded\n\n if (expandAll) {\n const expanded = {}\n\n Object.keys(rowsById).forEach(rowId => {\n expanded[rowId] = true\n })\n\n return {\n ...state,\n expanded,\n }\n }\n\n return {\n ...state,\n expanded: {},\n }\n }\n\n if (action.type === actions.toggleRowExpanded) {\n const { id, value: setExpanded } = action\n const exists = state.expanded[id]\n\n const shouldExist =\n typeof setExpanded !== 'undefined' ? setExpanded : !exists\n\n if (!exists && shouldExist) {\n return {\n ...state,\n expanded: {\n ...state.expanded,\n [id]: true,\n },\n }\n } else if (exists && !shouldExist) {\n const { [id]: _, ...rest } = state.expanded\n return {\n ...state,\n expanded: rest,\n }\n } else {\n return state\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n rowsById,\n manualExpandedKey = 'expanded',\n paginateExpandedRows = true,\n expandSubRows = true,\n autoResetExpanded = true,\n getHooks,\n plugins,\n state: { expanded },\n dispatch,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useSortBy', 'useGroupBy', 'usePivotColumns', 'useGlobalFilter'],\n 'useExpanded'\n )\n\n const getAutoResetExpanded = useGetLatest(autoResetExpanded)\n\n let isAllRowsExpanded = Boolean(\n Object.keys(rowsById).length && Object.keys(expanded).length\n )\n\n if (isAllRowsExpanded) {\n if (Object.keys(rowsById).some(id => !expanded[id])) {\n isAllRowsExpanded = false\n }\n }\n\n // Bypass any effects from firing when this changes\n useMountedLayoutEffect(() => {\n if (getAutoResetExpanded()) {\n dispatch({ type: actions.resetExpanded })\n }\n }, [dispatch, data])\n\n const toggleRowExpanded = React.useCallback(\n (id, value) => {\n dispatch({ type: actions.toggleRowExpanded, id, value })\n },\n [dispatch]\n )\n\n const toggleAllRowsExpanded = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsExpanded, value }),\n [dispatch]\n )\n\n const expandedRows = React.useMemo(() => {\n if (paginateExpandedRows) {\n return expandRows(rows, { manualExpandedKey, expanded, expandSubRows })\n }\n\n return rows\n }, [paginateExpandedRows, rows, manualExpandedKey, expanded, expandSubRows])\n\n const expandedDepth = React.useMemo(() => findExpandedDepth(expanded), [\n expanded,\n ])\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsExpandedProps = makePropGetter(\n getHooks().getToggleAllRowsExpandedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n preExpandedRows: rows,\n expandedRows,\n rows: expandedRows,\n expandedDepth,\n isAllRowsExpanded,\n toggleRowExpanded,\n toggleAllRowsExpanded,\n getToggleAllRowsExpandedProps,\n })\n}\n\nfunction prepareRow(row, { instance: { getHooks }, instance }) {\n row.toggleRowExpanded = set => instance.toggleRowExpanded(row.id, set)\n\n row.getToggleRowExpandedProps = makePropGetter(\n getHooks().getToggleRowExpandedProps,\n {\n instance,\n row,\n }\n )\n}\n\nfunction findExpandedDepth(expanded) {\n let maxDepth = 0\n\n Object.keys(expanded).forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n","export const text = (rows, ids, filterValue) => {\n rows = rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return String(rowValue)\n .toLowerCase()\n .includes(String(filterValue).toLowerCase())\n })\n })\n return rows\n}\n\ntext.autoRemove = val => !val\n\nexport const exactText = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase()\n : true\n })\n })\n}\n\nexactText.autoRemove = val => !val\n\nexport const exactTextCase = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue) === String(filterValue)\n : true\n })\n })\n}\n\nexactTextCase.autoRemove = val => !val\n\nexport const includes = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue.includes(filterValue)\n })\n })\n}\n\nincludes.autoRemove = val => !val || !val.length\n\nexport const includesAll = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.every(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesAll.autoRemove = val => !val || !val.length\n\nexport const includesSome = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.some(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesSome.autoRemove = val => !val || !val.length\n\nexport const includesValue = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return filterValue.includes(rowValue)\n })\n })\n}\n\nincludesValue.autoRemove = val => !val || !val.length\n\nexport const exact = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue === filterValue\n })\n })\n}\n\nexact.autoRemove = val => typeof val === 'undefined'\n\nexport const equals = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n // eslint-disable-next-line eqeqeq\n return rowValue == filterValue\n })\n })\n}\n\nequals.autoRemove = val => val == null\n\nexport const between = (rows, ids, filterValue) => {\n let [min, max] = filterValue || []\n\n min = typeof min === 'number' ? min : -Infinity\n max = typeof max === 'number' ? max : Infinity\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue >= min && rowValue <= max\n })\n })\n}\n\nbetween.autoRemove = val =>\n !val || (typeof val[0] !== 'number' && typeof val[1] !== 'number')\n","import React from 'react'\n\nimport {\n getFirstDefined,\n getFilterMethod,\n shouldAutoRemoveFilter,\n} from '../utils'\n\nimport {\n actions,\n useGetLatest,\n functionalUpdate,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetFilters = 'resetFilters'\nactions.setFilter = 'setFilter'\nactions.setAllFilters = 'setAllFilters'\n\nexport const useFilters = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseFilters.pluginName = 'useFilters'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n filters: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetFilters) {\n return {\n ...state,\n filters: instance.initialState.filters || [],\n }\n }\n\n if (action.type === actions.setFilter) {\n const { columnId, filterValue } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n const previousfilter = state.filters.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n filterValue,\n previousfilter && previousfilter.value\n )\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter, column)) {\n return {\n ...state,\n filters: state.filters.filter(d => d.id !== columnId),\n }\n }\n\n if (previousfilter) {\n return {\n ...state,\n filters: state.filters.map(d => {\n if (d.id === columnId) {\n return { id: columnId, value: newFilter }\n }\n return d\n }),\n }\n }\n\n return {\n ...state,\n filters: [...state.filters, { id: columnId, value: newFilter }],\n }\n }\n\n if (action.type === actions.setAllFilters) {\n const { filters } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n return {\n ...state,\n // Filter out undefined values\n filters: functionalUpdate(filters, state.filters).filter(filter => {\n const column = allColumns.find(d => d.id === filter.id)\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (\n shouldAutoRemoveFilter(filterMethod.autoRemove, filter.value, column)\n ) {\n return false\n }\n return true\n }),\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n manualFilters,\n defaultCanFilter = false,\n disableFilters,\n state: { filters },\n dispatch,\n autoResetFilters = true,\n } = instance\n\n const setFilter = React.useCallback(\n (columnId, filterValue) => {\n dispatch({ type: actions.setFilter, columnId, filterValue })\n },\n [dispatch]\n )\n\n const setAllFilters = React.useCallback(\n filters => {\n dispatch({\n type: actions.setAllFilters,\n filters,\n })\n },\n [dispatch]\n )\n\n allColumns.forEach(column => {\n const {\n id,\n accessor,\n defaultCanFilter: columnDefaultCanFilter,\n disableFilters: columnDisableFilters,\n } = column\n\n // Determine if a column is filterable\n column.canFilter = accessor\n ? getFirstDefined(\n columnDisableFilters === true ? false : undefined,\n disableFilters === true ? false : undefined,\n true\n )\n : getFirstDefined(columnDefaultCanFilter, defaultCanFilter, false)\n\n // Provide the column a way of updating the filter value\n column.setFilter = val => setFilter(column.id, val)\n\n // Provide the current filter value to the column for\n // convenience\n const found = filters.find(d => d.id === id)\n column.filterValue = found && found.value\n })\n\n const [\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n ] = React.useMemo(() => {\n if (manualFilters || !filters.length) {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n // Filters top level and nested rows\n const filterRows = (rows, depth = 0) => {\n let filteredRows = rows\n\n filteredRows = filters.reduce(\n (filteredSoFar, { id: columnId, value: filterValue }) => {\n // Find the filters column\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n return filteredSoFar\n }\n\n if (depth === 0) {\n column.preFilteredRows = filteredSoFar\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(\n `Could not find a valid 'column.filter' for column with the ID: ${column.id}.`\n )\n return filteredSoFar\n }\n\n // Pass the rows, id, filterValue and column to the filterMethod\n // to get the filtered rows back\n column.filteredRows = filterMethod(\n filteredSoFar,\n [columnId],\n filterValue\n )\n\n return column.filteredRows\n },\n rows\n )\n\n // Apply the filter to any subRows\n // We technically could do this recursively in the above loop,\n // but that would severely hinder the API for the user, since they\n // would be required to do that recursion in some scenarios\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n if (!row.subRows) {\n return\n }\n\n row.subRows =\n row.subRows && row.subRows.length > 0\n ? filterRows(row.subRows, depth + 1)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualFilters,\n filters,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userFilterTypes,\n ])\n\n React.useMemo(() => {\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = allColumns.filter(\n column => !filters.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n nonFilteredColumns.forEach(column => {\n column.preFilteredRows = filteredRows\n column.filteredRows = filteredRows\n })\n }, [filteredRows, filters, allColumns])\n\n const getAutoResetFilters = useGetLatest(autoResetFilters)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetFilters()) {\n dispatch({ type: actions.resetFilters })\n }\n }, [dispatch, manualFilters ? null : data])\n\n Object.assign(instance, {\n preFilteredRows: rows,\n preFilteredFlatRows: flatRows,\n preFilteredRowsById: rowsById,\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n rows: filteredRows,\n flatRows: filteredFlatRows,\n rowsById: filteredRowsById,\n setFilter,\n setAllFilters,\n })\n}\n","import React from 'react'\n\nimport {\n getFilterMethod,\n shouldAutoRemoveFilter,\n getFirstDefined,\n} from '../utils'\n\nimport {\n actions,\n useMountedLayoutEffect,\n functionalUpdate,\n useGetLatest,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetGlobalFilter = 'resetGlobalFilter'\nactions.setGlobalFilter = 'setGlobalFilter'\n\nexport const useGlobalFilter = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseGlobalFilter.pluginName = 'useGlobalFilter'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.resetGlobalFilter) {\n return {\n ...state,\n globalFilter: instance.initialState.globalFilter || undefined,\n }\n }\n\n if (action.type === actions.setGlobalFilter) {\n const { filterValue } = action\n const { userFilterTypes } = instance\n\n const filterMethod = getFilterMethod(\n instance.globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n const newFilter = functionalUpdate(filterValue, state.globalFilter)\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter)) {\n const { globalFilter, ...stateWithoutGlobalFilter } = state\n return stateWithoutGlobalFilter\n }\n\n return {\n ...state,\n globalFilter: newFilter,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n globalFilter,\n manualGlobalFilter,\n state: { globalFilter: globalFilterValue },\n dispatch,\n autoResetGlobalFilter = true,\n disableGlobalFilter,\n } = instance\n\n const setGlobalFilter = React.useCallback(\n filterValue => {\n dispatch({ type: actions.setGlobalFilter, filterValue })\n },\n [dispatch]\n )\n\n // TODO: Create a filter cache for incremental high speed multi-filtering\n // This gets pretty complicated pretty fast, since you have to maintain a\n // cache for each row group (top-level rows, and each row's recursive subrows)\n // This would make multi-filtering a lot faster though. Too far?\n\n const [\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n ] = React.useMemo(() => {\n if (manualGlobalFilter || typeof globalFilterValue === 'undefined') {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n const filterMethod = getFilterMethod(\n globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(`Could not find a valid 'globalFilter' option.`)\n return rows\n }\n\n allColumns.forEach(column => {\n const { disableGlobalFilter: columnDisableGlobalFilter } = column\n\n column.canFilter = getFirstDefined(\n columnDisableGlobalFilter === true ? false : undefined,\n disableGlobalFilter === true ? false : undefined,\n true\n )\n })\n\n const filterableColumns = allColumns.filter(c => c.canFilter === true)\n\n // Filters top level and nested rows\n const filterRows = filteredRows => {\n filteredRows = filterMethod(\n filteredRows,\n filterableColumns.map(d => d.id),\n globalFilterValue\n )\n\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n\n row.subRows =\n row.subRows && row.subRows.length\n ? filterRows(row.subRows)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualGlobalFilter,\n globalFilterValue,\n globalFilter,\n userFilterTypes,\n allColumns,\n rows,\n flatRows,\n rowsById,\n disableGlobalFilter,\n ])\n\n const getAutoResetGlobalFilter = useGetLatest(autoResetGlobalFilter)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGlobalFilter()) {\n dispatch({ type: actions.resetGlobalFilter })\n }\n }, [dispatch, manualGlobalFilter ? null : data])\n\n Object.assign(instance, {\n preGlobalFilteredRows: rows,\n preGlobalFilteredFlatRows: flatRows,\n preGlobalFilteredRowsById: rowsById,\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n rows: globalFilteredRows,\n flatRows: globalFilteredFlatRows,\n rowsById: globalFilteredRowsById,\n setGlobalFilter,\n disableGlobalFilter,\n })\n}\n","export function sum(values, aggregatedValues) {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return aggregatedValues.reduce(\n (sum, next) => sum + (typeof next === 'number' ? next : 0),\n 0\n )\n}\n\nexport function min(values) {\n let min = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n }\n })\n\n return min\n}\n\nexport function max(values) {\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n max = Math.max(max, value)\n }\n })\n\n return max\n}\n\nexport function minMax(values) {\n let min = values[0] || 0\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n max = Math.max(max, value)\n }\n })\n\n return `${min}..${max}`\n}\n\nexport function average(values) {\n return sum(null, values) / values.length\n}\n\nexport function median(values) {\n if (!values.length) {\n return null\n }\n\n const mid = Math.floor(values.length / 2)\n const nums = [...values].sort((a, b) => a - b)\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2\n}\n\nexport function unique(values) {\n return Array.from(new Set(values).values())\n}\n\nexport function uniqueCount(values) {\n return new Set(values).size\n}\n\nexport function count(values) {\n return values.length\n}\n","import React from 'react'\n\nimport * as aggregations from '../aggregations'\n\nimport { getFirstDefined, flattenBy } from '../utils'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst emptyArray = []\nconst emptyObject = {}\n\n// Actions\nactions.resetGroupBy = 'resetGroupBy'\nactions.setGroupBy = 'setGroupBy'\nactions.toggleGroupBy = 'toggleGroupBy'\n\nexport const useGroupBy = hooks => {\n hooks.getGroupByToggleProps = [defaultGetGroupByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.groupBy,\n ])\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseGroupBy.pluginName = 'useGroupBy'\n\nconst defaultGetGroupByToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canGroupBy\n ? e => {\n e.persist()\n header.toggleGroupBy()\n }\n : undefined,\n style: {\n cursor: header.canGroupBy ? 'pointer' : undefined,\n },\n title: 'Toggle GroupBy',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n groupBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetGroupBy) {\n return {\n ...state,\n groupBy: instance.initialState.groupBy || [],\n }\n }\n\n if (action.type === actions.setGroupBy) {\n const { value } = action\n return {\n ...state,\n groupBy: value,\n }\n }\n\n if (action.type === actions.toggleGroupBy) {\n const { columnId, value: setGroupBy } = action\n\n const resolvedGroupBy =\n typeof setGroupBy !== 'undefined'\n ? setGroupBy\n : !state.groupBy.includes(columnId)\n\n if (resolvedGroupBy) {\n return {\n ...state,\n groupBy: [...state.groupBy, columnId],\n }\n }\n\n return {\n ...state,\n groupBy: state.groupBy.filter(d => d !== columnId),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { groupBy },\n },\n }\n) {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n\n const groupByColumns = groupBy\n .map(g => columns.find(col => col.id === g))\n .filter(Boolean)\n\n const nonGroupByColumns = columns.filter(col => !groupBy.includes(col.id))\n\n columns = [...groupByColumns, ...nonGroupByColumns]\n\n columns.forEach(column => {\n column.isGrouped = groupBy.includes(column.id)\n column.groupedIndex = groupBy.indexOf(column.id)\n })\n\n return columns\n}\n\nconst defaultUserAggregations = {}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n flatHeaders,\n groupByFn = defaultGroupByFn,\n manualGroupBy,\n aggregations: userAggregations = defaultUserAggregations,\n plugins,\n state: { groupBy },\n dispatch,\n autoResetGroupBy = true,\n disableGroupBy,\n defaultCanGroupBy,\n getHooks,\n } = instance\n\n ensurePluginOrder(plugins, ['useColumnOrder', 'useFilters'], 'useGroupBy')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultGroupBy: defaultColumnGroupBy,\n disableGroupBy: columnDisableGroupBy,\n } = column\n\n column.canGroupBy = accessor\n ? getFirstDefined(\n column.canGroupBy,\n columnDisableGroupBy === true ? false : undefined,\n disableGroupBy === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canGroupBy,\n defaultColumnGroupBy,\n defaultCanGroupBy,\n false\n )\n\n if (column.canGroupBy) {\n column.toggleGroupBy = () => instance.toggleGroupBy(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const toggleGroupBy = React.useCallback(\n (columnId, value) => {\n dispatch({ type: actions.toggleGroupBy, columnId, value })\n },\n [dispatch]\n )\n\n const setGroupBy = React.useCallback(\n value => {\n dispatch({ type: actions.setGroupBy, value })\n },\n [dispatch]\n )\n\n flatHeaders.forEach(header => {\n header.getGroupByToggleProps = makePropGetter(\n getHooks().getGroupByToggleProps,\n { instance: getInstance(), header }\n )\n })\n\n const [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ] = React.useMemo(() => {\n if (manualGroupBy || !groupBy.length) {\n return [\n rows,\n flatRows,\n rowsById,\n emptyArray,\n emptyObject,\n flatRows,\n rowsById,\n ]\n }\n\n // Ensure that the list of filtered columns exist\n const existingGroupBy = groupBy.filter(g =>\n allColumns.find(col => col.id === g)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (leafRows, groupedRows, depth) => {\n const values = {}\n\n allColumns.forEach(column => {\n // Don't aggregate columns that are in the groupBy\n if (existingGroupBy.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n let aggregateFn =\n typeof column.aggregate === 'function'\n ? column.aggregate\n : userAggregations[column.aggregate] ||\n aggregations[column.aggregate]\n\n if (aggregateFn) {\n // Get the columnValues to aggregate\n const groupedValues = groupedRows.map(row => row.values[column.id])\n\n // Get the columnValues to aggregate\n const leafValues = leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n const aggregateValueFn =\n typeof column.aggregateValue === 'function'\n ? column.aggregateValue\n : userAggregations[column.aggregateValue] ||\n aggregations[column.aggregateValue]\n\n if (!aggregateValueFn) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregateValue option for column listed above`\n )\n }\n\n columnValue = aggregateValueFn(columnValue, row, column)\n }\n return columnValue\n })\n\n values[column.id] = aggregateFn(leafValues, groupedValues)\n } else if (column.aggregate) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregate option for column listed above`\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n let groupedFlatRows = []\n const groupedRowsById = {}\n const onlyGroupedFlatRows = []\n const onlyGroupedRowsById = {}\n const nonGroupedFlatRows = []\n const nonGroupedRowsById = {}\n\n // Recursively group the data\n const groupUpRecursively = (rows, depth = 0, parentId) => {\n // This is the last level, just return the rows\n if (depth === existingGroupBy.length) {\n return rows.map((row) => ({ ...row, depth }))\n }\n\n const columnId = existingGroupBy[depth]\n\n // Group the rows together for this level\n let rowGroupsMap = groupByFn(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Object.entries(rowGroupsMap).map(\n ([groupByVal, groupedRows], index) => {\n let id = `${columnId}:${groupByVal}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, 'leafRows')\n : groupedRows\n\n const values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = {\n id,\n isGrouped: true,\n groupByID: columnId,\n groupByVal,\n values,\n subRows,\n leafRows,\n depth,\n index,\n }\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rows)\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n // Assign the new data\n return [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ]\n }, [\n manualGroupBy,\n groupBy,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userAggregations,\n groupByFn,\n ])\n\n const getAutoResetGroupBy = useGetLatest(autoResetGroupBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGroupBy()) {\n dispatch({ type: actions.resetGroupBy })\n }\n }, [dispatch, manualGroupBy ? null : data])\n\n Object.assign(instance, {\n preGroupedRows: rows,\n preGroupedFlatRow: flatRows,\n preGroupedRowsById: rowsById,\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n toggleGroupBy,\n setGroupBy,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the groupBy and the pivot cell for the row\n cell.isGrouped = cell.column.isGrouped && cell.column.id === row.groupByID\n // Placeholder cells are any columns in the groupBy that are not grouped\n cell.isPlaceholder = !cell.isGrouped && cell.column.isGrouped\n // Aggregated cells are not grouped, not repeated, but still have subRows\n cell.isAggregated =\n !cell.isGrouped && !cell.isPlaceholder && row.subRows?.length\n })\n}\n\nexport function defaultGroupByFn(rows, columnId) {\n return rows.reduce((prev, row, i) => {\n // TODO: Might want to implement a key serializer here so\n // irregular column values can still be grouped if needed?\n const resKey = `${row.values[columnId]}`\n prev[resKey] = Array.isArray(prev[resKey]) ? prev[resKey] : []\n prev[resKey].push(row)\n return prev\n }, {})\n}\n","const reSplitAlphaNumeric = /([0-9]+)/gm\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nexport const alphanumeric = (rowA, rowB, columnId) => {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n // Force to strings (or \"\" for unsupported types)\n a = toString(a)\n b = toString(b)\n\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n a = a.split(reSplitAlphaNumeric).filter(Boolean)\n b = b.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0])) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1])) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\nexport function datetime(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.getTime()\n b = b.getTime()\n\n return compareBasic(a, b)\n}\n\nexport function basic(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n return compareBasic(a, b)\n}\n\nexport function string(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.split('').filter(Boolean)\n b = b.split('').filter(Boolean)\n\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n let alower = aa.toLowerCase()\n let blower = bb.toLowerCase()\n\n // Case insensitive comparison until characters match\n if (alower > blower) {\n return 1\n }\n if (blower > alower) {\n return -1\n }\n // If lowercase characters are identical\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n return a.length - b.length\n}\n\nexport function number(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n const replaceNonNumeric = /[^0-9.]/gi\n\n a = Number(String(a).replace(replaceNonNumeric, ''))\n b = Number(String(b).replace(replaceNonNumeric, ''))\n\n return compareBasic(a, b)\n}\n\n// Utils\n\nfunction compareBasic(a, b) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction getRowValuesByColumnID(row1, row2, columnId) {\n return [row1.values[columnId], row2.values[columnId]]\n}\n\nfunction toString(a) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n","import React from 'react'\n\nimport {\n actions,\n ensurePluginOrder,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, isFunction } from '../utils'\n\nimport * as sortTypes from '../sortTypes'\n\n// Actions\nactions.resetSortBy = 'resetSortBy'\nactions.setSortBy = 'setSortBy'\nactions.toggleSortBy = 'toggleSortBy'\nactions.clearSortBy = 'clearSortBy'\n\ndefaultColumn.sortType = 'alphanumeric'\ndefaultColumn.sortDescFirst = false\n\nexport const useSortBy = hooks => {\n hooks.getSortByToggleProps = [defaultGetSortByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseSortBy.pluginName = 'useSortBy'\n\nconst defaultGetSortByToggleProps = (props, { instance, column }) => {\n const { isMultiSortEvent = e => e.shiftKey } = instance\n\n return [\n props,\n {\n onClick: column.canSort\n ? e => {\n e.persist()\n column.toggleSortBy(\n undefined,\n !instance.disableMultiSort && isMultiSortEvent(e)\n )\n }\n : undefined,\n style: {\n cursor: column.canSort ? 'pointer' : undefined,\n },\n title: column.canSort ? 'Toggle SortBy' : undefined,\n },\n ]\n}\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n sortBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetSortBy) {\n return {\n ...state,\n sortBy: instance.initialState.sortBy || [],\n }\n }\n\n if (action.type === actions.clearSortBy) {\n const { sortBy } = state\n const newSortBy = sortBy.filter(d => d.id !== action.columnId)\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n\n if (action.type === actions.setSortBy) {\n const { sortBy } = action\n return {\n ...state,\n sortBy,\n }\n }\n\n if (action.type === actions.toggleSortBy) {\n const { columnId, desc, multi } = action\n\n const {\n allColumns,\n disableMultiSort,\n disableSortRemove,\n disableMultiRemove,\n maxMultiSortColCount = Number.MAX_SAFE_INTEGER,\n } = instance\n\n const { sortBy } = state\n\n // Find the column for this columnId\n const column = allColumns.find(d => d.id === columnId)\n const { sortDescFirst } = column\n\n // Find any existing sortBy for this column\n const existingSortBy = sortBy.find(d => d.id === columnId)\n const existingIndex = sortBy.findIndex(d => d.id === columnId)\n const hasDescDefined = typeof desc !== 'undefined' && desc !== null\n\n let newSortBy = []\n\n // What should we do with this sort action?\n let sortAction\n\n if (!disableMultiSort && multi) {\n if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'add'\n }\n } else {\n // Normal mode\n if (existingIndex !== sortBy.length - 1 || sortBy.length !== 1) {\n sortAction = 'replace'\n } else if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'replace'\n }\n }\n\n // Handle toggle states that will remove the sortBy\n if (\n sortAction === 'toggle' && // Must be toggling\n !disableSortRemove && // If disableSortRemove, disable in general\n !hasDescDefined && // Must not be setting desc\n (multi ? !disableMultiRemove : true) && // If multi, don't allow if disableMultiRemove\n ((existingSortBy && // Finally, detect if it should indeed be removed\n existingSortBy.desc &&\n !sortDescFirst) ||\n (!existingSortBy.desc && sortDescFirst))\n ) {\n sortAction = 'remove'\n }\n\n if (sortAction === 'replace') {\n newSortBy = [\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n } else if (sortAction === 'add') {\n newSortBy = [\n ...sortBy,\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n // Take latest n columns\n newSortBy.splice(0, newSortBy.length - maxMultiSortColCount)\n } else if (sortAction === 'toggle') {\n // This flips (or sets) the\n newSortBy = sortBy.map(d => {\n if (d.id === columnId) {\n return {\n ...d,\n desc: hasDescDefined ? desc : !existingSortBy.desc,\n }\n }\n return d\n })\n } else if (sortAction === 'remove') {\n newSortBy = sortBy.filter(d => d.id !== columnId)\n }\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n allColumns,\n orderByFn = defaultOrderByFn,\n sortTypes: userSortTypes,\n manualSortBy,\n defaultCanSort,\n disableSortBy,\n flatHeaders,\n state: { sortBy },\n dispatch,\n plugins,\n getHooks,\n autoResetSortBy = true,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGlobalFilter', 'useGroupBy', 'usePivotColumns'],\n 'useSortBy'\n )\n\n const setSortBy = React.useCallback(\n sortBy => {\n dispatch({ type: actions.setSortBy, sortBy })\n },\n [dispatch]\n )\n\n // Updates sorting based on a columnId, desc flag and multi flag\n const toggleSortBy = React.useCallback(\n (columnId, desc, multi) => {\n dispatch({ type: actions.toggleSortBy, columnId, desc, multi })\n },\n [dispatch]\n )\n\n // use reference to avoid memory leak in #1608\n const getInstance = useGetLatest(instance)\n\n // Add the getSortByToggleProps method to columns and headers\n flatHeaders.forEach(column => {\n const {\n accessor,\n canSort: defaultColumnCanSort,\n disableSortBy: columnDisableSortBy,\n id,\n } = column\n\n const canSort = accessor\n ? getFirstDefined(\n columnDisableSortBy === true ? false : undefined,\n disableSortBy === true ? false : undefined,\n true\n )\n : getFirstDefined(defaultCanSort, defaultColumnCanSort, false)\n\n column.canSort = canSort\n\n if (column.canSort) {\n column.toggleSortBy = (desc, multi) =>\n toggleSortBy(column.id, desc, multi)\n\n column.clearSortBy = () => {\n dispatch({ type: actions.clearSortBy, columnId: column.id })\n }\n }\n\n column.getSortByToggleProps = makePropGetter(\n getHooks().getSortByToggleProps,\n {\n instance: getInstance(),\n column,\n }\n )\n\n const columnSort = sortBy.find(d => d.id === id)\n column.isSorted = !!columnSort\n column.sortedIndex = sortBy.findIndex(d => d.id === id)\n column.isSortedDesc = column.isSorted ? columnSort.desc : undefined\n })\n\n const [sortedRows, sortedFlatRows] = React.useMemo(() => {\n if (manualSortBy || !sortBy.length) {\n return [rows, flatRows]\n }\n\n const sortedFlatRows = []\n\n // Filter out sortBys that correspond to non existing columns\n const availableSortBy = sortBy.filter(sort =>\n allColumns.find(col => col.id === sort.id)\n )\n\n const sortData = rows => {\n // Use the orderByFn to compose multiple sortBy's together.\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = orderByFn(\n rows,\n availableSortBy.map(sort => {\n // Support custom sorting methods for each column\n const column = allColumns.find(d => d.id === sort.id)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${sort.id} while sorting`\n )\n }\n\n const { sortType } = column\n\n // Look up sortBy functions in this order:\n // column function\n // column string lookup on user sortType\n // column string lookup on built-in sortType\n // default function\n // default string lookup on user sortType\n // default string lookup on built-in sortType\n const sortMethod =\n isFunction(sortType) ||\n (userSortTypes || {})[sortType] ||\n sortTypes[sortType]\n\n if (!sortMethod) {\n throw new Error(\n `React-Table: Could not find a valid sortType of '${sortType}' for column '${sort.id}'.`\n )\n }\n\n // Return the correct sortFn.\n // This function should always return in ascending order\n return (a, b) => sortMethod(a, b, sort.id, sort.desc)\n }),\n // Map the directions\n availableSortBy.map(sort => {\n // Detect and use the sortInverted option\n const column = allColumns.find(d => d.id === sort.id)\n\n if (column && column.sortInverted) {\n return sort.desc\n }\n\n return !sort.desc\n })\n )\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (!row.subRows || row.subRows.length === 0) {\n return\n }\n row.subRows = sortData(row.subRows)\n })\n\n return sortedData\n }\n\n return [sortData(rows), sortedFlatRows]\n }, [\n manualSortBy,\n sortBy,\n rows,\n flatRows,\n allColumns,\n orderByFn,\n userSortTypes,\n ])\n\n const getAutoResetSortBy = useGetLatest(autoResetSortBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSortBy()) {\n dispatch({ type: actions.resetSortBy })\n }\n }, [manualSortBy ? null : data])\n\n Object.assign(instance, {\n preSortedRows: rows,\n preSortedFlatRows: flatRows,\n sortedRows,\n sortedFlatRows,\n rows: sortedRows,\n flatRows: sortedFlatRows,\n setSortBy,\n toggleSortBy,\n })\n}\n\nexport function defaultOrderByFn(arr, funcs, dirs) {\n return [...arr].sort((rowA, rowB) => {\n for (let i = 0; i < funcs.length; i += 1) {\n const sortFn = funcs[i]\n const desc = dirs[i] === false || dirs[i] === 'desc'\n const sortInt = sortFn(rowA, rowB)\n if (sortInt !== 0) {\n return desc ? -sortInt : sortInt\n }\n }\n return dirs[0] ? rowA.index - rowB.index : rowB.index - rowA.index\n })\n}\n","/*\n * Adapted from reactR 0.4.4 (https://github.com/react-R/reactR/blob/v0.4.4/srcjs/widget.js)\n * Copyright 2018 Kent Russell\n * Licensed under MIT (https://github.com/react-R/reactR/blob/v0.4.4/LICENSE)\n */\n\nimport React from 'react'\nimport ReactDOM from 'react-dom'\n\n// Modified reactWidget() that additionally supports hydration of server-rendered markup.\nexport function reactWidget(name, type, components) {\n window.HTMLWidgets.widget({\n name: name,\n type: type,\n factory: function (el) {\n return {\n renderValue(value) {\n if (el.hasAttribute('data-react-ssr')) {\n ReactDOM.hydrate(hydrate(components, value.tag), el)\n } else {\n ReactDOM.render(hydrate(components, value.tag), el)\n }\n },\n resize() {\n // resize() is required, but unused\n }\n }\n }\n })\n}\n\n// Must be bundled because react-tools.js needs to be run in a browser context\n// and can't be sourced at runtime in V8.\nexport function hydrate(components, tag) {\n if (typeof tag === 'string') return tag\n if (tag.name[0] === tag.name[0].toUpperCase() && !components[tag.name]) {\n throw new Error('Unknown component: ' + tag.name)\n }\n const elem = components[tag.name] || tag.name\n const args = [elem, tag.attribs]\n for (let child of tag.children) {\n args.push(hydrate(components, child))\n }\n return React.createElement(...args)\n}\n","import React from 'react'\n\n//\n\nimport {\n actions,\n ensurePluginOrder,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { expandRows } from '../utils'\n\nconst pluginName = 'usePagination'\n\n// Actions\nactions.resetPage = 'resetPage'\nactions.gotoPage = 'gotoPage'\nactions.setPageSize = 'setPageSize'\n\nexport const usePagination = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nusePagination.pluginName = pluginName\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pageSize: 10,\n pageIndex: 0,\n ...state,\n }\n }\n\n if (action.type === actions.resetPage) {\n return {\n ...state,\n pageIndex: instance.initialState.pageIndex || 0,\n }\n }\n\n if (action.type === actions.gotoPage) {\n const { pageCount, page } = instance\n const newPageIndex = functionalUpdate(action.pageIndex, state.pageIndex)\n let canNavigate = false\n\n if (newPageIndex > state.pageIndex) {\n // next page\n canNavigate =\n pageCount === -1\n ? page.length >= state.pageSize\n : newPageIndex < pageCount\n } else if (newPageIndex < state.pageIndex) {\n // prev page\n canNavigate = newPageIndex > -1\n }\n\n if (!canNavigate) {\n return state\n }\n\n return {\n ...state,\n pageIndex: newPageIndex,\n }\n }\n\n if (action.type === actions.setPageSize) {\n const { pageSize } = action\n const topRowIndex = state.pageSize * state.pageIndex\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...state,\n pageIndex,\n pageSize,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n rows,\n autoResetPage = true,\n manualExpandedKey = 'expanded',\n plugins,\n pageCount: userPageCount,\n paginateExpandedRows = true,\n expandSubRows = true,\n state: {\n pageSize,\n pageIndex,\n expanded,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n },\n dispatch,\n data,\n manualPagination,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useGlobalFilter', 'useFilters', 'useGroupBy', 'useSortBy', 'useExpanded'],\n 'usePagination'\n )\n\n const getAutoResetPage = useGetLatest(autoResetPage)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPage()) {\n dispatch({ type: actions.resetPage })\n }\n }, [\n dispatch,\n manualPagination ? null : data,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n ])\n\n const pageCount = manualPagination\n ? userPageCount\n : Math.ceil(rows.length / pageSize)\n\n const pageOptions = React.useMemo(\n () =>\n pageCount > 0\n ? [...new Array(pageCount)].fill(null).map((d, i) => i)\n : [],\n [pageCount]\n )\n\n const page = React.useMemo(() => {\n let page\n\n if (manualPagination) {\n page = rows\n } else {\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n page = rows.slice(pageStart, pageEnd)\n }\n\n if (paginateExpandedRows) {\n return page\n }\n\n return expandRows(page, { manualExpandedKey, expanded, expandSubRows })\n }, [\n expandSubRows,\n expanded,\n manualExpandedKey,\n manualPagination,\n pageIndex,\n pageSize,\n paginateExpandedRows,\n rows,\n ])\n\n const canPreviousPage = pageIndex > 0\n const canNextPage =\n pageCount === -1 ? page.length >= pageSize : pageIndex < pageCount - 1\n\n const gotoPage = React.useCallback(\n pageIndex => {\n dispatch({ type: actions.gotoPage, pageIndex })\n },\n [dispatch]\n )\n\n const previousPage = React.useCallback(() => {\n return gotoPage(old => old - 1)\n }, [gotoPage])\n\n const nextPage = React.useCallback(() => {\n return gotoPage(old => old + 1)\n }, [gotoPage])\n\n const setPageSize = React.useCallback(\n pageSize => {\n dispatch({ type: actions.setPageSize, pageSize })\n },\n [dispatch]\n )\n\n Object.assign(instance, {\n pageOptions,\n pageCount,\n page,\n canPreviousPage,\n canNextPage,\n gotoPage,\n previousPage,\n nextPage,\n setPageSize,\n })\n}\n","/* istanbul ignore file */\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { flattenColumns, getFirstDefined } from '../utils'\n\n// Actions\nactions.resetPivot = 'resetPivot'\nactions.togglePivot = 'togglePivot'\n\nexport const _UNSTABLE_usePivotColumns = hooks => {\n hooks.getPivotToggleProps = [defaultGetPivotToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstanceAfterData.push(useInstanceAfterData)\n hooks.allColumns.push(allColumns)\n hooks.accessValue.push(accessValue)\n hooks.materializedColumns.push(materializedColumns)\n hooks.materializedColumnsDeps.push(materializedColumnsDeps)\n hooks.visibleColumns.push(visibleColumns)\n hooks.visibleColumnsDeps.push(visibleColumnsDeps)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\n_UNSTABLE_usePivotColumns.pluginName = 'usePivotColumns'\n\nconst defaultPivotColumns = []\n\nconst defaultGetPivotToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canPivot\n ? e => {\n e.persist()\n header.togglePivot()\n }\n : undefined,\n style: {\n cursor: header.canPivot ? 'pointer' : undefined,\n },\n title: 'Toggle Pivot',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pivotColumns: defaultPivotColumns,\n ...state,\n }\n }\n\n if (action.type === actions.resetPivot) {\n return {\n ...state,\n pivotColumns: instance.initialState.pivotColumns || defaultPivotColumns,\n }\n }\n\n if (action.type === actions.togglePivot) {\n const { columnId, value: setPivot } = action\n\n const resolvedPivot =\n typeof setPivot !== 'undefined'\n ? setPivot\n : !state.pivotColumns.includes(columnId)\n\n if (resolvedPivot) {\n return {\n ...state,\n pivotColumns: [...state.pivotColumns, columnId],\n }\n }\n\n return {\n ...state,\n pivotColumns: state.pivotColumns.filter(d => d !== columnId),\n }\n }\n}\n\nfunction useInstanceAfterData(instance) {\n instance.allColumns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n })\n}\n\nfunction allColumns(columns, { instance }) {\n columns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n column.uniqueValues = new Set()\n })\n return columns\n}\n\nfunction accessValue(value, { column }) {\n if (column.uniqueValues && typeof value !== 'undefined') {\n column.uniqueValues.add(value)\n }\n return value\n}\n\nfunction materializedColumns(materialized, { instance }) {\n const { allColumns, state } = instance\n\n if (!state.pivotColumns.length || !state.groupBy || !state.groupBy.length) {\n return materialized\n }\n\n const pivotColumns = state.pivotColumns\n .map(id => allColumns.find(d => d.id === id))\n .filter(Boolean)\n\n const sourceColumns = allColumns.filter(\n d =>\n !d.isPivotSource &&\n !state.groupBy.includes(d.id) &&\n !state.pivotColumns.includes(d.id)\n )\n\n const buildPivotColumns = (depth = 0, parent, pivotFilters = []) => {\n const pivotColumn = pivotColumns[depth]\n\n if (!pivotColumn) {\n return sourceColumns.map(sourceColumn => {\n // TODO: We could offer support here for renesting pivoted\n // columns inside copies of their header groups. For now,\n // that seems like it would be (1) overkill on nesting, considering\n // you already get nesting for every pivot level and (2)\n // really hard. :)\n\n return {\n ...sourceColumn,\n canPivot: false,\n isPivoted: true,\n parent,\n depth: depth,\n id: `${parent ? `${parent.id}.${sourceColumn.id}` : sourceColumn.id}`,\n accessor: (originalRow, i, row) => {\n if (pivotFilters.every(filter => filter(row))) {\n return row.values[sourceColumn.id]\n }\n },\n }\n })\n }\n\n const uniqueValues = Array.from(pivotColumn.uniqueValues).sort()\n\n return uniqueValues.map(uniqueValue => {\n const columnGroup = {\n ...pivotColumn,\n Header:\n pivotColumn.PivotHeader || typeof pivotColumn.header === 'string'\n ? `${pivotColumn.Header}: ${uniqueValue}`\n : uniqueValue,\n isPivotGroup: true,\n parent,\n depth,\n id: parent\n ? `${parent.id}.${pivotColumn.id}.${uniqueValue}`\n : `${pivotColumn.id}.${uniqueValue}`,\n pivotValue: uniqueValue,\n }\n\n columnGroup.columns = buildPivotColumns(depth + 1, columnGroup, [\n ...pivotFilters,\n row => row.values[pivotColumn.id] === uniqueValue,\n ])\n\n return columnGroup\n })\n }\n\n const newMaterialized = flattenColumns(buildPivotColumns())\n\n return [...materialized, ...newMaterialized]\n}\n\nfunction materializedColumnsDeps(\n deps,\n {\n instance: {\n state: { pivotColumns, groupBy },\n },\n }\n) {\n return [...deps, pivotColumns, groupBy]\n}\n\nfunction visibleColumns(visibleColumns, { instance: { state } }) {\n visibleColumns = visibleColumns.filter(d => !d.isPivotSource)\n\n if (state.pivotColumns.length && state.groupBy && state.groupBy.length) {\n visibleColumns = visibleColumns.filter(\n column => column.isGrouped || column.isPivoted\n )\n }\n\n return visibleColumns\n}\n\nfunction visibleColumnsDeps(deps, { instance }) {\n return [...deps, instance.state.pivotColumns, instance.state.groupBy]\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n allColumns,\n flatHeaders,\n // pivotFn = defaultPivotFn,\n // manualPivot,\n getHooks,\n plugins,\n dispatch,\n autoResetPivot = true,\n manaulPivot,\n disablePivot,\n defaultCanPivot,\n } = instance\n\n ensurePluginOrder(plugins, ['useGroupBy'], 'usePivotColumns')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultPivot: defaultColumnPivot,\n disablePivot: columnDisablePivot,\n } = column\n\n column.canPivot = accessor\n ? getFirstDefined(\n column.canPivot,\n columnDisablePivot === true ? false : undefined,\n disablePivot === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canPivot,\n defaultColumnPivot,\n defaultCanPivot,\n false\n )\n\n if (column.canPivot) {\n column.togglePivot = () => instance.togglePivot(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const togglePivot = (columnId, value) => {\n dispatch({ type: actions.togglePivot, columnId, value })\n }\n\n flatHeaders.forEach(header => {\n header.getPivotToggleProps = makePropGetter(\n getHooks().getPivotToggleProps,\n {\n instance: getInstance(),\n header,\n }\n )\n })\n\n const getAutoResetPivot = useGetLatest(autoResetPivot)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPivot()) {\n dispatch({ type: actions.resetPivot })\n }\n }, [dispatch, manaulPivot ? null : columns])\n\n Object.assign(instance, {\n togglePivot,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the pivotColumns and the pivot cell for the row\n cell.isPivoted = cell.column.isPivoted\n })\n}\n","import React from 'react'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nconst pluginName = 'useRowSelect'\n\n// Actions\nactions.resetSelectedRows = 'resetSelectedRows'\nactions.toggleAllRowsSelected = 'toggleAllRowsSelected'\nactions.toggleRowSelected = 'toggleRowSelected'\nactions.toggleAllPageRowsSelected = 'toggleAllPageRowsSelected'\n\nexport const useRowSelect = hooks => {\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps]\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps]\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowSelect.pluginName = pluginName\n\nconst defaultGetToggleRowSelectedProps = (props, { instance, row }) => {\n const { manualRowSelectedKey = 'isSelected' } = instance\n let checked = false\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true\n } else {\n checked = row.isSelected\n }\n\n return [\n props,\n {\n onChange: e => {\n row.toggleRowSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked,\n title: 'Toggle Row Selected',\n indeterminate: row.isSomeSelected,\n },\n ]\n}\n\nconst defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleAllRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllRowsSelected,\n title: 'Toggle All Rows Selected',\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n]\n\nconst defaultGetToggleAllPageRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllPageRowsSelected,\n title: 'Toggle All Current Page Rows Selected',\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n]\n\n// eslint-disable-next-line max-params\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action\n const {\n isAllRowsSelected,\n rowsById,\n nonGroupedRowsById = rowsById,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllRowsSelected\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = Object.assign({}, state.selectedRowIds)\n\n if (selectAll) {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n selectedRowIds[rowId] = true\n })\n } else {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n delete selectedRowIds[rowId]\n })\n }\n\n return {\n ...state,\n selectedRowIds,\n }\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action\n const { rowsById, selectSubRows = true, getSubRows } = instance\n const isSelected = state.selectedRowIds[id]\n const shouldExist =\n typeof setSelected !== 'undefined' ? setSelected : !isSelected\n\n if (isSelected === shouldExist) {\n return state\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (row) {\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n }\n\n handleRowById(id)\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllPageRowsSelected\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (!row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n\n page.forEach(row => handleRowById(row.id))\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n return state\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n state: { selectedRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGroupBy', 'useSortBy', 'useExpanded', 'usePagination'],\n 'useRowSelect'\n )\n\n const selectedFlatRows = React.useMemo(() => {\n const selectedFlatRows = []\n\n rows.forEach(row => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id]\n row.isSelected = !!isSelected\n row.isSomeSelected = isSelected === null\n\n if (isSelected) {\n selectedFlatRows.push(row)\n }\n })\n\n return selectedFlatRows\n }, [rows, selectSubRows, selectedRowIds, getSubRows])\n\n let isAllRowsSelected = Boolean(\n Object.keys(nonGroupedRowsById).length && Object.keys(selectedRowIds).length\n )\n\n let isAllPageRowsSelected = isAllRowsSelected\n\n if (isAllRowsSelected) {\n if (Object.keys(nonGroupedRowsById).some(id => !selectedRowIds[id])) {\n isAllRowsSelected = false\n }\n }\n\n if (!isAllRowsSelected) {\n if (page && page.length && page.some(({ id }) => !selectedRowIds[id])) {\n isAllPageRowsSelected = false\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows })\n }\n }, [dispatch, data])\n\n const toggleAllRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n )\n\n const toggleAllPageRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n )\n\n const toggleRowSelected = React.useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n )\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n { instance: getInstance() }\n )\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n selectedFlatRows,\n isAllRowsSelected,\n isAllPageRowsSelected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n row.toggleRowSelected = set => instance.toggleRowSelected(row.id, set)\n\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n { instance: instance, row }\n )\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true\n }\n\n const subRows = getSubRows(row)\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true\n let someSelected = false\n\n subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n return allChildrenSelected ? true : someSelected ? null : false\n }\n\n return false\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst defaultInitialRowStateAccessor = row => ({})\nconst defaultInitialCellStateAccessor = cell => ({})\n\n// Actions\nactions.setRowState = 'setRowState'\nactions.setCellState = 'setCellState'\nactions.resetRowState = 'resetRowState'\n\nexport const useRowState = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowState.pluginName = 'useRowState'\n\nfunction reducer(state, action, previousState, instance) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n rowsById,\n } = instance\n\n if (action.type === actions.init) {\n return {\n rowState: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetRowState) {\n return {\n ...state,\n rowState: instance.initialState.rowState || {},\n }\n }\n\n if (action.type === actions.setRowState) {\n const { rowId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: functionalUpdate(value, oldRowState),\n },\n }\n }\n\n if (action.type === actions.setCellState) {\n const { rowId, columnId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n const oldCellState =\n typeof oldRowState?.cellState?.[columnId] !== 'undefined'\n ? oldRowState.cellState[columnId]\n : initialCellStateAccessor(\n rowsById[rowId]?.cells?.find(cell => cell.column.id === columnId)\n )\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: {\n ...oldRowState,\n cellState: {\n ...(oldRowState.cellState || {}),\n [columnId]: functionalUpdate(value, oldCellState),\n },\n },\n },\n }\n }\n}\n\nfunction useInstance(instance) {\n const { autoResetRowState = true, data, dispatch } = instance\n\n const setRowState = React.useCallback(\n (rowId, value) =>\n dispatch({\n type: actions.setRowState,\n rowId,\n value,\n }),\n [dispatch]\n )\n\n const setCellState = React.useCallback(\n (rowId, columnId, value) =>\n dispatch({\n type: actions.setCellState,\n rowId,\n columnId,\n value,\n }),\n [dispatch]\n )\n\n const getAutoResetRowState = useGetLatest(autoResetRowState)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetRowState()) {\n dispatch({ type: actions.resetRowState })\n }\n }, [data])\n\n Object.assign(instance, {\n setRowState,\n setCellState,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n state: { rowState },\n } = instance\n\n if (row) {\n row.state =\n typeof rowState[row.id] !== 'undefined'\n ? rowState[row.id]\n : initialRowStateAccessor(row)\n\n row.setState = updater => {\n return instance.setRowState(row.id, updater)\n }\n\n row.cells.forEach(cell => {\n if (!row.state.cellState) {\n row.state.cellState = {}\n }\n\n cell.state =\n typeof row.state.cellState[cell.column.id] !== 'undefined'\n ? row.state.cellState[cell.column.id]\n : initialCellStateAccessor(cell)\n\n cell.setState = updater => {\n return instance.setCellState(row.id, cell.column.id, updater)\n }\n })\n }\n}\n","import React from 'react'\n\nimport { functionalUpdate, actions } from '../publicUtils'\n\n// Actions\nactions.resetColumnOrder = 'resetColumnOrder'\nactions.setColumnOrder = 'setColumnOrder'\n\nexport const useColumnOrder = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => {\n return [...deps, instance.state.columnOrder]\n })\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnOrder.pluginName = 'useColumnOrder'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n columnOrder: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetColumnOrder) {\n return {\n ...state,\n columnOrder: instance.initialState.columnOrder || [],\n }\n }\n\n if (action.type === actions.setColumnOrder) {\n return {\n ...state,\n columnOrder: functionalUpdate(action.columnOrder, state.columnOrder),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { columnOrder },\n },\n }\n) {\n // If there is no order, return the normal columns\n if (!columnOrder || !columnOrder.length) {\n return columns\n }\n\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n const columnsInOrder = []\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex(d => d.id === targetColumnId)\n if (foundIndex > -1) {\n columnsInOrder.push(columnsCopy.splice(foundIndex, 1)[0])\n }\n }\n\n // If there are any columns left, add them to the end\n return [...columnsInOrder, ...columnsCopy]\n}\n\nfunction useInstance(instance) {\n const { dispatch } = instance\n\n instance.setColumnOrder = React.useCallback(\n columnOrder => {\n return dispatch({ type: actions.setColumnOrder, columnOrder })\n },\n [dispatch]\n )\n}\n","import React from 'react'\n\nimport {\n actions,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n ensurePluginOrder,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, passiveEventSupported } from '../utils'\n\n// Default Column\ndefaultColumn.canResize = true\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport const useResizeColumns = hooks => {\n hooks.getResizerProps = [defaultGetResizerProps]\n hooks.getHeaderProps.push({\n style: {\n position: 'relative',\n },\n })\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n}\n\nconst defaultGetResizerProps = (props, { instance, header }) => {\n const { dispatch } = instance\n\n const onResizeStart = (e, header) => {\n let isTouchEvent = false\n if (e.type === 'touchstart') {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n isTouchEvent = true\n }\n const headersToResize = getLeafHeaders(header)\n const headerIdWidths = headersToResize.map(d => [d.id, d.totalWidth])\n\n const clientX = isTouchEvent ? Math.round(e.touches[0].clientX) : e.clientX\n\n let raf\n let mostRecentClientX\n\n const dispatchEnd = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnDoneResizing })\n }\n const dispatchMove = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnResizing, clientX: mostRecentClientX })\n }\n\n const scheduleDispatchMoveOnNextAnimationFrame = clientXPos => {\n mostRecentClientX = clientXPos\n if (!raf) {\n raf = window.requestAnimationFrame(dispatchMove)\n }\n }\n\n const handlersAndEvents = {\n mouse: {\n moveEvent: 'mousemove',\n moveHandler: e => scheduleDispatchMoveOnNextAnimationFrame(e.clientX),\n upEvent: 'mouseup',\n upHandler: e => {\n document.removeEventListener(\n 'mousemove',\n handlersAndEvents.mouse.moveHandler\n )\n document.removeEventListener(\n 'mouseup',\n handlersAndEvents.mouse.upHandler\n )\n dispatchEnd()\n },\n },\n touch: {\n moveEvent: 'touchmove',\n moveHandler: e => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n scheduleDispatchMoveOnNextAnimationFrame(e.touches[0].clientX)\n return false\n },\n upEvent: 'touchend',\n upHandler: e => {\n document.removeEventListener(\n handlersAndEvents.touch.moveEvent,\n handlersAndEvents.touch.moveHandler\n )\n document.removeEventListener(\n handlersAndEvents.touch.upEvent,\n handlersAndEvents.touch.moveHandler\n )\n dispatchEnd()\n },\n },\n }\n\n const events = isTouchEvent\n ? handlersAndEvents.touch\n : handlersAndEvents.mouse\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n document.addEventListener(\n events.moveEvent,\n events.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n events.upEvent,\n events.upHandler,\n passiveIfSupported\n )\n\n dispatch({\n type: actions.columnStartResizing,\n columnId: header.id,\n columnWidth: header.totalWidth,\n headerIdWidths,\n clientX,\n })\n }\n\n return [\n props,\n {\n onMouseDown: e => e.persist() || onResizeStart(e, header),\n onTouchStart: e => e.persist() || onResizeStart(e, header),\n style: {\n cursor: 'col-resize',\n },\n draggable: false,\n role: 'separator',\n },\n ]\n}\n\nuseResizeColumns.pluginName = 'useResizeColumns'\n\nfunction reducer(state, action) {\n if (action.type === actions.init) {\n return {\n columnResizing: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n columnResizing: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { clientX, columnId, columnWidth, headerIdWidths } = action\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: clientX,\n headerIdWidths,\n columnWidth,\n isResizingColumn: columnId,\n },\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX, columnWidth, headerIdWidths = [] } = state.columnResizing\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.max(\n headerWidth + headerWidth * percentageDeltaX,\n 0\n )\n })\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n columnWidths: {\n ...state.columnResizing.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: null,\n isResizingColumn: null,\n },\n }\n }\n}\n\nconst useInstanceBeforeDimensions = instance => {\n const {\n flatHeaders,\n disableResizing,\n getHooks,\n state: { columnResizing },\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n flatHeaders.forEach(header => {\n const canResize = getFirstDefined(\n header.disableResizing === true ? false : undefined,\n disableResizing === true ? false : undefined,\n true\n )\n\n header.canResize = canResize\n header.width =\n columnResizing.columnWidths[header.id] ||\n header.originalWidth ||\n header.width\n header.isResizing = columnResizing.isResizingColumn === header.id\n\n if (canResize) {\n header.getResizerProps = makePropGetter(getHooks().getResizerProps, {\n instance: getInstance(),\n header,\n })\n }\n })\n}\n\nfunction useInstance(instance) {\n const { plugins, dispatch, autoResetResize = true, columns } = instance\n\n ensurePluginOrder(plugins, ['useAbsoluteLayout'], 'useResizeColumns')\n\n const getAutoResetResize = useGetLatest(autoResetResize)\n useMountedLayoutEffect(() => {\n if (getAutoResetResize()) {\n dispatch({ type: actions.resetResize })\n }\n }, [columns])\n\n const resetResizing = React.useCallback(\n () => dispatch({ type: actions.resetResize }),\n [dispatch]\n )\n\n Object.assign(instance, {\n resetResizing,\n })\n}\n\nfunction getLeafHeaders(header) {\n const leafHeaders = []\n const recurseHeader = header => {\n if (header.columns && header.columns.length) {\n header.columns.map(recurseHeader)\n }\n leafHeaders.push(header)\n }\n recurseHeader(header)\n return leafHeaders\n}\n","import { actions } from '../publicUtils'\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport function useGridLayout(hooks) {\n hooks.stateReducers.push(reducer)\n hooks.getTableProps.push(getTableProps)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getRowProps.push(getRowProps)\n}\n\nuseGridLayout.pluginName = 'useGridLayout'\n\nconst getTableProps = (props, { instance }) => {\n const gridTemplateColumns = instance.visibleColumns.map(column => {\n if (instance.state.gridLayout.columnWidths[column.id])\n return `${instance.state.gridLayout.columnWidths[column.id]}px`\n // When resizing, lock the width of all unset columns\n // instead of using user-provided width or defaultColumn width,\n // which could potentially be 'auto' or 'fr' units that don't scale linearly\n if (instance.state.columnResizing?.isResizingColumn)\n return `${instance.state.gridLayout.startWidths[column.id]}px`\n if (typeof column.width === 'number') return `${column.width}px`\n return column.width\n })\n return [\n props,\n {\n style: {\n display: `grid`,\n gridTemplateColumns: gridTemplateColumns.join(` `),\n },\n },\n ]\n}\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n id: `header-cell-${column.id}`,\n style: {\n position: `sticky`, //enables a scroll wrapper to be placed around the table and have sticky headers\n gridColumn: `span ${column.totalVisibleHeaderCount}`,\n },\n },\n]\n\nconst getRowProps = (props, { row }) => {\n if (row.isExpanded) {\n return [\n props,\n {\n style: {\n gridColumn: `1 / ${row.cells.length + 1}`,\n },\n },\n ]\n }\n return [props, {}]\n}\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n gridLayout: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n gridLayout: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { columnId, headerIdWidths } = action\n const columnWidth = getElementWidth(columnId)\n\n if (columnWidth !== undefined) {\n const startWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: getElementWidth(column.id),\n }),\n {}\n )\n const minWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: column.minWidth,\n }),\n {}\n )\n const maxWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: column.maxWidth,\n }),\n {}\n )\n\n const headerIdGridWidths = headerIdWidths.map(([headerId]) => [\n headerId,\n getElementWidth(headerId),\n ])\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n startWidths,\n minWidths,\n maxWidths,\n headerIdGridWidths,\n columnWidth,\n },\n }\n } else {\n return state\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX } = state.columnResizing\n const {\n columnWidth,\n minWidths,\n maxWidths,\n headerIdGridWidths = [],\n } = state.gridLayout\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdGridWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.min(\n Math.max(\n minWidths[headerId],\n headerWidth + headerWidth * percentageDeltaX\n ),\n maxWidths[headerId]\n )\n })\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n columnWidths: {\n ...state.gridLayout.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n startWidths: {},\n minWidths: {},\n maxWidths: {},\n },\n }\n }\n}\n\nfunction getElementWidth(columnId) {\n const width = document.getElementById(`header-cell-${columnId}`)?.offsetWidth\n\n if (width !== undefined) {\n return width\n }\n}\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3)\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {string}\n */\nexport function prefix (value, length) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// flex, flex-direction\n\t\tcase 6828: case 4268:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// (s)ticky?\n\t\t\tif (charat(value, length + 1) !== 115)\n\t\t\t\tbreak\n\t\t// display: (flex|inline-flex)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n\t\t\t\t// stic(k)y\n\t\t\t\tcase 107:\n\t\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\t\t// (inline-)?fl(e)x\n\t\t\t\tcase 101:\n\t\t\t\t\treturn replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t}\n\t\t\tbreak\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t}\n\n\t\t\treturn WEBKIT + value + MS + value + value\n\t}\n\n\treturn value\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length)\n\t\t\t\t\tbreak\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && characters.charCodeAt(length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport weakMemoize from '@emotion/weak-memoize';\nimport memoize from '@emotion/memoize';\n\nvar last = function last(arr) {\n return arr.length ? arr[arr.length - 1] : null;\n}; // based on https://github.com/thysultan/stylis.js/blob/e6843c373ebcbbfade25ebcc23f540ed8508da0a/src/Tokenizer.js#L239-L244\n\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule') return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n var prevElement = index > 0 ? children[index - 1] : null;\n\n if (prevElement && isIgnoringComment(last(prevElement.children))) {\n return;\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar isBrowser = typeof document !== 'undefined';\nvar getServerStylisCache = isBrowser ? undefined : weakMemoize(function () {\n return memoize(function () {\n var cache = {};\n return function (name) {\n return cache[name];\n };\n });\n});\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (isBrowser && key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n if (isBrowser) {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n if (isBrowser) {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n } else {\n var _finalizingPlugins = [stringify];\n\n var _serializer = middleware(omnipresentPlugins.concat(stylisPlugins, _finalizingPlugins));\n\n var _stylis = function _stylis(styles) {\n return serialize(compile(styles), _serializer);\n }; // $FlowFixMe\n\n\n var serverStylisCache = getServerStylisCache(stylisPlugins)(key);\n\n var getRules = function getRules(selector, serialized) {\n var name = serialized.name;\n\n if (serverStylisCache[name] === undefined) {\n serverStylisCache[name] = _stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n }\n\n return serverStylisCache[name];\n };\n\n _insert = function _insert(selector, serialized, sheet, shouldCache) {\n var name = serialized.name;\n var rules = getRules(selector, serialized);\n\n if (cache.compat === undefined) {\n // in regular mode, we don't set the styles on the inserted cache\n // since we don't need to and that would be wasting memory\n // we return them so that they are rendered in a style tag\n if (shouldCache) {\n cache.inserted[name] = true;\n }\n\n if ( // using === development instead of !== production\n // because if people do ssr in tests, the source maps showing up would be annoying\n process.env.NODE_ENV === 'development' && serialized.map !== undefined) {\n return rules + serialized.map;\n }\n\n return rules;\n } else {\n // in compat mode, we put the styles on the inserted cache so\n // that emotion-server can pull out the styles\n // except when we don't want to cache it which was in Global but now\n // is nowhere but we don't want to do a major right now\n // and just in case we're going to leave the case here\n // it's also not affecting client side bundle size\n // so it's really not a big deal\n if (shouldCache) {\n cache.inserted[name] = rules;\n } else {\n return rules;\n }\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","var weakMemoize = function weakMemoize(func) {\n // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps\n var cache = new WeakMap();\n return function (arg) {\n if (cache.has(arg)) {\n // $FlowFixMe\n return cache.get(arg);\n }\n\n var ret = func(arg);\n cache.set(arg, ret);\n return ret;\n };\n};\n\nexport default weakMemoize;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","var isBrowser = typeof document !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var stylesForSSR = '';\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n if (!isBrowser && maybeStyles !== undefined) {\n stylesForSSR += maybeStyles;\n }\n\n current = current.next;\n } while (current !== undefined);\n\n if (!isBrowser && stylesForSSR.length !== 0) {\n return stylesForSSR;\n }\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import createCache from '@emotion/cache';\nimport { serializeStyles } from '@emotion/serialize';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\n\nfunction insertWithoutScoping(cache, serialized) {\n if (cache.inserted[serialized.name] === undefined) {\n return cache.insert('', serialized, cache.sheet, true);\n }\n}\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar createEmotion = function createEmotion(options) {\n var cache = createCache(options); // $FlowFixMe\n\n cache.sheet.speedy = function (value) {\n if (process.env.NODE_ENV !== 'production' && this.ctr !== 0) {\n throw new Error('speedy must be changed before any rules are inserted');\n }\n\n this.isSpeedy = value;\n };\n\n cache.compat = true;\n\n var css = function css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered, undefined);\n insertStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var keyframes = function keyframes() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n var animation = \"animation-\" + serialized.name;\n insertWithoutScoping(cache, {\n name: serialized.name,\n styles: \"@keyframes \" + animation + \"{\" + serialized.styles + \"}\"\n });\n return animation;\n };\n\n var injectGlobal = function injectGlobal() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n insertWithoutScoping(cache, serialized);\n };\n\n var cx = function cx() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n return {\n css: css,\n cx: cx,\n injectGlobal: injectGlobal,\n keyframes: keyframes,\n hydrate: function hydrate(ids) {\n ids.forEach(function (key) {\n cache.inserted[key] = true;\n });\n },\n flush: function flush() {\n cache.registered = {};\n cache.inserted = {};\n cache.sheet.flush();\n },\n // $FlowFixMe\n sheet: cache.sheet,\n cache: cache,\n getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n merge: merge.bind(null, cache.registered, css)\n };\n};\n\nvar classnames = function classnames(args) {\n var cls = '';\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nexport default createEmotion;\n","import createEmotion from '@emotion/css/create-instance'\n\nimport { isBrowser, removeEmptyProps } from './utils'\n\nexport function createTheme(options) {\n if (!options) return null\n let {\n color,\n backgroundColor,\n borderColor,\n borderWidth,\n stripedColor,\n highlightColor,\n cellPadding,\n style,\n\n tableBorderColor = borderColor,\n tableBorderWidth = borderWidth,\n tableStyle,\n\n headerBorderColor = borderColor,\n headerBorderWidth = borderWidth,\n headerStyle,\n\n groupHeaderBorderColor = borderColor,\n groupHeaderBorderWidth = borderWidth,\n groupHeaderStyle,\n\n tableBodyStyle,\n\n rowGroupStyle,\n\n rowStyle,\n rowStripedStyle,\n rowHighlightStyle,\n rowSelectedStyle,\n\n cellBorderColor = borderColor,\n cellBorderWidth = borderWidth,\n cellStyle,\n\n footerBorderColor = borderColor,\n footerBorderWidth = borderWidth,\n footerStyle,\n\n inputStyle,\n filterInputStyle,\n searchInputStyle,\n\n selectStyle,\n\n paginationStyle,\n pageButtonStyle,\n pageButtonHoverStyle,\n pageButtonActiveStyle,\n pageButtonCurrentStyle\n } = options\n\n const expanderColor = getFirstDefinedProp(\n [cellStyle, rowStyle, tableBodyStyle, tableStyle, style],\n 'color',\n color\n )\n const selectColor = getFirstDefinedProp([selectStyle, style], 'color', color)\n\n // Allow easier override of header border width in an outlined/bordered table\n headerBorderWidth = getFirstDefinedProp([headerStyle], 'borderWidth', headerBorderWidth)\n\n let css = {\n style: {\n color,\n backgroundColor,\n ...style\n },\n\n tableStyle: {\n borderColor: tableBorderColor,\n borderWidth: tableBorderWidth,\n ...tableStyle\n },\n\n headerStyle: {\n borderColor: headerBorderColor,\n borderWidth: headerBorderWidth,\n padding: cellPadding,\n ...headerStyle,\n '.rt-bordered &, .rt-outlined &': {\n borderWidth: headerBorderWidth\n }\n },\n\n groupHeaderStyle: {\n // For vertical borders\n borderColor: groupHeaderBorderColor,\n borderWidth: groupHeaderBorderWidth,\n padding: cellPadding,\n ...groupHeaderStyle,\n // For horizontal borders\n '&::after': {\n backgroundColor: groupHeaderBorderColor,\n height: groupHeaderBorderWidth\n },\n '.rt-bordered &': {\n borderWidth: groupHeaderBorderWidth\n }\n },\n\n tableBodyStyle,\n\n rowGroupStyle,\n\n rowStyle: {\n ...rowStyle,\n '&.rt-tr-striped': {\n backgroundColor: stripedColor,\n ...rowStripedStyle\n },\n '&.rt-tr-highlight:hover': {\n backgroundColor: highlightColor,\n ...rowHighlightStyle\n },\n '&.rt-tr-selected': {\n ...rowSelectedStyle\n }\n },\n\n cellStyle: {\n borderColor: cellBorderColor,\n borderWidth: cellBorderWidth,\n padding: cellPadding,\n ...cellStyle\n },\n\n footerStyle: {\n borderColor: footerBorderColor,\n borderWidth: footerBorderWidth,\n padding: cellPadding,\n ...footerStyle\n },\n\n filterCellStyle: {\n borderColor: cellBorderColor,\n borderWidth: cellBorderWidth,\n padding: cellPadding,\n ...cellStyle\n },\n\n expanderStyle: {\n '&::after': {\n borderTopColor: expanderColor\n }\n },\n\n filterInputStyle: {\n ...inputStyle,\n ...filterInputStyle\n },\n\n searchInputStyle: {\n ...inputStyle,\n ...searchInputStyle\n },\n\n paginationStyle: {\n borderTopColor: cellBorderColor,\n borderTopWidth: cellBorderWidth,\n ...paginationStyle,\n\n '.rt-page-jump': {\n ...inputStyle\n },\n\n '.rt-page-size-select': {\n ...selectStyle,\n '@supports (-moz-appearance: none)': {\n backgroundImage:\n selectColor &&\n `url('data:image/svg+xml;charset=US-ASCII,` +\n `` +\n // Colors should be URL encoded since they may contain # or parentheses\n `')`\n }\n },\n\n '.rt-page-button': {\n ...pageButtonStyle\n },\n '.rt-page-button:not(:disabled):hover': {\n ...pageButtonHoverStyle\n },\n '.rt-page-button:not(:disabled):active': {\n ...pageButtonActiveStyle\n },\n '.rt-keyboard-active & .rt-page-button:not(:disabled):focus': {\n ...pageButtonHoverStyle\n },\n '.rt-page-button-current': {\n ...pageButtonCurrentStyle\n }\n }\n }\n\n removeEmptyProps(css)\n\n return css\n}\n\nfunction getFirstDefinedProp(objects, prop, defaultVal) {\n const found = objects.find(x => x && x[prop] != null)\n return found ? found[prop] : defaultVal\n}\n\n// URL encoder that escapes parentheses (for data URLs)\nfunction urlEncode(str) {\n return encodeURIComponent(str).replace('(', '%28').replace(')', '%29')\n}\n\n// Defer Emotion initialization until DOM is loaded and theming is used\nlet emotion\nexport function getEmotion() {\n if (emotion) {\n return emotion\n }\n // Emotion appends style tags to head by default. Instead, we insert styles\n // immediately after the reactable stylesheet for two reasons:\n //\n // 1. Some HTML documents (pkgdown) may place htmlDependencies in the body\n // instead of head, causing Emotion theme styles in head to come before the\n // the reactable stylesheet and not override default styles properly.\n // R Markdown and Shiny put htmlDependencies in head properly.\n // 2. User styles in head may be overrided by the theme since Emotion appends to\n // the end of head, after any existing styles in head. This is not as important\n // as reason 1, however.\n let container\n let insertionPoint\n if (isBrowser()) {\n for (let link of document.querySelectorAll('link')) {\n const filename = link.href.substring(link.href.lastIndexOf('/') + 1)\n if (link.rel === 'stylesheet' && filename === 'reactable.css') {\n container = link.parentElement\n insertionPoint = link\n break\n }\n }\n }\n emotion = createEmotion({\n // Class prefix and unique key to prevent conflicts with other Emotion instances\n key: 'reactable',\n container: container,\n insertionPoint: insertionPoint\n })\n return emotion\n}\n\n// Reset Emotion instance and styles, intended for testing use only\nexport function resetEmotion() {\n if (emotion) {\n emotion.flush()\n emotion = null\n }\n}\n\n// Emotion css wrapper that returns null instead of an unused class\nexport function css(...args) {\n const emotion = getEmotion()\n args = args.filter(arg => arg != null)\n return args.length ? emotion.css(args) : null\n}\n","import React from 'react'\nimport { useGetLatest } from 'react-table'\n\nexport function classNames(...classes) {\n return classes.filter(cls => cls).join(' ')\n}\n\nexport function getFirstDefined(...args) {\n return args.find(x => x != null)\n}\n\n// Recursively remove undefined/null properties and empty objects\nexport function removeEmptyProps(obj) {\n for (let [key, value] of Object.entries(obj)) {\n if (value == null) {\n delete obj[key]\n } else if (typeof value === 'object') {\n removeEmptyProps(value)\n if (Object.keys(value).length === 0) {\n delete obj[key]\n }\n }\n }\n}\n\nexport function escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n}\n\n// Get leaf columns as an array\nexport function getLeafColumns(column) {\n const leafColumns = []\n const recurseColumn = column => {\n if (column.columns) {\n column.columns.forEach(recurseColumn)\n } else {\n leafColumns.push(column)\n }\n }\n recurseColumn(column)\n return leafColumns\n}\n\n// Convert row data for react-table v6 compatibility\nexport function convertRowsToV6(rows) {\n return rows.map(row => {\n if (row.subRows && row.subRows.length > 0) {\n return { _subRows: convertRowsToV6(row.subRows), ...row.values }\n } else {\n return row.values\n }\n })\n}\n\nexport function rowsToCSV(rows, options = {}) {\n let { columnIds, headers = true, sep = ',', dec = '.' } = options\n const rowToCSV = row => {\n return row\n .map(value => {\n if (value == null) {\n value = ''\n }\n // Serialize dates as ISO strings, all other non-string and non-numeric values as JSON\n if (value instanceof Date) {\n value = value.toISOString()\n } else if (typeof value !== 'string' && typeof value !== 'number') {\n value = JSON.stringify(value)\n } else if (dec !== '.' && typeof value === 'number') {\n value = value.toString().replace('.', dec)\n }\n // Escape CSV-unsafe characters\n if (typeof value === 'string' && (value.includes('\"') || value.includes(sep))) {\n value = `\"${value.replace(/\"/g, '\"\"')}\"`\n }\n return value\n })\n .join(sep)\n }\n let csvRows = []\n if (!columnIds) {\n columnIds = rows.length > 0 ? Object.keys(rows[0]) : []\n }\n if (headers) {\n csvRows.push(rowToCSV(columnIds))\n }\n for (let row of rows) {\n const values = columnIds.map(id => row[id])\n csvRows.push(rowToCSV(values))\n }\n return csvRows.join('\\n') + '\\n'\n}\n\nexport function downloadCSV(content, filename) {\n const blob = new Blob([content], { type: 'text/csv;charset=utf-8' })\n if (window.navigator.msSaveBlob) {\n // For IE11\n window.navigator.msSaveBlob(blob, filename)\n } else {\n const link = document.createElement('a')\n const url = window.URL.createObjectURL(blob)\n link.href = url\n link.download = filename\n link.click()\n window.URL.revokeObjectURL(url)\n }\n}\n\nexport function isBrowser() {\n return typeof document !== 'undefined'\n}\n\n// useAsyncDebounce from react-table without async/await (which seems to be unnecessary anyway)\n// to avoid adding regenerator-runtime to bundle.\nexport function useAsyncDebounce(defaultFn, defaultWait = 0) {\n const debounceRef = React.useRef({})\n\n const getDefaultFn = useGetLatest(defaultFn)\n const getDefaultWait = useGetLatest(defaultWait)\n\n return React.useCallback(\n (...args) => {\n if (!debounceRef.current.promise) {\n debounceRef.current.promise = new Promise((resolve, reject) => {\n debounceRef.current.resolve = resolve\n debounceRef.current.reject = reject\n })\n }\n\n if (debounceRef.current.timeout) {\n clearTimeout(debounceRef.current.timeout)\n }\n\n debounceRef.current.timeout = setTimeout(() => {\n delete debounceRef.current.timeout\n try {\n debounceRef.current.resolve(getDefaultFn()(...args))\n } catch (err) {\n debounceRef.current.reject(err)\n } finally {\n delete debounceRef.current.promise\n }\n }, getDefaultWait())\n\n return debounceRef.current.promise\n },\n [getDefaultFn, getDefaultWait]\n )\n}\n","export const defaultLanguage = {\n // Sorting\n sortLabel: 'Sort {name}',\n\n // Filters\n filterPlaceholder: '',\n filterLabel: 'Filter {name}',\n\n // Search\n searchPlaceholder: 'Search',\n searchLabel: 'Search',\n\n // Tables\n noData: 'No rows found',\n\n // Pagination\n pageNext: 'Next',\n pagePrevious: 'Previous',\n pageNumbers: '{page} of {pages}',\n pageInfo: `{rowStart}${String.fromCharCode(0x2013)}{rowEnd} of {rows} rows`,\n pageSizeOptions: 'Show {rows}',\n pageNextLabel: 'Next page',\n pagePreviousLabel: 'Previous page',\n pageNumberLabel: 'Page {page}',\n pageJumpLabel: 'Go to page',\n pageSizeOptionsLabel: 'Rows per page',\n\n // Column groups\n groupExpandLabel: 'Toggle group',\n\n // Row details\n detailsExpandLabel: 'Toggle details',\n\n // Selection\n selectAllRowsLabel: 'Select all rows',\n selectAllSubRowsLabel: 'Select all rows in group',\n selectRowLabel: 'Select row',\n\n // Deprecated in v0.3.0\n defaultGroupHeader: 'Grouped',\n detailsCollapseLabel: 'Toggle details',\n deselectAllRowsLabel: 'Deselect all rows',\n deselectAllSubRowsLabel: 'Deselect all rows in group',\n deselectRowLabel: 'Deselect row'\n}\n\nexport function renderTemplate(template, params = {}) {\n if (!template || !params) {\n return template\n }\n const keys = Object.keys(params)\n const separator = '(' + keys.map(key => `{${key}}`).join('|') + ')'\n const strings = template.split(new RegExp(separator))\n const templateParams = keys.reduce((obj, key) => {\n obj[`{${key}}`] = params[key]\n return obj\n }, {})\n const rendered = strings.map(s => (templateParams[s] != null ? templateParams[s] : s))\n if (rendered.some(val => typeof val === 'object')) {\n return rendered\n }\n return rendered.join('')\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { css } from './theme'\nimport { defaultLanguage, renderTemplate } from './language'\nimport { classNames } from './utils'\n\nconst PageButton = ({ isCurrent, className, ...props }) => {\n className = classNames(className, 'rt-page-button', isCurrent ? ' rt-page-button-current' : null)\n return (\n \n )\n}\n\nPageButton.propTypes = {\n isCurrent: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.node\n}\n\n// Get visible pages from current page (1-based) and total page count\nexport function getVisiblePages(page, totalPages) {\n // 6 pages or less\n if (totalPages <= 6) {\n return [...Array(totalPages)].map((_, i) => i + 1)\n }\n if (page <= 4) {\n // First 4 pages: 1 2 3 *4* 5 ... 7\n return [1, 2, 3, 4, 5, totalPages]\n } else if (totalPages - page < 3) {\n // Last 3 pages: 1 ... 4 *5* 6 7\n return [1, totalPages - 3, totalPages - 2, totalPages - 1, totalPages]\n } else {\n // Middle 3 pages: 1 ... 4 *5* 6 ... 8\n return [1, page - 1, page, page + 1, totalPages]\n }\n}\n\nexport default class Pagination extends React.Component {\n constructor(props) {\n super(props)\n this.changePage = this.changePage.bind(this)\n this.applyPage = this.applyPage.bind(this)\n this.state = {\n pageJumpValue: props.page + 1,\n prevPage: props.page\n }\n }\n\n static getDerivedStateFromProps(props, state) {\n // Update page jump value if page changes (e.g. from page size change).\n // Track previous page so we only update on prop changes.\n if (props.page !== state.prevPage) {\n return {\n pageJumpValue: props.page + 1,\n prevPage: props.page\n }\n }\n return null\n }\n\n changePage(newPage) {\n const currentPage = this.props.page + 1\n if (newPage === currentPage) {\n return\n }\n this.props.onPageChange(newPage - 1)\n }\n\n applyPage(e) {\n if (e) {\n e.preventDefault()\n }\n const newPage = this.state.pageJumpValue\n if (newPage !== '') {\n this.changePage(newPage)\n } else {\n // Reset page jump if new value is blank or invalid. (Some browsers\n // allow non-numeric characters with input type=\"number\").\n const currentPage = this.props.page + 1\n this.setState({ pageJumpValue: currentPage })\n }\n }\n\n renderPageInfo({ page, pageSize, pageRowCount, rowCount, language }) {\n const rowStart = Math.min(page * pageSize + 1, rowCount)\n // When pagination is disabled, pageSize is unused and the number of rows\n // on the page can exceed the page size.\n const rowEnd = Math.max(Math.min(page * pageSize + pageSize, rowCount), pageRowCount)\n const pageInfo = renderTemplate(language.pageInfo, { rowStart, rowEnd, rows: rowCount })\n return
{pageInfo}
\n }\n\n renderPageSizeOptions({ pageSize, pageSizeOptions, onPageSizeChange, language }) {\n const selector = (\n onPageSizeChange(Number(e.target.value))}\n value={pageSize}\n >\n {pageSizeOptions.map((option, i) => (\n \n ))}\n \n )\n const elements = renderTemplate(language.pageSizeOptions, { rows: selector })\n return
{elements}
\n }\n\n renderPageJump({ onChange, value, onBlur, onKeyPress, inputType, language }) {\n return (\n \n )\n }\n\n getPageJumpProperties() {\n return {\n onKeyPress: e => {\n if (e.which === 13 || e.keyCode === 13) {\n this.applyPage()\n }\n },\n onBlur: this.applyPage,\n value: this.state.pageJumpValue,\n onChange: e => {\n const value = e.target.value\n if (value === '') {\n this.setState({ pageJumpValue: value })\n return\n }\n const newPage = Number(value)\n if (!Number.isNaN(newPage)) {\n const nearestValidPage = Math.min(Math.max(newPage, 1), Math.max(this.props.pages, 1))\n this.setState({ pageJumpValue: nearestValidPage })\n }\n },\n inputType: 'number',\n language: this.props.language\n }\n }\n\n render() {\n const {\n paginationType,\n showPageSizeOptions,\n showPageInfo,\n page,\n pages,\n canPrevious,\n canNext,\n theme,\n language\n } = this.props\n\n const pageInfo = showPageInfo ? this.renderPageInfo(this.props) : null\n const pageSizeOptions = showPageSizeOptions ? this.renderPageSizeOptions(this.props) : null\n\n const currentPage = page + 1\n const visiblePages = getVisiblePages(currentPage, pages)\n\n let pageNumbers\n if (paginationType === 'numbers') {\n let pageButtons = []\n visiblePages.forEach((page, index) => {\n const isCurrent = currentPage === page\n const pageButton = (\n \n {page}\n \n )\n if (page - visiblePages[index - 1] > 1) {\n pageButtons.push(\n \n ...\n \n )\n }\n pageButtons.push(pageButton)\n })\n pageNumbers = pageButtons\n } else {\n const page =\n paginationType === 'jump' ? this.renderPageJump(this.getPageJumpProperties()) : currentPage\n const totalPages = Math.max(pages, 1)\n pageNumbers = (\n
\n {renderTemplate(language.pageNumbers, { page, pages: totalPages })}\n
\n )\n }\n\n const prevButton = (\n {\n if (!canPrevious) return\n this.changePage(currentPage - 1)\n }}\n disabled={!canPrevious}\n aria-disabled={!canPrevious ? 'true' : null}\n aria-label={language.pagePreviousLabel}\n >\n {language.pagePrevious}\n \n )\n\n const nextButton = (\n {\n if (!canNext) return\n this.changePage(currentPage + 1)\n }}\n disabled={!canNext}\n aria-disabled={!canNext ? 'true' : null}\n aria-label={language.pageNextLabel}\n >\n {language.pageNext}\n \n )\n\n return (\n
\n
\n {pageInfo}\n {pageSizeOptions}\n
\n\n
\n {prevButton}\n {pageNumbers}\n {nextButton}\n
\n
\n )\n }\n}\n\nPagination.propTypes = {\n paginationType: PropTypes.oneOf(['numbers', 'jump', 'simple']),\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n showPageSizeOptions: PropTypes.bool,\n showPageInfo: PropTypes.bool,\n page: PropTypes.number.isRequired,\n pages: PropTypes.number.isRequired,\n pageSize: PropTypes.number.isRequired,\n pageRowCount: PropTypes.number.isRequired,\n canPrevious: PropTypes.bool.isRequired,\n canNext: PropTypes.bool.isRequired,\n onPageChange: PropTypes.func.isRequired,\n onPageSizeChange: PropTypes.func.isRequired,\n rowCount: PropTypes.number.isRequired,\n theme: PropTypes.shape({\n paginationStyle: PropTypes.object\n }),\n language: PropTypes.shape({\n pageNext: PropTypes.string,\n pagePrevious: PropTypes.string,\n pageNumbers: PropTypes.string,\n pageInfo: PropTypes.string,\n pageSizeOptions: PropTypes.string,\n pageNextLabel: PropTypes.string,\n pagePreviousLabel: PropTypes.string,\n pageNumberLabel: PropTypes.string,\n pageJumpLabel: PropTypes.string,\n pageSizeOptionsLabel: PropTypes.string\n })\n}\n\nPagination.defaultProps = {\n paginationType: 'numbers',\n pageSizeOptions: [10, 25, 50, 100],\n showPageInfo: true,\n language: defaultLanguage\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { isBrowser } from './utils'\n\nexport default class WidgetContainer extends React.Component {\n componentDidMount() {\n this.staticRender()\n }\n\n staticRender() {\n if (!window.HTMLWidgets) {\n return\n }\n if (!WidgetContainer.throttled) {\n window.HTMLWidgets.staticRender()\n // Throttle static rendering since it targets the entire document\n WidgetContainer.throttled = true\n if (typeof setTimeout !== 'undefined') {\n setTimeout(() => {\n if (WidgetContainer.lastCall) {\n window.HTMLWidgets.staticRender()\n }\n WidgetContainer.throttled = false\n WidgetContainer.lastCall = false\n })\n }\n } else {\n WidgetContainer.lastCall = true\n }\n }\n\n render() {\n // Don't serialize HTML widget HTML/scripts when server-side rendering:\n // 1. Most HTML widgets are client-side rendered and wouldn't benefit much from SSR.\n // 2. This keeps the initial HTML payload slim, as the widget script data would be\n // unnecessarily duplicated.\n // 3. Problems can occur when multiple instances of the same HTML widget type\n // are embedded in different tables, and the global HTMLWidgets.staticRender()\n // renders HTML widgets in other tables before those other tables are hydrated\n // (each table lives in its own React root). When other tables are hydrated,\n // the HTML widgets there will get wiped out, but not rerendered on the next\n // staticRender() because the root widget element is already marked as\n // html-widget-static-bound. This also helps keep the initial HTML payload slim,\n // as the widget script data would get unnecessarily duplicated.\n if (!isBrowser()) {\n return null\n }\n return this.props.children\n }\n}\n\nWidgetContainer.propTypes = {\n children: PropTypes.node\n}\n","// useFlexLayout modified to:\n// - Fix flex widths when resizing is disabled (don't use column.totalFlexWidth)\n// - Support resizing to actual min and max column widths (not flex widths)\n// - Set min width on thead/tbody/tfoot instead of table for responsive, horizontal scrolling.\n// Tables should use the new instance.getTheadProps and instance.getTfootProps for this.\n// - Include resized widths in table min width to prevent glitches with sticky headers/footers\n// - Exclude redundant styles\n\nimport { useGetLatest, makePropGetter } from 'react-table'\n\nexport default function useFlexLayout(hooks) {\n hooks.getTheadProps = [getRowGroupStyles]\n hooks.getTfootProps = [getRowGroupStyles]\n hooks.getTableBodyProps.push(getRowGroupStyles)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getCellProps.push(getCellProps)\n hooks.getFooterProps.push(getFooterProps)\n hooks.useInstance.push(useInstance)\n}\n\nuseFlexLayout.pluginName = 'useFlexLayout'\n\n// Set min-width for thead and tfoot. Include resized widths in min width\n// (using totalColumnsWidth over totalColumnsMinWidth) so cells don't overlap\n// with sticky headers and footers when the total resized width is greater than\n// the total min width.\nconst getRowGroupStyles = (props, { instance }) => {\n return [\n props,\n {\n style: {\n minWidth: asPx(instance.totalColumnsWidth)\n }\n }\n ]\n}\n\nconst getRowStyles = (props, { instance }) => {\n return [\n props,\n {\n style: {\n flex: '1 0 auto',\n minWidth: asPx(instance.totalColumnsWidth)\n }\n }\n ]\n}\n\nconst getHeaderProps = (props, { column }) => {\n // Don't set max width if MAX_SAFE_INTEGER (the default for column.maxWidth)\n const maxWidth = column.totalMaxWidth < Number.MAX_SAFE_INTEGER ? column.totalMaxWidth : null\n return [\n props,\n {\n style: {\n flex: `${column.flexWidth} 0 auto`,\n minWidth: asPx(column.totalMinWidth),\n width: asPx(column.totalWidth),\n maxWidth: asPx(maxWidth)\n }\n }\n ]\n}\n\nconst getCellProps = (props, { cell }) => {\n const maxWidth =\n cell.column.totalMaxWidth < Number.MAX_SAFE_INTEGER ? cell.column.totalMaxWidth : null\n return [\n props,\n {\n style: {\n flex: `${cell.column.flexWidth} 0 auto`,\n minWidth: asPx(cell.column.totalMinWidth),\n width: asPx(cell.column.totalWidth),\n maxWidth: asPx(maxWidth)\n }\n }\n ]\n}\n\nconst getFooterProps = (props, { column }) => {\n const maxWidth = column.totalMaxWidth < Number.MAX_SAFE_INTEGER ? column.totalMaxWidth : null\n return [\n props,\n {\n style: {\n flex: `${column.flexWidth} 0 auto`,\n minWidth: asPx(column.totalMinWidth),\n width: asPx(column.totalWidth),\n maxWidth: asPx(maxWidth)\n }\n }\n ]\n}\n\nfunction useInstance(instance) {\n const { headers, state, getHooks } = instance\n\n const resizedWidths = state.columnResizing.columnWidths\n\n // Manually calculate flex widths instead of using column.totalFlexWidth\n function calculateFlexWidths(columns) {\n let totalFlexWidth = 0\n columns.forEach(column => {\n if (column.headers) {\n column.flexWidth = calculateFlexWidths(column.headers)\n } else {\n // If the column has been resized or has fixed width, flex width = 0.\n // Otherwise, flex width = min width.\n if (resizedWidths[column.id] != null) {\n column.flexWidth = 0\n } else {\n const isFixedWidth = column.totalMinWidth === column.totalMaxWidth\n column.flexWidth = isFixedWidth ? 0 : column.totalMinWidth\n }\n }\n if (column.isVisible) {\n totalFlexWidth += column.flexWidth\n }\n })\n return totalFlexWidth\n }\n\n calculateFlexWidths(headers)\n\n const getInstance = useGetLatest(instance)\n const getTheadProps = makePropGetter(getHooks().getTheadProps, { instance: getInstance() })\n const getTfootProps = makePropGetter(getHooks().getTfootProps, { instance: getInstance() })\n\n Object.assign(instance, {\n getTheadProps,\n getTfootProps\n })\n}\n\nfunction asPx(value) {\n return typeof value === 'number' ? `${value}px` : undefined\n}\n","import { ensurePluginOrder } from 'react-table'\n\nimport { getLeafColumns } from './utils'\n\nexport default function useStickyColumns(hooks) {\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getCellProps.push(getCellProps)\n hooks.getFooterProps.push(getFooterProps)\n hooks.useInstance.push(useInstance)\n}\n\nuseStickyColumns.pluginName = 'useStickyColumns'\n\nconst getHeaderProps = (props, { column }) => {\n if (!column.stickyProps) {\n return props\n }\n return [props, column.stickyProps]\n}\n\nconst getCellProps = (props, { cell }) => {\n if (!cell.column.stickyProps) {\n return props\n }\n return [props, cell.column.stickyProps]\n}\n\nconst getFooterProps = (props, { column }) => {\n if (!column.stickyProps) {\n return props\n }\n return [props, column.stickyProps]\n}\n\nconst getStickyProps = (column, columns) => {\n const props = {\n className: 'rt-sticky',\n style: {\n position: 'sticky'\n }\n }\n if (column.sticky === 'left') {\n const stickyCols = columns.filter(col => col.sticky === 'left')\n props.style.left = 0\n for (let col of stickyCols) {\n if (col.id === column.id) break\n props.style.left += col.totalWidth\n }\n } else if (column.sticky === 'right') {\n const stickyCols = columns.filter(col => col.sticky === 'right')\n props.style.right = 0\n for (let col of stickyCols.reverse()) {\n if (col.id === column.id) break\n props.style.right += col.totalWidth\n }\n }\n return props\n}\n\nfunction useInstance(instance) {\n const { plugins, headerGroups } = instance\n\n ensurePluginOrder(plugins, ['useResizeColumns'], 'useStickyColumns')\n\n headerGroups.forEach(headerGroup => {\n const columns = headerGroup.headers\n\n // Ensure all columns in the group have the same sticky property.\n // If any sticky properties in the group differ, the first sticky column's\n // property is used for the whole group.\n columns.forEach(column => {\n const groupColumns = [column]\n if (column.columns) {\n groupColumns.push(...getLeafColumns(column))\n }\n const firstStickyCol = groupColumns.find(col => col.sticky)\n if (firstStickyCol) {\n groupColumns.forEach(col => {\n col.sticky = firstStickyCol.sticky\n })\n }\n })\n\n columns.forEach(column => {\n if (column.sticky) {\n column.stickyProps = getStickyProps(column, columns)\n }\n })\n })\n}\n","// useGroupBy hook modified to:\n// - Pass row objects and aggregated row objects to aggregate functions\n// - Include groupBy columns in aggregations\n// - Set nesting depth for leaf rows\n// - Omit row index properties on aggregated rows\n\nimport React from 'react'\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest\n} from 'react-table'\n\nimport { getFirstDefined } from './utils'\n\n// Not using any built-in aggregations\nconst aggregations = {}\n\nconst emptyArray = []\nconst emptyObject = {}\n\n// Actions\nactions.resetGroupBy = 'resetGroupBy'\nactions.setGroupBy = 'setGroupBy'\nactions.toggleGroupBy = 'toggleGroupBy'\n\nexport default function useGroupBy(hooks) {\n hooks.getGroupByToggleProps = [defaultGetGroupByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => [...deps, instance.state.groupBy])\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseGroupBy.pluginName = 'useGroupBy'\n\nconst defaultGetGroupByToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canGroupBy\n ? e => {\n e.persist()\n header.toggleGroupBy()\n }\n : undefined,\n style: {\n cursor: header.canGroupBy ? 'pointer' : undefined\n },\n title: 'Toggle GroupBy'\n }\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n groupBy: [],\n ...state\n }\n }\n\n if (action.type === actions.resetGroupBy) {\n return {\n ...state,\n groupBy: instance.initialState.groupBy || []\n }\n }\n\n if (action.type === actions.setGroupBy) {\n const { value } = action\n return {\n ...state,\n groupBy: value\n }\n }\n\n if (action.type === actions.toggleGroupBy) {\n const { columnId, value: setGroupBy } = action\n\n const resolvedGroupBy =\n typeof setGroupBy !== 'undefined' ? setGroupBy : !state.groupBy.includes(columnId)\n\n if (resolvedGroupBy) {\n return {\n ...state,\n groupBy: [...state.groupBy, columnId]\n }\n }\n\n return {\n ...state,\n groupBy: state.groupBy.filter(d => d !== columnId)\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { groupBy }\n }\n }\n) {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n\n const groupByColumns = groupBy.map(g => columns.find(col => col.id === g)).filter(Boolean)\n\n const nonGroupByColumns = columns.filter(col => !groupBy.includes(col.id))\n\n columns = [...groupByColumns, ...nonGroupByColumns]\n\n columns.forEach(column => {\n column.isGrouped = groupBy.includes(column.id)\n column.groupedIndex = groupBy.indexOf(column.id)\n })\n\n return columns\n}\n\nconst defaultUserAggregations = {}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n flatHeaders,\n groupByFn = defaultGroupByFn,\n manualGroupBy,\n aggregations: userAggregations = defaultUserAggregations,\n plugins,\n state: { groupBy },\n dispatch,\n autoResetGroupBy = true,\n disableGroupBy,\n defaultCanGroupBy,\n getHooks\n } = instance\n\n ensurePluginOrder(plugins, ['useColumnOrder', 'useFilters'], 'useGroupBy')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultGroupBy: defaultColumnGroupBy,\n disableGroupBy: columnDisableGroupBy\n } = column\n\n column.canGroupBy = accessor\n ? getFirstDefined(\n column.canGroupBy,\n columnDisableGroupBy === true ? false : undefined,\n disableGroupBy === true ? false : undefined,\n true\n )\n : getFirstDefined(column.canGroupBy, defaultColumnGroupBy, defaultCanGroupBy, false)\n\n if (column.canGroupBy) {\n column.toggleGroupBy = () => instance.toggleGroupBy(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const toggleGroupBy = React.useCallback(\n (columnId, value) => {\n dispatch({ type: actions.toggleGroupBy, columnId, value })\n },\n [dispatch]\n )\n\n const setGroupBy = React.useCallback(\n value => {\n dispatch({ type: actions.setGroupBy, value })\n },\n [dispatch]\n )\n\n flatHeaders.forEach(header => {\n header.getGroupByToggleProps = makePropGetter(getHooks().getGroupByToggleProps, {\n instance: getInstance(),\n header\n })\n })\n\n const [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById\n ] = React.useMemo(() => {\n if (groupBy.length === 0) {\n return [rows, flatRows, rowsById, emptyArray, emptyObject, flatRows, rowsById]\n }\n\n if (manualGroupBy) {\n // Ensure that the list of filtered columns exist\n const existingGroupBy = groupBy.filter(g => allColumns.find(col => col.id === g))\n\n // Derive grouping props in each row that aren't present in manually grouped data.\n // Note that this excludes groupByVal and leafRows.\n const setGroupingProps = (rows, depth = 0) => {\n // Set nesting depth\n rows.forEach(row => {\n row.depth = depth\n })\n\n // Last level - these are leaf rows\n if (depth === existingGroupBy.length) {\n return\n }\n\n const columnId = existingGroupBy[depth]\n\n // Find the columns that can be aggregated, including any columns in groupBy.\n // groupBy columns that aren't in the row's group are allowed to be aggregated.\n const groupedColumns = existingGroupBy.slice(0, depth + 1)\n const aggregatedColumns = allColumns\n .filter(col => !groupedColumns.includes(col.id))\n .map(col => col.id)\n\n rows.forEach(row => {\n if (!row.isGrouped) {\n return\n }\n\n // Required but unset: row.groupByID, row.isGrouped\n row.groupByID = columnId\n // All columns that can be aggregated (including groupBy columns)\n row.aggregatedColumns = aggregatedColumns\n setGroupingProps(row.subRows, depth + 1)\n })\n }\n\n const flatRows = rows.filter(row => row.parentId == null)\n setGroupingProps(flatRows)\n\n return [rows, flatRows, rowsById, emptyArray, emptyObject, flatRows, rowsById]\n }\n\n // Ensure that the list of filtered columns exist\n const existingGroupBy = groupBy.filter(g => allColumns.find(col => col.id === g))\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (leafRows, groupedRows, depth, aggregatedColumns) => {\n const values = {}\n\n allColumns.forEach(column => {\n // Only aggregate columns that aren't being grouped. Originally, all groupBy\n // columns were excluded, but now, groupBy columns not in the row's group\n // may be aggregated.\n if (!aggregatedColumns.includes(column.id)) {\n // Set placeholder values\n values[column.id] = groupedRows[0] ? groupedRows[0].values[column.id] : null\n return\n }\n\n // Get the columnValues to aggregate (no longer used)\n // const groupedValues = groupedRows.map(row => row.values[column.id])\n\n // Aggregate the values\n let aggregateFn =\n typeof column.aggregate === 'function'\n ? column.aggregate\n : userAggregations[column.aggregate] || aggregations[column.aggregate]\n\n if (aggregateFn) {\n // Get the columnValues to aggregate\n const leafValues = leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n const aggregateValueFn =\n typeof column.aggregateValue === 'function'\n ? column.aggregateValue\n : userAggregations[column.aggregateValue] || aggregations[column.aggregateValue]\n\n if (!aggregateValueFn) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregateValue option for column listed above`\n )\n }\n\n columnValue = aggregateValueFn(columnValue, row, column)\n }\n return columnValue\n })\n\n // Originally, the leafValues and groupedValues were passed to the aggregate function.\n // Now, the aggregate function takes:\n // - leafValues: flattened array of values in the column\n // - leafRows: flattened array of rows in the column (for v6 compatibility)\n // - groupedRows: array of aggregated rows in the column\n values[column.id] = aggregateFn(\n leafValues,\n leafRows.map(row => row.values),\n groupedRows.map(row => row.values)\n )\n } else if (column.aggregate) {\n console.info({ column })\n throw new Error(`React Table: Invalid column.aggregate option for column listed above`)\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n let groupedFlatRows = []\n const groupedRowsById = {}\n const onlyGroupedFlatRows = []\n const onlyGroupedRowsById = {}\n const nonGroupedFlatRows = []\n const nonGroupedRowsById = {}\n\n // Recursively group the data\n const groupUpRecursively = (rows, depth = 0, parentId) => {\n // This is the last level, just return the rows\n if (depth === existingGroupBy.length) {\n // Set nesting depth for leaf rows\n rows.forEach(row => {\n row.depth = depth\n })\n return rows\n }\n\n const columnId = existingGroupBy[depth]\n\n // Group the rows together for this level\n let rowGroupsMap = groupByFn(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Object.entries(rowGroupsMap).map(\n ([groupByVal, groupedRows], index) => {\n let id = `${columnId}:${groupByVal}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth ? flattenBy(groupedRows, 'leafRows') : groupedRows\n\n // Find the columns that can be aggregated, including any columns in\n // groupBy. Originally, no groupBy columns were aggregated. Now we\n // aggregate groupBy columns that aren't in the row's group.\n const groupedColumns = existingGroupBy.slice(0, depth + 1)\n const aggregatedColumns = allColumns\n .filter(col => !groupedColumns.includes(col.id))\n .map(col => col.id)\n\n // Originally, groupedRows were passed here, which were the same as\n // the leafRows. Now, the subRows are passed, which contain the aggregated\n // values of the immediate child rows.\n const values = aggregateRowsToValues(leafRows, subRows, depth, aggregatedColumns)\n\n const row = {\n id,\n isGrouped: true,\n groupByID: columnId,\n groupByVal,\n values,\n subRows,\n leafRows,\n depth,\n // Originally, aggregated rows had a row index corresponding to the index within\n // rowGroupsMap. This row index doesn't map to a valid data row and overlaps\n // with the leaf rows, so explicitly omit it.\n // index: undefined,\n index: undefined,\n groupIndex: index,\n // All columns that can be aggregated (including groupBy columns)\n aggregatedColumns\n }\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rows)\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n // Assign the new data\n return [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById\n ]\n }, [manualGroupBy, groupBy, rows, flatRows, rowsById, allColumns, userAggregations, groupByFn])\n\n const getAutoResetGroupBy = useGetLatest(autoResetGroupBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGroupBy()) {\n dispatch({ type: actions.resetGroupBy })\n }\n }, [dispatch, manualGroupBy ? null : data])\n\n Object.assign(instance, {\n preGroupedRows: rows,\n preGroupedFlatRow: flatRows,\n preGroupedRowsById: rowsById,\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n toggleGroupBy,\n setGroupBy\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the groupBy and the pivot cell for the row\n cell.isGrouped = cell.column.isGrouped && cell.column.id === row.groupByID\n\n // Aggregated cells are not grouped, not repeated, but still have subRows\n cell.isAggregated =\n !cell.isGrouped && row.aggregatedColumns?.includes(cell.column.id) && row.subRows?.length\n\n // Placeholder cells are any columns in the groupBy that are not grouped or aggregated\n cell.isPlaceholder = !cell.isGrouped && cell.column.isGrouped && !cell.isAggregated\n })\n}\n\nexport function defaultGroupByFn(rows, columnId) {\n return rows.reduce((prev, row) => {\n // TODO: Might want to implement a key serializer here so\n // irregular column values can still be grouped if needed?\n const resKey = `${row.values[columnId]}`\n prev[resKey] = Array.isArray(prev[resKey]) ? prev[resKey] : []\n prev[resKey].push(row)\n return prev\n }, {})\n}\n\nfunction flattenBy(arr, key) {\n const flat = []\n\n const recurse = arr => {\n arr.forEach(d => {\n if (!d[key]) {\n flat.push(d)\n } else {\n recurse(d[key])\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n","// useResizeColumns modified to:\n// - Resize based on actual DOM width of column, like in v6. Requires a\n// getDOMWidth() method to be defined on each column header and header group.\n// - Clean up touchend listeners properly (https://github.com/tannerlinsley/react-table/issues/2622)\n// - Optimize number of calls to dispatch (https://github.com/tannerlinsley/react-table/pull/3231)\n\nimport React from 'react'\nimport {\n actions,\n defaultColumn,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest\n} from 'react-table'\n\nimport { getFirstDefined } from './utils'\n\nlet passiveSupported = null\nfunction passiveEventSupported() {\n // memoize support to avoid adding multiple test events\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n }\n }\n\n window.addEventListener('test', null, options)\n window.removeEventListener('test', null, options)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\n// Default Column\ndefaultColumn.canResize = true\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport default function useResizeColumns(hooks) {\n hooks.getResizerProps = [defaultGetResizerProps]\n hooks.getHeaderProps.push({\n style: {\n position: 'relative'\n }\n })\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n}\n\nconst defaultGetResizerProps = (props, { instance, header }) => {\n const { dispatch } = instance\n\n const onResizeStart = (e, header) => {\n let isTouchEvent = false\n if (e.type === 'touchstart') {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n isTouchEvent = true\n }\n const headersToResize = getAllColumns(header)\n const headerIdWidths = headersToResize.map(d => [d.id, d.getDOMWidth()])\n const columnWidth = headerIdWidths.find(([id]) => id === header.id)[1]\n\n const clientX = isTouchEvent ? Math.round(e.touches[0].clientX) : e.clientX\n\n let raf\n let mostRecentClientX\n\n const dispatchMove = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnResizing, clientX: mostRecentClientX })\n }\n const dispatchEnd = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnDoneResizing })\n }\n\n const scheduleDispatchMoveOnNextAnimationFrame = clientXPos => {\n mostRecentClientX = clientXPos\n if (!raf) {\n raf = window.requestAnimationFrame(dispatchMove)\n }\n }\n\n const handlersAndEvents = {\n mouse: {\n moveEvent: 'mousemove',\n moveHandler: e => scheduleDispatchMoveOnNextAnimationFrame(e.clientX),\n upEvent: 'mouseup',\n upHandler: () => {\n document.removeEventListener('mousemove', handlersAndEvents.mouse.moveHandler)\n document.removeEventListener('mouseup', handlersAndEvents.mouse.upHandler)\n dispatchEnd()\n }\n },\n touch: {\n moveEvent: 'touchmove',\n moveHandler: e => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n scheduleDispatchMoveOnNextAnimationFrame(e.touches[0].clientX)\n return false\n },\n upEvent: 'touchend',\n upHandler: () => {\n document.removeEventListener(\n handlersAndEvents.touch.moveEvent,\n handlersAndEvents.touch.moveHandler\n )\n document.removeEventListener(\n handlersAndEvents.touch.upEvent,\n handlersAndEvents.touch.upHandler\n )\n dispatchEnd()\n }\n }\n }\n\n const events = isTouchEvent ? handlersAndEvents.touch : handlersAndEvents.mouse\n const passiveIfSupported = passiveEventSupported() ? { passive: false } : false\n document.addEventListener(events.moveEvent, events.moveHandler, passiveIfSupported)\n document.addEventListener(events.upEvent, events.upHandler, passiveIfSupported)\n\n dispatch({\n type: actions.columnStartResizing,\n columnId: header.id,\n columnWidth,\n headerIdWidths,\n clientX\n })\n }\n\n return [\n props,\n {\n onMouseDown: e => e.persist() || onResizeStart(e, header),\n onTouchStart: e => e.persist() || onResizeStart(e, header),\n style: {\n cursor: 'col-resize'\n },\n draggable: false,\n role: 'separator'\n }\n ]\n}\n\nuseResizeColumns.pluginName = 'useResizeColumns'\n\nfunction reducer(state, action) {\n if (action.type === actions.init) {\n return {\n columnResizing: {\n columnWidths: {}\n },\n ...state\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n columnResizing: {\n columnWidths: {}\n }\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { clientX, columnId, columnWidth, headerIdWidths } = action\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: clientX,\n headerIdWidths,\n columnWidth,\n isResizingColumn: columnId\n }\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX, columnWidth, headerIdWidths = [] } = state.columnResizing\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.max(headerWidth + headerWidth * percentageDeltaX, 0)\n })\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n columnWidths: {\n ...state.columnResizing.columnWidths,\n ...newColumnWidths\n }\n }\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: null,\n isResizingColumn: null\n }\n }\n }\n}\n\nconst useInstanceBeforeDimensions = instance => {\n const {\n flatHeaders,\n disableResizing,\n getHooks,\n state: { columnResizing }\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n flatHeaders.forEach(header => {\n const canResize = getFirstDefined(\n header.disableResizing === true ? false : undefined,\n disableResizing === true ? false : undefined,\n true\n )\n\n header.canResize = canResize\n header.width = getFirstDefined(\n columnResizing.columnWidths[header.id],\n header.originalWidth,\n header.width\n )\n header.isResizing = columnResizing.isResizingColumn === header.id\n\n if (canResize) {\n header.getResizerProps = makePropGetter(getHooks().getResizerProps, {\n instance: getInstance(),\n header\n })\n }\n })\n}\n\nfunction useInstance(instance) {\n const { plugins, dispatch, autoResetResize = true, columns } = instance\n\n ensurePluginOrder(plugins, ['useAbsoluteLayout'], 'useResizeColumns')\n\n const getAutoResetResize = useGetLatest(autoResetResize)\n useMountedLayoutEffect(() => {\n if (getAutoResetResize()) {\n dispatch({ type: actions.resetResize })\n }\n }, [columns])\n\n const resetResizing = React.useCallback(() => dispatch({ type: actions.resetResize }), [dispatch])\n\n Object.assign(instance, {\n resetResizing\n })\n}\n\nfunction getAllColumns(column) {\n const allColumns = []\n const recurseColumn = column => {\n if (column.columns && column.columns.length) {\n column.columns.forEach(recurseColumn)\n }\n allColumns.push(column)\n }\n recurseColumn(column)\n return allColumns\n}\n","// useRowSelect hook modified to:\n// - Set row.isSelected for sub rows when paginateExpandedRows = false\n// (https://github.com/TanStack/react-table/issues/2908)\n// - Include an instance.setRowsSelected() function to set selected rows.\n// This is also useful to clear all selection, since toggleAllRowsSelected()\n// only affects visible rows, excluding any selected rows that may be filtered out.\n// - Handle sub rows correctly when custom getSubRows is used\n// (https://github.com/TanStack/react-table/pull/2886)\n\nimport React from 'react'\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect\n} from 'react-table'\n\nconst pluginName = 'useRowSelect'\n\n// Actions\nactions.resetSelectedRows = 'resetSelectedRows'\nactions.toggleAllRowsSelected = 'toggleAllRowsSelected'\nactions.toggleRowSelected = 'toggleRowSelected'\nactions.toggleAllPageRowsSelected = 'toggleAllPageRowsSelected'\nactions.setRowsSelected = 'setRowsSelected'\n\nexport default function useRowSelect(hooks) {\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps]\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps]\n hooks.getToggleAllPageRowsSelectedProps = [defaultGetToggleAllPageRowsSelectedProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowSelect.pluginName = pluginName\n\nconst defaultGetToggleRowSelectedProps = (props, { instance, row }) => {\n const { manualRowSelectedKey = 'isSelected' } = instance\n let checked = false\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true\n } else {\n checked = row.isSelected\n }\n\n return [\n props,\n {\n onChange: e => {\n row.toggleRowSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer'\n },\n checked,\n title: 'Toggle Row Selected',\n indeterminate: row.isSomeSelected\n }\n ]\n}\n\nconst defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleAllRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer'\n },\n checked: instance.isAllRowsSelected,\n title: 'Toggle All Rows Selected',\n indeterminate: Boolean(\n !instance.isAllRowsSelected && Object.keys(instance.state.selectedRowIds).length\n )\n }\n]\n\nconst defaultGetToggleAllPageRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer'\n },\n checked: instance.isAllPageRowsSelected,\n title: 'Toggle All Current Page Rows Selected',\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n )\n }\n]\n\n// eslint-disable-next-line max-params\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n ...state\n }\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {}\n }\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action\n const { isAllRowsSelected, rowsById, nonGroupedRowsById = rowsById } = instance\n\n const selectAll = typeof setSelected !== 'undefined' ? setSelected : !isAllRowsSelected\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = Object.assign({}, state.selectedRowIds)\n\n if (selectAll) {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n selectedRowIds[rowId] = true\n })\n } else {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n delete selectedRowIds[rowId]\n })\n }\n\n return {\n ...state,\n selectedRowIds\n }\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action\n const { rowsById, selectSubRows = true } = instance\n const isSelected = state.selectedRowIds[id]\n const shouldExist = typeof setSelected !== 'undefined' ? setSelected : !isSelected\n\n if (isSelected === shouldExist) {\n return state\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && row.subRows) {\n return row.subRows.forEach(row => handleRowById(row.id))\n }\n }\n\n handleRowById(id)\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds\n }\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action\n const { page, rowsById, selectSubRows = true, isAllPageRowsSelected } = instance\n\n const selectAll = typeof setSelected !== 'undefined' ? setSelected : !isAllPageRowsSelected\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (!row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && row.subRows) {\n return row.subRows.forEach(row => handleRowById(row.id))\n }\n }\n\n page.forEach(row => handleRowById(row.id))\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds\n }\n }\n\n if (action.type === actions.setRowsSelected) {\n const { ids: setSelected } = action\n const { rowsById, selectSubRows = true } = instance\n\n const newSelectedRowIds = {}\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n // Select a filtered or (less likely) invalid row (rowsById only contains visible rows).\n if (!row) {\n newSelectedRowIds[id] = true\n return\n }\n\n if (!row.isGrouped) {\n newSelectedRowIds[id] = true\n }\n\n if (selectSubRows && row.subRows) {\n return row.subRows.forEach(row => handleRowById(row.id))\n }\n }\n\n setSelected.forEach(rowId => handleRowById(rowId))\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds\n }\n }\n return state\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n state: { selectedRowIds },\n selectSubRows = true,\n dispatch,\n page\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGroupBy', 'useSortBy', 'useExpanded', 'usePagination'],\n 'useRowSelect'\n )\n\n const selectedFlatRows = React.useMemo(() => {\n const selectedFlatRows = []\n\n // Ensure row.isSelected is set for sub rows when paginateExpandedRows = false\n // https://github.com/TanStack/react-table/issues/2908\n const handleRow = row => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds)\n : !!selectedRowIds[row.id]\n row.isSelected = !!isSelected\n row.isSomeSelected = isSelected === null\n\n if (isSelected) {\n selectedFlatRows.push(row)\n }\n\n if (row.subRows && row.subRows.length) {\n row.subRows.forEach(row => handleRow(row))\n }\n }\n\n rows.forEach(row => handleRow(row))\n\n return selectedFlatRows\n }, [rows, selectSubRows, selectedRowIds])\n\n let isAllRowsSelected = Boolean(\n Object.keys(nonGroupedRowsById).length && Object.keys(selectedRowIds).length\n )\n\n let isAllPageRowsSelected = isAllRowsSelected\n\n if (isAllRowsSelected) {\n if (Object.keys(nonGroupedRowsById).some(id => !selectedRowIds[id])) {\n isAllRowsSelected = false\n }\n }\n\n if (!isAllRowsSelected) {\n if (page && page.length && page.some(({ id }) => !selectedRowIds[id])) {\n isAllPageRowsSelected = false\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows })\n }\n }, [dispatch, data])\n\n const toggleAllRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n )\n\n const toggleAllPageRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n )\n\n const toggleRowSelected = React.useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n )\n\n const setRowsSelected = React.useCallback(\n ids => dispatch({ type: actions.setRowsSelected, ids }),\n [dispatch]\n )\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsSelectedProps = makePropGetter(getHooks().getToggleAllRowsSelectedProps, {\n instance: getInstance()\n })\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n selectedFlatRows,\n isAllRowsSelected,\n isAllPageRowsSelected,\n toggleRowSelected,\n toggleAllRowsSelected,\n setRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected\n })\n}\n\nfunction prepareRow(row, { instance }) {\n row.toggleRowSelected = set => instance.toggleRowSelected(row.id, set)\n\n row.getToggleRowSelectedProps = makePropGetter(instance.getHooks().getToggleRowSelectedProps, {\n instance: instance,\n row\n })\n}\n\nfunction getRowIsSelected(row, selectedRowIds) {\n if (selectedRowIds[row.id]) {\n return true\n }\n\n const subRows = row.subRows\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true\n let someSelected = false\n\n // TODO: For server-side pagination, if sub rows are paginated, there's no way to know \n // whether all sub rows are selected if not present on the page. Row selection needs \n // to be fully server-side, so this is a temporary workaround to prevent grouped\n // rows from always appearing as selected.\n const availableSubRows = subRows.filter(row => row != null)\n if (availableSubRows.length !== subRows.length) {\n return false\n }\n\n subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (getRowIsSelected(subRow, selectedRowIds)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n return allChildrenSelected ? true : someSelected ? null : false\n }\n\n return false\n}\n","// usePagination modified to:\n// - Allow pagination to be disabled. This makes it easier to use the hook\n// conditionally while keeping pagination functionality intact (e.g., the\n// pagination bar and API can still be used when pagination is disabled).\n// - Provide instance.pageRowCount for the number of paginated rows on the\n// page, excluding expanded rows when paginateExpandedRows = false.\n// - Support a rowCount option in useTable() for manual pagination as an\n// alternative to pageCount. Server-side pagination typically requires\n// the server-side row count to be known, so providing page count is\n// unnecessary when it can be derived from row count and page size.\n\nimport React from 'react'\nimport {\n actions,\n ensurePluginOrder,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest\n} from 'react-table'\n\nconst pluginName = 'usePagination'\n\n// Actions\nactions.resetPage = 'resetPage'\nactions.gotoPage = 'gotoPage'\nactions.setPageSize = 'setPageSize'\n\nexport default function usePagination(hooks) {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nusePagination.pluginName = pluginName\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pageSize: 10,\n pageIndex: 0,\n ...state\n }\n }\n\n if (action.type === actions.resetPage) {\n return {\n ...state,\n pageIndex: instance.initialState.pageIndex || 0\n }\n }\n\n if (action.type === actions.gotoPage) {\n const { pageCount, page } = instance\n const newPageIndex = functionalUpdate(action.pageIndex, state.pageIndex)\n let canNavigate = false\n\n if (newPageIndex > state.pageIndex) {\n // next page\n canNavigate = pageCount === -1 ? page.length >= state.pageSize : newPageIndex < pageCount\n } else if (newPageIndex < state.pageIndex) {\n // prev page\n canNavigate = newPageIndex > -1\n }\n\n if (!canNavigate) {\n return state\n }\n\n return {\n ...state,\n pageIndex: newPageIndex\n }\n }\n\n if (action.type === actions.setPageSize) {\n const { pageSize } = action\n const topRowIndex = state.pageSize * state.pageIndex\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...state,\n pageIndex,\n pageSize\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n rows,\n autoResetPage = true,\n manualExpandedKey = 'expanded',\n plugins,\n pageCount: userPageCount,\n paginateExpandedRows = true,\n expandSubRows = true,\n disablePagination,\n state: { pageIndex, expanded, globalFilter, filters, groupBy, sortBy },\n dispatch,\n data,\n manualPagination,\n // User-specified row count when using manual pagination. Takes precedence over pageCount.\n rowCount: userRowCount\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useGlobalFilter', 'useFilters', 'useGroupBy', 'useSortBy', 'useExpanded'],\n 'usePagination'\n )\n\n const getAutoResetPage = useGetLatest(autoResetPage)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPage()) {\n dispatch({ type: actions.resetPage })\n }\n }, [dispatch, manualPagination ? null : data, globalFilter, filters, groupBy, sortBy])\n\n // Disabling pagination effectively means setting the page size to the table size.\n // This is best done by the hook, rather than the user, because the row count\n // isn't known until other row-manipulating hooks have run (e.g., useGroupBy).\n const pageSize = disablePagination ? rows.length : instance.state.pageSize\n\n let pageCount\n if (manualPagination) {\n // Prefer user-specified row count for manual pagination. Server-side pagination\n // typically requires the server-side row count to be known, so providing page count\n // is unnecessary when it can be derived from row count and page size.\n pageCount =\n userRowCount != null && userRowCount >= 0 ? Math.ceil(userRowCount / pageSize) : userPageCount\n } else {\n pageCount = Math.ceil(rows.length / pageSize)\n }\n\n const pageOptions = React.useMemo(\n () => (pageCount > 0 ? [...new Array(pageCount)].fill(null).map((d, i) => i) : []),\n [pageCount]\n )\n\n const [page, pageRowCount] = React.useMemo(() => {\n let page\n\n if (manualPagination) {\n page = rows\n } else {\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n page = rows.slice(pageStart, pageEnd)\n }\n\n const pageRowCount = page.length\n\n if (paginateExpandedRows) {\n return [page, pageRowCount]\n }\n\n return [expandRows(page, { manualExpandedKey, expanded, expandSubRows }), pageRowCount]\n }, [\n expandSubRows,\n expanded,\n manualExpandedKey,\n manualPagination,\n pageIndex,\n pageSize,\n paginateExpandedRows,\n rows\n ])\n\n const canPreviousPage = pageIndex > 0\n const canNextPage = pageCount === -1 ? page.length >= pageSize : pageIndex < pageCount - 1\n\n const gotoPage = React.useCallback(\n pageIndex => {\n dispatch({ type: actions.gotoPage, pageIndex })\n },\n [dispatch]\n )\n\n const previousPage = React.useCallback(() => {\n return gotoPage(old => old - 1)\n }, [gotoPage])\n\n const nextPage = React.useCallback(() => {\n return gotoPage(old => old + 1)\n }, [gotoPage])\n\n const setPageSize = React.useCallback(\n pageSize => {\n dispatch({ type: actions.setPageSize, pageSize })\n },\n [dispatch]\n )\n\n Object.assign(instance, {\n pageOptions,\n pageCount,\n page,\n pageRowCount,\n canPreviousPage,\n canNextPage,\n gotoPage,\n previousPage,\n nextPage,\n setPageSize\n })\n}\n\nfunction expandRows(rows, { manualExpandedKey, expanded, expandSubRows = true }) {\n const expandedRows = []\n\n const handleRow = (row, addToExpandedRows = true) => {\n row.isExpanded = (row.original && row.original[manualExpandedKey]) || expanded[row.id]\n\n row.canExpand = row.subRows && !!row.subRows.length\n\n if (addToExpandedRows) {\n expandedRows.push(row)\n }\n\n if (row.subRows && row.subRows.length && row.isExpanded) {\n row.subRows.forEach(row => handleRow(row, expandSubRows))\n }\n }\n\n rows.forEach(row => handleRow(row))\n\n return expandedRows\n}\n","export function sum(values) {\n const numbers = omitMissingNumbers(values)\n if (numbers.length === 0) {\n return 0\n }\n const result = numbers.reduce((a, b) => a + b, 0)\n // Adjust for floating-point precision errors\n return round(result, 12)\n}\n\nexport function mean(values) {\n const numbers = omitMissingNumbers(values)\n if (numbers.length === 0) {\n return NaN\n }\n const result = sum(numbers) / numbers.length\n // Adjust for floating-point precision errors\n return round(result, 12)\n}\n\nexport function maxNumber(values) {\n const numbers = omitMissingNumbers(values)\n if (numbers.length === 0) {\n return NaN\n }\n return Math.max.apply(null, numbers)\n}\n\nexport function minNumber(values) {\n const numbers = omitMissingNumbers(values)\n if (numbers.length === 0) {\n return NaN\n }\n return Math.min.apply(null, numbers)\n}\n\nexport function median(values) {\n const numbers = omitMissingNumbers(values)\n if (numbers.length === 0) {\n return NaN\n }\n numbers.sort((a, b) => a - b)\n if (numbers.length % 2 === 1) {\n return numbers[(numbers.length - 1) / 2]\n } else {\n return mean(numbers.slice(numbers.length / 2 - 1, numbers.length / 2 + 1))\n }\n}\n\nexport function max(values) {\n let maxValue\n values.forEach(value => {\n if (maxValue == null || value > maxValue) {\n maxValue = value\n }\n })\n return maxValue\n}\n\nexport function min(values) {\n let minValue\n values.forEach(value => {\n if (minValue == null || value < minValue) {\n minValue = value\n }\n })\n return minValue\n}\n\nexport function count(values) {\n return values.length\n}\n\nexport function unique(values) {\n return [...new Set(values)].join(', ')\n}\n\nexport function frequency(values) {\n const counts = {}\n values.forEach(value => {\n counts[value] = counts[value] || 0\n counts[value] += 1\n })\n const strs = Object.keys(counts).map(val => {\n return val + (counts[val] > 1 ? ` (${counts[val]})` : '')\n })\n return strs.join(', ')\n}\n\nconst numericAggregators = {\n mean,\n sum,\n max: maxNumber,\n min: minNumber,\n median\n}\n\nconst defaultAggregators = {\n max,\n min,\n count,\n unique,\n frequency\n}\n\nexport function getAggregateFunction(name, type) {\n if (type === 'numeric' && numericAggregators[name]) {\n return numericAggregators[name]\n }\n return defaultAggregators[name]\n}\n\nexport function round(n, digits = 3) {\n if (!Number.isFinite(n)) {\n return n\n }\n digits = digits > 0 ? digits : 0\n const c = Math.pow(10, digits)\n // Round away from zero rather than up (Math.round rounds -1.5 to -1)\n return (Math.sign(n) * Math.round(Math.abs(n) * c)) / c\n}\n\nfunction omitMissingNumbers(values) {\n return values.filter(n => n != null && !Number.isNaN(n))\n}\n","import React, { Fragment } from 'react'\nimport { hydrate } from 'reactR'\n\nimport WidgetContainer from './WidgetContainer'\nimport { getAggregateFunction } from './aggregators'\nimport {\n classNames,\n escapeRegExp,\n getFirstDefined,\n getLeafColumns,\n removeEmptyProps\n} from './utils'\n\n// Use zero-width spaces to preserve the height of empty cells\nexport const emptyValue = '\\u200b'\n\n// Override default subRows property\nconst subRowsKey = '.subRows'\n\nexport const rowSelectedKey = '.selected'\nexport const rowExpandedKey = '.expanded'\n\nexport const rowStateKey = '__state'\n\nexport function getSubRows(row) {\n return row[subRowsKey] || []\n}\n\n// Normalize raw column data from R for use in reactable\nexport function normalizeColumnData(data, columns) {\n for (let col of columns) {\n if (col.type === 'numeric' && data[col.id]) {\n convertJSONNumbers(data[col.id])\n }\n }\n return columnsToRows(data)\n}\n\n// Convert JSON-serialized numbers to JavaScript numbers in place. jsonlite::toJSON() converts\n// numeric NA, NaN, Inf, -Inf to strings, as there isn't a way to represent them in JSON otherwise.\nexport function convertJSONNumbers(arr) {\n for (let i = 0; i < arr.length; i++) {\n let n = arr[i]\n // Numeric columns can have nulls in pre-grouped data\n if (typeof n === 'number' || n == null) {\n continue\n }\n if (n === 'NA') {\n n = null\n } else if (n === 'NaN') {\n n = NaN\n } else if (n === 'Inf') {\n n = Infinity\n } else if (n === '-Inf') {\n n = -Infinity\n } else {\n n = Number(n)\n }\n arr[i] = n\n }\n}\n\n// Convert column-based data to rows\n// e.g. { a: [1, 2], b: ['x', 'y'] } to [{ a: 1, b: 'x' }, { a: 2, b: 'y' }]\nexport function columnsToRows(columns) {\n const names = Object.keys(columns)\n if (names.length === 0) {\n return []\n }\n\n if (columns[rowStateKey]) {\n columns[rowStateKey] = normalizeColumnData(columns[rowStateKey], numericRowStateColumns)\n }\n\n const rows = new Array(columns[names[0]].length)\n for (let i = 0; i < rows.length; i++) {\n rows[i] = {}\n for (let name of names) {\n const value = columns[name][i]\n if (name === subRowsKey) {\n if (value instanceof Object) {\n rows[i][name] = columnsToRows(value)\n }\n } else {\n rows[i][name] = value\n }\n }\n }\n return rows\n}\n\nconst numericRowStateColumns = [{ id: 'index', type: 'numeric' }]\nexport function materializedRowsToData(rows, paginateSubRows) {\n const parentRowIds = {}\n return rows.map(row => {\n let parentId\n let subRowCount\n if (paginateSubRows) {\n parentId = parentRowIds[row.id]\n subRowCount = row.subRows.length\n row.subRows.forEach(subRow => {\n parentRowIds[subRow.id] = row.id\n })\n }\n const rowState = {\n id: row.id,\n index: row.index,\n grouped: row.isGrouped ? true : null,\n parentId,\n subRowCount,\n // Currently unused\n expanded: row.isExpanded ? true : null,\n selected: row.isSelected ? true : null\n }\n removeEmptyProps(rowState)\n const dataRow = { ...row.values, [rowStateKey]: rowState }\n if (!paginateSubRows) {\n if (row.subRows && row.subRows.length > 0) {\n dataRow[subRowsKey] = materializedRowsToData(row.subRows)\n }\n }\n return dataRow\n })\n}\n\nexport function RawHTML({ html, className, ...props }) {\n return (\n \n )\n}\n\nexport function buildColumnDefs(columns, groups, tableProps = {}) {\n const { sortable, defaultSortDesc, showSortIcon, showSortable, filterable, resizable } =\n tableProps\n\n columns = columns.map(column => {\n let col = { ...column }\n // Always access column data by ID, not a path with periods or brackets\n col.accessor = row => row[col.id]\n\n if (typeof col.aggregate === 'string') {\n col.aggregate = getAggregateFunction(col.aggregate, col.type)\n }\n\n const sortMethod = createCompareFunction({ type: col.type, naLast: col.sortNALast })\n col.sortType = function sortType(a, b, id, desc) {\n return sortMethod(a.values[id], b.values[id], desc)\n }\n\n // Translate v6 props (e.g. sortable) to v7 (e.g. disableSortBy)\n col.sortable = getFirstDefined(col.sortable, sortable)\n col.disableSortBy = !col.sortable\n\n col.defaultSortDesc = getFirstDefined(col.defaultSortDesc, defaultSortDesc)\n col.sortDescFirst = col.defaultSortDesc\n\n col.filterable = getFirstDefined(col.filterable, filterable)\n col.disableFilters = !col.filterable\n\n if (col.searchable === false) {\n col.disableGlobalFilter = true\n }\n // Disable searching for hidden columns by default, but still allow it if requested\n if (col.show === false && col.searchable !== true) {\n col.disableGlobalFilter = true\n }\n\n // Default column filters\n // - numeric columns: string starts with\n // - other columns: case-insensitive substring\n if (col.type === 'numeric') {\n col.createMatcher = createStartsWithMatcher\n } else {\n col.createMatcher = createSubstringMatcher\n }\n col.filter = (rows, columnIds, filterValue) => {\n // For individual column filters, columnIds will always contain one column ID\n const id = columnIds[0]\n if (typeof col.filterMethod === 'function') {\n return col.filterMethod(rows, id, filterValue)\n }\n const match = col.createMatcher(filterValue)\n return rows.filter(row => {\n const value = row.values[id]\n return match(value)\n })\n }\n\n if (col.type === 'numeric') {\n // Right-align numbers by default\n col.align = col.align || 'right'\n } else {\n col.align = col.align || 'left'\n }\n\n col.vAlign = col.vAlign || 'top'\n col.headerVAlign = col.headerVAlign || 'top'\n\n const { width, minWidth, maxWidth } = col\n col.minWidth = getFirstDefined(width, minWidth, 100)\n col.maxWidth = getFirstDefined(width, maxWidth, Number.MAX_SAFE_INTEGER)\n\n // maxWidth takes priority over minWidth\n col.minWidth = Math.min(col.minWidth, col.maxWidth)\n\n // Start column width at min width / flex width, like in v6\n col.width = col.minWidth\n\n col.resizable = getFirstDefined(col.resizable, resizable)\n // Disable resizing on fixed width columns\n if (col.minWidth === col.maxWidth) {\n col.resizable = false\n }\n col.disableResizing = !col.resizable\n\n col.Cell = function Cell(cellInfo, state) {\n let value = cellInfo.value\n\n const isMissingValue = value == null || Number.isNaN(value)\n if (isMissingValue) {\n value = col.na\n }\n\n if (!isMissingValue && col.format && col.format.cell) {\n value = formatValue(value, col.format.cell)\n }\n\n if (col.cell) {\n if (typeof col.cell === 'function') {\n value = col.cell({ ...cellInfo, value }, state)\n }\n // Make sure we don't render aggregated cells for R renderers\n if (Array.isArray(col.cell) && !cellInfo.aggregated) {\n value = col.cell[cellInfo.index]\n if (value) {\n value = hydrate({ Fragment, WidgetContainer }, value)\n }\n }\n }\n\n // Use zero-width spaces to preserve the height of blank cells\n if (value == null || value === '') {\n value = emptyValue\n }\n\n let content\n if (React.isValidElement(value)) {\n content = value\n } else if (col.html) {\n // Render inline to align with the expander\n content = \n } else {\n content = String(value)\n }\n\n return content\n }\n\n if (col.grouped) {\n col.Grouped = function Grouped(cellInfo, state) {\n let value = cellInfo.value\n\n const isMissingValue = value == null || Number.isNaN(value)\n if (isMissingValue) {\n value = col.na\n }\n\n if (!isMissingValue && col.format && col.format.cell) {\n value = formatValue(value, col.format.cell)\n }\n\n value = col.grouped({ ...cellInfo, value }, state)\n\n // Use zero-width spaces to preserve the height of blank cells\n if (value == null || value === '') {\n value = emptyValue\n }\n\n let content\n if (React.isValidElement(value)) {\n content = value\n } else if (col.html) {\n // Render inline to align with the expander\n content = \n } else {\n content = String(value)\n }\n return content\n }\n } else {\n // Render grouped values the same as regular cells\n col.Grouped = function Grouped(cellInfo, state) {\n const value = col.Cell(cellInfo, state)\n return (\n \n {value}\n {cellInfo.subRows && ` (${cellInfo.subRows.length})`}\n \n )\n }\n }\n\n col.Aggregated = function Aggregated(cellInfo, state) {\n let value = cellInfo.value\n if (value != null && col.format && col.format.aggregated) {\n value = formatValue(value, col.format.aggregated)\n }\n if (col.aggregated) {\n value = col.aggregated({ ...cellInfo, value }, state)\n }\n if (value == null) {\n value = ''\n }\n let content\n if (React.isValidElement(value)) {\n content = value\n } else if (col.html) {\n return \n } else {\n content = String(value)\n }\n return content\n }\n\n col.Header = function Header(column, state) {\n let header = col.name\n\n if (col.header != null) {\n if (typeof col.header === 'function') {\n header = col.header(column, state)\n } else {\n header = hydrate({ Fragment, WidgetContainer }, col.header)\n }\n }\n\n let content\n if (React.isValidElement(header)) {\n content = header\n } else if (col.html) {\n content = \n } else {\n content = header != null ? String(header) : ''\n }\n\n // Add sort icon to column header\n if (col.sortable && showSortIcon) {\n const sortClass = showSortable ? 'rt-sort' : ''\n // Ensure text is truncated with an ellipsis when text wrapping is off.\n // The outer container is a flex container, so we need to wrap text in a\n // block element to allow text to shrink below their minimum content size.\n content = col.html ? content :
{content}
\n\n if (col.align === 'right') {\n return (\n
\n \n {content}\n
\n )\n } else {\n return (\n
\n {content}\n \n
\n )\n }\n }\n return content\n }\n\n if (col.footer != null) {\n col.Footer = function Footer(column, state) {\n let footer\n if (typeof col.footer === 'function') {\n footer = col.footer(column, state)\n } else {\n footer = hydrate({ Fragment, WidgetContainer }, col.footer)\n }\n if (React.isValidElement(footer)) {\n return footer\n } else if (col.html) {\n return \n } else {\n return footer != null ? String(footer) : ''\n }\n }\n } else {\n // Set default content for an empty footer (otherwise defaults to  )\n col.Footer = emptyValue\n }\n\n const colAlignClass = getAlignClass(col.align)\n const cellVAlignClass = getVAlignClass(col.vAlign)\n const headerVAlignClass = getVAlignClass(col.headerVAlign)\n\n col.headerClassName = classNames(colAlignClass, headerVAlignClass, col.headerClassName)\n col.footerClassName = classNames(colAlignClass, cellVAlignClass, col.footerClassName)\n\n col.getProps = (rowInfo, column, state) => {\n let props = {\n className: classNames(colAlignClass, cellVAlignClass)\n }\n if (col.className) {\n let className\n if (typeof col.className === 'function') {\n className = col.className(rowInfo, column, state)\n } else if (Array.isArray(col.className)) {\n className = col.className[rowInfo.index]\n } else {\n className = col.className\n }\n props.className = classNames(props.className, className)\n }\n if (col.style) {\n let style\n if (typeof col.style === 'function') {\n style = col.style(rowInfo, column, state)\n } else if (Array.isArray(col.style)) {\n style = col.style[rowInfo.index]\n } else {\n style = col.style\n }\n props.style = style\n }\n return props\n }\n\n return col\n })\n\n if (groups) {\n columns = addColumnGroups(columns, groups)\n columns.forEach((col, i) => {\n // The column group ID is arbitrary and just has to be unique\n col.id = `group_${i}`\n if (col.name != null || col.header != null) {\n col.Header = function Header(column, state) {\n let header = col.name\n if (col.header) {\n if (typeof col.header === 'function') {\n header = col.header(column, state)\n } else {\n header = hydrate({ Fragment, WidgetContainer }, col.header)\n }\n }\n if (React.isValidElement(header)) {\n return header\n } else if (col.html) {\n return \n } else {\n return header != null ? String(header) : ''\n }\n }\n } else {\n col.Header = emptyValue\n }\n\n // Enable resizing if a single leaf column can be resized\n const leafColumns = getLeafColumns(col)\n if (leafColumns.every(col => col.disableResizing)) {\n col.disableResizing = true\n }\n\n col.align = col.align || 'center'\n col.headerVAlign = col.headerVAlign || 'top'\n\n const colAlignClass = getAlignClass(col.align)\n const headerVAlignClass = getVAlignClass(col.headerVAlign)\n\n col.headerClassName = classNames(colAlignClass, headerVAlignClass, col.headerClassName)\n })\n }\n\n return columns\n}\n\n// Add groups to an array of column definitions\nexport function addColumnGroups(columns, groups) {\n groups.forEach(group => {\n group = { ...group }\n const groupIds = group.columns\n group.columns = []\n columns = columns.reduce((newCols, col) => {\n if (col.id === groupIds[0]) {\n newCols.push(group)\n group.columns.push(col)\n } else if (groupIds.includes(col.id)) {\n group.columns.push(col)\n } else {\n newCols.push(col)\n }\n return newCols\n }, [])\n })\n\n // Create column groups for ungrouped columns, combining adjacent columns\n const newCols = []\n let lastGroup\n columns.forEach(col => {\n if (col.columns) {\n // Already a header group\n newCols.push(col)\n lastGroup = null\n } else {\n // Individual column\n if (!lastGroup) {\n lastGroup = { columns: [], isUngrouped: true }\n newCols.push(lastGroup)\n }\n lastGroup.columns.push(col)\n }\n })\n columns = newCols\n\n return columns\n}\n\n// Compare function that handles numbers and optionally sorts missing values (null, NaN) last.\nexport function createCompareFunction({ type, naLast } = {}) {\n return function compare(a, b, desc) {\n if (type === 'numeric') {\n a = Number.isNaN(a) ? null : a\n b = Number.isNaN(b) ? null : b\n } else {\n a = typeof a === 'string' ? a.toLowerCase() : a\n b = typeof b === 'string' ? b.toLowerCase() : b\n }\n if (a === b) {\n return 0\n }\n if (a == null) {\n if (naLast) return desc ? -1 : 1\n return -1\n }\n if (b == null) {\n if (naLast) return desc ? 1 : -1\n return 1\n }\n if (a > b) {\n return 1\n }\n if (a < b) {\n return -1\n }\n return 0\n }\n}\n\nexport function formatValue(value, options) {\n let {\n prefix,\n suffix,\n digits,\n separators,\n percent,\n currency,\n datetime,\n date,\n time,\n hour12,\n locales\n } = options\n\n if (typeof value === 'number') {\n if (separators || percent || currency || digits != null || locales) {\n // While Number.toLocaleString supports up to 20 fraction digits,\n // IE11 only supports up to 18 digits when formatting as percentages.\n let maximumFractionDigits = 18\n const options = { useGrouping: separators ? true : false }\n if (percent) {\n options.style = 'percent'\n // Use lower fraction digits to mitigate floating-point precision errors with\n // percent formatting, which can happen when using the Intl polyfill in V8.\n // This is the same as the rounding digits used by the aggregators.\n maximumFractionDigits = 12\n }\n if (currency) {\n options.style = 'currency'\n options.currency = currency\n } else if (digits != null) {\n options.minimumFractionDigits = Math.min(digits, maximumFractionDigits)\n options.maximumFractionDigits = Math.min(digits, maximumFractionDigits)\n } else {\n options.maximumFractionDigits = maximumFractionDigits\n }\n value = value.toLocaleString(locales || undefined, options)\n }\n }\n if (datetime || date || time) {\n locales = locales || undefined\n const options = {}\n if (hour12 != null) {\n options.hour12 = hour12\n }\n if (datetime) {\n value = new Date(value).toLocaleString(locales, options)\n } else if (date) {\n // Format YYYY-MM-DD dates in local time, not UTC.\n // Ignore ISO 8601 dates otherwise, i.e., YYYY-MM-DDTHH:MM:SS[Z]\n // http://blog.dygraphs.com/2012/03/javascript-and-dates-what-mess.html\n if (value.includes('-') && !value.includes('T') && !value.includes('Z')) {\n value = value.replace(/-/g, '/')\n }\n value = new Date(value).toLocaleDateString(locales, options)\n } else if (time) {\n value = new Date(value).toLocaleTimeString(locales, options)\n }\n }\n if (prefix != null) {\n value = value != null ? value : ''\n value = String(prefix) + value\n }\n if (suffix != null) {\n value = value != null ? value : ''\n value = value + String(suffix)\n }\n return value\n}\n\nexport function createStartsWithMatcher(str) {\n const regex = new RegExp('^' + escapeRegExp(str), 'i')\n return value => {\n // Ignore columns without data (don't match on \"undefined\"). This shouldn't\n // happen unless a data-less column (e.g., selection) is manually filtered via API.\n if (value === undefined) {\n return false\n }\n return regex.test(value)\n }\n}\n\nexport function createSubstringMatcher(str) {\n const regex = new RegExp(escapeRegExp(str), 'i')\n return value => {\n // Ignore columns without data (don't match on \"undefined\"). This shouldn't\n // happen unless a data-less column (e.g., selection) is manually filtered via API.\n if (value === undefined) {\n return false\n }\n return regex.test(value)\n }\n}\n\nfunction getAlignClass(align) {\n return `rt-align-${align}`\n}\n\nfunction getVAlignClass(vAlign) {\n if (vAlign === 'top') {\n return ''\n }\n return `rt-valign-${vAlign}`\n}\n","import React, { Fragment } from 'react'\nimport {\n safeUseLayoutEffect,\n useExpanded,\n useFilters,\n useGetLatest,\n useGlobalFilter,\n useMountedLayoutEffect,\n useSortBy,\n useTable\n} from 'react-table'\nimport PropTypes from 'prop-types'\nimport { hydrate } from 'reactR'\n\nimport Pagination from './Pagination'\nimport WidgetContainer from './WidgetContainer'\nimport useFlexLayout from './useFlexLayout'\nimport useStickyColumns from './useStickyColumns'\nimport useGroupBy from './useGroupBy'\nimport useResizeColumns from './useResizeColumns'\nimport useRowSelect from './useRowSelect'\nimport usePagination from './usePagination'\nimport useMeta from './useMeta'\nimport {\n buildColumnDefs,\n emptyValue,\n getSubRows,\n materializedRowsToData,\n normalizeColumnData,\n rowExpandedKey,\n rowSelectedKey,\n rowStateKey,\n RawHTML\n} from './columns'\nimport { defaultLanguage, renderTemplate } from './language'\nimport { createTheme, css } from './theme'\nimport {\n classNames,\n convertRowsToV6,\n getLeafColumns,\n rowsToCSV,\n downloadCSV,\n useAsyncDebounce\n} from './utils'\n\nimport './react-table.css'\nimport './reactable.css'\n\nconst tableInstances = {}\nexport function getInstance(tableId) {\n if (!tableId) {\n throw new Error('A reactable table ID must be provided')\n }\n const getInstance = tableInstances[tableId]\n if (!getInstance) {\n throw new Error(`reactable instance '${tableId}' not found`)\n }\n return getInstance()\n}\n\nexport function getState(tableId) {\n return getInstance(tableId).state\n}\n\nexport function setFilter(tableId, columnId, value) {\n getInstance(tableId).setFilter(columnId, value)\n}\n\nexport function setAllFilters(tableId, value) {\n getInstance(tableId).setAllFilters(value)\n}\n\nexport function setSearch(tableId, value) {\n getInstance(tableId).setGlobalFilter(value)\n}\n\nexport function toggleGroupBy(tableId, columnId, isGrouped) {\n getInstance(tableId).toggleGroupBy(columnId, isGrouped)\n}\n\nexport function setGroupBy(tableId, columnIds) {\n getInstance(tableId).setGroupBy(columnIds)\n}\n\nexport function toggleAllRowsExpanded(tableId, isExpanded) {\n getInstance(tableId).toggleAllRowsExpanded(isExpanded)\n}\n\nexport function downloadDataCSV(tableId, filename = 'data.csv', options = {}) {\n getInstance(tableId).downloadDataCSV(filename, options)\n}\n\nexport function getDataCSV(tableId, options = {}) {\n return getInstance(tableId).getDataCSV(options)\n}\n\nexport function setMeta(tableId, meta) {\n getInstance(tableId).setMeta(meta)\n}\n\nexport function toggleHideColumn(tableId, columnId, isHidden) {\n getInstance(tableId).toggleHideColumn(columnId, isHidden)\n}\n\nexport function setHiddenColumns(tableId, columns) {\n getInstance(tableId).setHiddenColumns(columns)\n}\n\nexport function setData(tableId, data, options) {\n getInstance(tableId).setData(data, options)\n}\n\nexport function onStateChange(tableId, listenerFn) {\n return getInstance(tableId).onStateChange(listenerFn)\n}\n\nexport function gotoPage(tableId, pageIndex) {\n getInstance(tableId).gotoPage(pageIndex)\n}\n\nexport function setPageSize(tableId, pageSize) {\n getInstance(tableId).setPageSize(pageSize)\n}\n\nexport default function Reactable({\n data,\n columns,\n columnGroups,\n sortable,\n defaultSortDesc,\n showSortIcon,\n showSortable,\n filterable,\n resizable,\n theme,\n language,\n dataKey,\n ...rest\n}) {\n data = normalizeColumnData(data, columns)\n columns = buildColumnDefs(columns, columnGroups, {\n sortable,\n defaultSortDesc,\n showSortIcon,\n showSortable,\n filterable,\n resizable\n })\n\n theme = createTheme(theme) || {}\n\n language = { ...defaultLanguage, ...language }\n for (let key in language) {\n language[key] = language[key] || null\n }\n\n return (\n \n )\n}\n\n// Objects and arrays must be memoized to prevent unnecessary recalculations of data\nfunction useMemoizedObject(obj) {\n const objStr = JSON.stringify(obj)\n return React.useMemo(() => {\n return obj\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [objStr])\n}\n\nexport function ReactableData({\n data,\n columns,\n columnGroups,\n sortable,\n defaultSortDesc,\n showSortIcon,\n showSortable,\n filterable,\n resizable,\n // Controlled state\n sortBy,\n filters,\n searchValue,\n groupBy,\n expanded,\n selectedRowIds,\n ...rest\n}) {\n data = React.useMemo(\n () => normalizeColumnData(data, columns),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n )\n columns = React.useMemo(\n () =>\n buildColumnDefs(columns, columnGroups, {\n sortable,\n defaultSortDesc,\n showSortIcon,\n showSortable,\n filterable,\n resizable\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n )\n\n // Objects and arrays must be memoized to prevent unnecessary recalculations of data\n sortBy = useMemoizedObject(sortBy || [])\n filters = useMemoizedObject(filters || [])\n groupBy = useMemoizedObject(groupBy || [])\n expanded = useMemoizedObject(expanded || {})\n selectedRowIds = useMemoizedObject(selectedRowIds || {})\n\n return (\n \n )\n}\n\nconst RootComponent = React.forwardRef(function RootComponent({ className, ...rest }, ref) {\n // Keep ReactTable class for legacy compatibility (deprecated in v0.3.0)\n return
\n})\n\nconst TableComponent = React.forwardRef(function TableComponent({ className, ...rest }, ref) {\n return
\n})\n\nfunction TheadComponent({ className, ...rest }) {\n return
\n}\n\nfunction TbodyComponent({ className, ...rest }) {\n return
\n}\n\nfunction TfootComponent({ className, ...rest }) {\n return
\n}\n\nfunction TrGroupComponent({ className, ...rest }) {\n return
\n}\n\nfunction TrComponent({ className, ...rest }) {\n return
\n}\n\nconst ThComponent = React.forwardRef(function ThComponent(props, ref) {\n let {\n canSort,\n sortDescFirst,\n isSorted,\n isSortedDesc,\n toggleSortBy,\n canResize,\n isResizing,\n className,\n innerClassName,\n children,\n ...thProps\n } = props\n\n const [skipNextSort, setSkipNextSort] = React.useState(false)\n\n if (canSort) {\n const currentSortOrder = isSorted ? (isSortedDesc ? 'descending' : 'ascending') : 'none'\n const defaultSortOrder = sortDescFirst ? 'descending' : 'ascending'\n const toggleSort = isMultiSort => {\n let sortDesc = isSorted ? !isSortedDesc : sortDescFirst\n // Allow sort clearing if multi-sorting\n if (isMultiSort) {\n sortDesc = null\n }\n toggleSortBy && toggleSortBy(sortDesc, isMultiSort)\n }\n thProps = {\n ...thProps,\n 'aria-sort': currentSortOrder,\n tabIndex: '0',\n onClick: e => {\n if (!skipNextSort) {\n toggleSort(e.shiftKey)\n }\n },\n onKeyPress: e => {\n const keyCode = e.which || e.keyCode\n if (keyCode === 13 || keyCode === 32) {\n toggleSort(e.shiftKey)\n }\n },\n onMouseUp: () => {\n // Prevent resizer clicks from toggling sort (since resizer is in the header)\n if (isResizing) {\n setSkipNextSort(true)\n } else {\n setSkipNextSort(false)\n }\n },\n onMouseDown: e => {\n // Prevent text selection on double clicks, only when sorting\n if (e.detail > 1 || e.shiftKey) {\n e.preventDefault()\n }\n },\n // Focus indicator for keyboard navigation\n 'data-sort-hint': isSorted ? null : defaultSortOrder\n }\n }\n\n // The inner wrapper is a block container that prevents the outer flex container from\n // breaking text overflow and ellipsis truncation. Text nodes can't shrink below their\n // minimum content size.\n return (\n \n
{children}
\n
\n )\n})\n\nThComponent.propTypes = {\n defaultSortOrder: PropTypes.string,\n canSort: PropTypes.bool,\n sortDescFirst: PropTypes.bool,\n isSorted: PropTypes.bool,\n isSortedDesc: PropTypes.bool,\n toggleSortBy: PropTypes.func,\n canResize: PropTypes.bool,\n isResizing: PropTypes.bool,\n className: PropTypes.string,\n innerClassName: PropTypes.string,\n children: PropTypes.node\n}\n\nfunction TdComponent({ className, innerClassName, children, ...rest }) {\n // The inner wrapper is a block container that prevents the outer flex container from\n // breaking text overflow and ellipsis truncation. Text nodes can't shrink below their\n // minimum content size.\n return (\n
\n
{children}
\n
\n )\n}\n\n// Get class names for a cell theme. Padding is set on the inner wrapper to prevent\n// the inner wrapper (with overflow hidden) from clipping borders, box shadows, etc.\nfunction getCellTheme(style) {\n if (!style) {\n return {}\n }\n if (style.padding != null) {\n const { padding, ...cellStyle } = style\n return {\n className: css(cellStyle),\n innerClassName: css({ padding })\n }\n }\n return { className: css(style) }\n}\n\nfunction ResizerComponent({ onMouseDown, onTouchStart, className, ...rest }) {\n return (\n \n )\n}\n\nResizerComponent.propTypes = {\n onMouseDown: PropTypes.func,\n onTouchStart: PropTypes.func,\n className: PropTypes.string\n}\n\nclass RowDetails extends React.Component {\n componentDidMount() {\n if (window.Shiny && window.Shiny.bindAll) {\n window.Shiny.bindAll(this.el)\n }\n }\n\n componentWillUnmount() {\n if (window.Shiny && window.Shiny.unbindAll) {\n window.Shiny.unbindAll(this.el)\n }\n }\n\n render() {\n const { children, html } = this.props\n let props = { ref: el => (this.el = el) }\n if (html) {\n props = { ...props, dangerouslySetInnerHTML: { __html: html } }\n } else {\n props = { ...props, children }\n }\n return
\n }\n}\n\nRowDetails.propTypes = {\n children: PropTypes.node,\n html: PropTypes.string\n}\n\nfunction ExpanderComponent({ isExpanded, className, 'aria-label': ariaLabel }) {\n return (\n \n \n ​\n \n \n )\n}\n\nExpanderComponent.propTypes = {\n isExpanded: PropTypes.bool,\n className: PropTypes.string,\n 'aria-label': PropTypes.string\n}\n\nfunction FilterComponent({\n filterValue,\n setFilter,\n className,\n placeholder,\n 'aria-label': ariaLabel\n}) {\n return (\n setFilter(e.target.value || undefined)}\n placeholder={placeholder}\n aria-label={ariaLabel}\n />\n )\n}\n\nFilterComponent.propTypes = {\n filterValue: PropTypes.string,\n setFilter: PropTypes.func.isRequired,\n className: PropTypes.string,\n placeholder: PropTypes.string,\n 'aria-label': PropTypes.string\n}\n\nfunction SearchComponent({\n searchValue,\n setSearch,\n className,\n placeholder,\n 'aria-label': ariaLabel\n}) {\n return (\n setSearch(e.target.value || undefined)}\n className={classNames('rt-search', className)}\n placeholder={placeholder}\n aria-label={ariaLabel}\n />\n )\n}\n\nSearchComponent.propTypes = {\n searchValue: PropTypes.string,\n setSearch: PropTypes.func.isRequired,\n className: PropTypes.string,\n placeholder: PropTypes.string,\n 'aria-label': PropTypes.string\n}\n\nfunction NoDataComponent({ className, ...rest }) {\n return
\n}\n\nfunction SelectInputComponent({ type, checked, onChange, 'aria-label': ariaLabel }) {\n // Use zero-width space character to properly align checkboxes with first\n // line of text in other cells, even if the text spans multiple lines.\n return (\n
\n \n ​\n
\n )\n}\n\nSelectInputComponent.propTypes = {\n type: PropTypes.oneOf(['checkbox', 'radio']).isRequired,\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n 'aria-label': PropTypes.string\n}\n\nfunction TableData({\n data,\n columns,\n groupBy,\n searchMethod,\n pagination,\n paginateSubRows,\n selection,\n crosstalkGroup,\n crosstalkId,\n setResolvedData,\n // Controlled state\n pageSize,\n pageIndex,\n sortBy,\n filters,\n searchValue,\n expanded,\n selectedRowIds\n}) {\n const dataColumns = React.useMemo(\n () => columns.reduce((cols, col) => cols.concat(getLeafColumns(col)), []),\n [columns]\n )\n\n // Must be memoized to prevent re-filtering on every render\n const globalFilter = React.useMemo(() => {\n if (searchMethod) {\n return searchMethod\n }\n return function globalFilter(rows, columnIds, searchValue) {\n const matchers = dataColumns.reduce((obj, col) => {\n obj[col.id] = col.createMatcher(searchValue)\n return obj\n }, {})\n\n rows = rows.filter(row => {\n for (const id of columnIds) {\n const value = row.values[id]\n if (matchers[id](value)) {\n return true\n }\n }\n })\n return rows\n }\n }, [dataColumns, searchMethod])\n\n const useRowSelectColumn = function useRowSelectColumn(hooks) {\n if (selection) {\n hooks.visibleColumns.push(columns => {\n const selectionCol = {\n // Apply defaults from existing selection column\n ...columns.find(col => col.selectable),\n selectable: true,\n // Disable sorting, filtering, and searching for selection columns\n disableSortBy: true,\n filterable: false,\n disableFilters: true,\n disableGlobalFilter: true\n }\n // Make selection column the first column, even before grouped columns\n return [selectionCol, ...columns.filter(col => !col.selectable)]\n })\n }\n }\n\n const useCrosstalkColumn = function useCrosstalkColumn(hooks) {\n if (crosstalkGroup) {\n hooks.visibleColumns.push(columns => {\n const ctCol = {\n id: crosstalkId,\n filter: (rows, id, value) => {\n if (!value) {\n return rows\n }\n return rows.filter(row => {\n if (value.includes(row.index)) {\n return true\n }\n })\n },\n disableGlobalFilter: true\n }\n return columns.concat(ctCol)\n })\n\n hooks.stateReducers.push(state => {\n if (!state.hiddenColumns.includes(crosstalkId)) {\n return {\n ...state,\n hiddenColumns: state.hiddenColumns.concat(crosstalkId)\n }\n }\n return state\n })\n }\n }\n\n const instance = useTable(\n {\n columns,\n data,\n useControlledState: state => {\n return React.useMemo(\n () => ({\n ...state,\n pageIndex,\n pageSize,\n sortBy,\n filters,\n globalFilter: searchValue,\n groupBy,\n expanded,\n selectedRowIds\n }),\n // These dependencies are required for proper table updates\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n state,\n pageIndex,\n pageSize,\n sortBy,\n filters,\n searchValue,\n groupBy,\n expanded,\n selectedRowIds\n ]\n )\n },\n globalFilter,\n paginateExpandedRows: paginateSubRows ? true : false,\n disablePagination: !pagination,\n getSubRows,\n // Disable manual row expansion\n manualExpandedKey: null,\n // Maintain grouped state when the data changes\n autoResetGroupBy: false,\n // Maintain sorted state when the data changes\n autoResetSortBy: false,\n // Maintain expanded state when groupBy, sortBy, defaultPageSize change.\n // Expanded state is still reset when the data changes via dataKey or updateReactable.\n autoResetExpanded: false,\n // Maintain filtered state when the data changes\n autoResetFilters: false,\n autoResetGlobalFilter: false,\n // Maintain selected state when groupBy, sortBy, defaultPageSize change.\n // Selected state is still reset when the data changes via dataKey or updateReactable.\n autoResetSelectedRows: false,\n // Maintain resized state when the data changes\n autoResetResize: false,\n // Reset current page when the data changes (e.g., sorting, filtering, searching)\n autoResetPage: true\n },\n useResizeColumns,\n useFlexLayout,\n useStickyColumns,\n useFilters,\n useGlobalFilter,\n useGroupBy,\n useSortBy,\n useExpanded,\n usePagination,\n useRowSelect,\n useRowSelectColumn,\n useCrosstalkColumn\n )\n\n // Track the max number of rows for auto-shown pagination. Unfortunately, the max\n // number of rows can't be determined up front in a grouped and filtered table\n // because grouping happens after filtering (and swapping these hooks would\n // disable dynamic aggregation). Instead, we track the max number of rows\n // per dataset, so at least the pagination doesn't disappear upon filtering.\n const maxRowCount = React.useRef(\n paginateSubRows ? instance.flatRows.length : instance.rows.length\n )\n\n React.useEffect(() => {\n maxRowCount.current = 0\n }, [data])\n\n React.useEffect(() => {\n const rowCount = paginateSubRows ? instance.flatRows.length : instance.rows.length\n if (rowCount > maxRowCount.current) {\n maxRowCount.current = rowCount\n }\n }, [paginateSubRows, instance.flatRows, instance.rows])\n\n if (setResolvedData) {\n setResolvedData({\n data: materializedRowsToData(instance.page, paginateSubRows),\n rowCount: instance.rows.length,\n maxRowCount: maxRowCount.current\n })\n }\n\n return null\n}\n\nfunction Table({\n data: originalData,\n columns,\n groupBy,\n searchable,\n searchMethod,\n defaultSorted,\n pagination,\n paginationType,\n showPagination,\n showPageSizeOptions,\n showPageInfo,\n defaultPageSize,\n pageSizeOptions,\n minRows,\n paginateSubRows,\n defaultExpanded,\n selection,\n defaultSelected,\n selectionId,\n onClick,\n outlined,\n bordered,\n borderless,\n compact,\n nowrap,\n striped,\n highlight,\n className,\n style,\n rowClassName,\n rowStyle,\n inline,\n width,\n height,\n theme,\n language,\n meta: initialMeta,\n crosstalkKey,\n crosstalkGroup,\n crosstalkId,\n elementId,\n nested,\n dataURL,\n serverRowCount: initialServerRowCount,\n serverMaxRowCount: initialServerMaxRowCount\n}) {\n const [newData, setNewData] = React.useState(null)\n const data = React.useMemo(() => {\n return newData ? newData : originalData\n }, [newData, originalData])\n\n const useServerData = dataURL != null\n const [serverRowCount, setServerRowCount] = React.useState(initialServerRowCount)\n const [serverMaxRowCount, setServerMaxRowCount] = React.useState(initialServerMaxRowCount)\n\n const dataColumns = React.useMemo(() => {\n return columns.reduce((cols, col) => cols.concat(getLeafColumns(col)), [])\n }, [columns])\n\n // Must be memoized to prevent re-filtering on every render\n const globalFilter = React.useMemo(() => {\n if (searchMethod) {\n return searchMethod\n }\n return function globalFilter(rows, columnIds, searchValue) {\n const matchers = dataColumns.reduce((obj, col) => {\n obj[col.id] = col.createMatcher(searchValue)\n return obj\n }, {})\n\n rows = rows.filter(row => {\n for (const id of columnIds) {\n const value = row.values[id]\n if (matchers[id](value)) {\n return true\n }\n }\n })\n return rows\n }\n }, [dataColumns, searchMethod])\n\n const useRowSelectColumn = function useRowSelectColumn(hooks) {\n if (selection) {\n hooks.visibleColumns.push(columns => {\n const selectionCol = {\n // Apply defaults from existing selection column\n ...columns.find(col => col.selectable),\n selectable: true,\n // Disable sorting, filtering, and searching for selection columns\n disableSortBy: true,\n filterable: false,\n disableFilters: true,\n disableGlobalFilter: true\n }\n // Make selection column the first column, even before grouped columns\n return [selectionCol, ...columns.filter(col => !col.selectable)]\n })\n }\n }\n\n const useCrosstalkColumn = function useCrosstalkColumn(hooks) {\n if (crosstalkGroup) {\n hooks.visibleColumns.push(columns => {\n const ctCol = {\n id: crosstalkId,\n filter: (rows, id, value) => {\n if (!value) {\n return rows\n }\n return rows.filter(row => {\n if (value.includes(row.index)) {\n return true\n }\n })\n },\n disableGlobalFilter: true\n }\n return columns.concat(ctCol)\n })\n\n hooks.stateReducers.push(state => {\n if (!state.hiddenColumns.includes(crosstalkId)) {\n return {\n ...state,\n hiddenColumns: state.hiddenColumns.concat(crosstalkId)\n }\n }\n return state\n })\n }\n }\n\n const [meta, setMeta] = useMeta(initialMeta)\n\n function useServerSideRows(hooks) {\n hooks.useInstance.push(instance => {\n const { rows, manualPagination, rowsById } = instance\n\n if (!manualPagination) {\n return\n }\n\n // Set proper row indexes and IDs\n const setRowProps = rows => {\n rows.forEach(row => {\n const rowState = row.original[rowStateKey]\n // Fall back for backends that don't implement row state\n if (!rowState) {\n return\n }\n row.index = rowState.index\n // Not used for now because we need ability to select/expand all first\n if (rowState.selected) {\n row.original[rowSelectedKey] = rowState.selected\n }\n // Not used for now because we need ability to select/expand all first\n if (rowState.expanded) {\n row.original[rowExpandedKey] = rowState.expanded\n }\n if (rowState.grouped) {\n row.isGrouped = true\n }\n // Rebuild sub rows\n if (rowState.parentId != null) {\n rowsById[rowState.parentId].subRows.push(row)\n // Set parentId on row to tell useGroupBy that this is a nested row\n // TODO change this so useGroupBy gets a properly nested row structure, not flat rows\n row.parentId = rowState.parentId\n }\n // Set row props on sub rows. Skip this when sub rows are paginated, since sub rows\n // exist in both row.subRows and the flat list of rows.\n if (!paginateSubRows) {\n setRowProps(row.subRows, row)\n }\n })\n\n // Add placeholder subRows for aggregated row counts\n if (paginateSubRows) {\n rows.forEach(row => {\n const rowState = row.original[rowStateKey]\n row.subRows.length = rowState.subRowCount\n })\n }\n }\n setRowProps(rows)\n })\n }\n\n const getRowId = React.useMemo(() => {\n const defaultGetRowId = (row, index, parent) => {\n return `${parent ? [parent.id, index].join('.') : index}`\n }\n if (!useServerData) {\n return defaultGetRowId\n }\n return (row, index, parent) => {\n if (row[rowStateKey]) {\n return row[rowStateKey].id\n }\n // Fall back for backends that don't implement row state\n return defaultGetRowId(row, index, parent)\n }\n }, [useServerData])\n\n const { state, ...instance } = useTable(\n {\n columns,\n data,\n initialState: {\n hiddenColumns: dataColumns.filter(col => col.show === false).map(col => col.id),\n groupBy: groupBy || [],\n sortBy: defaultSorted || [],\n pageSize: defaultPageSize,\n selectedRowIds: defaultSelected\n ? defaultSelected.reduce((obj, index) => ({ ...obj, [index]: true }), {})\n : {}\n },\n globalFilter,\n paginateExpandedRows: paginateSubRows ? true : false,\n disablePagination: !pagination,\n getSubRows,\n getRowId,\n // Maintain grouped state when the data changes\n autoResetGroupBy: false,\n // Maintain sorted state when the data changes\n autoResetSortBy: false,\n // Maintain expanded state when groupBy, sortBy, defaultPageSize change.\n // Expanded state is still reset when the data changes via dataKey or updateReactable.\n autoResetExpanded: false,\n // Maintain filtered state when the data changes\n autoResetFilters: false,\n autoResetGlobalFilter: false,\n // Maintain selected state when groupBy, sortBy, defaultPageSize change.\n // Selected state is still reset when the data changes via dataKey or updateReactable.\n autoResetSelectedRows: false,\n // Maintain resized state when the data changes\n autoResetResize: false,\n // Reset current page when the data changes (e.g., sorting, filtering, searching)\n autoResetPage: true,\n manualPagination: useServerData,\n manualSortBy: useServerData,\n manualGlobalFilter: useServerData,\n manualFilters: useServerData,\n manualGroupBy: useServerData,\n // TODO for when server-side row selection is implemented - need the ability to select all first\n // manualRowSelectedKey: useServerData ? rowSelectedKey : null,\n // TODO for when server-side row expansion is implemented\n // Disable manual row expansion\n manualExpandedKey: null,\n // Prevent duplicate sub rows when sub rows are paginated server-side\n expandSubRows: !(useServerData && paginateSubRows),\n rowCount: useServerData ? serverRowCount : null\n },\n useServerSideRows,\n useResizeColumns,\n useFlexLayout,\n useStickyColumns,\n useFilters,\n useGlobalFilter,\n useGroupBy,\n useSortBy,\n useExpanded,\n usePagination,\n useRowSelect,\n useRowSelectColumn,\n useCrosstalkColumn\n )\n\n // Server-side data\n const skipInitialFetch = React.useRef(initialServerRowCount != null)\n React.useEffect(() => {\n if (!useServerData) {\n return\n }\n // Skip initial data fetch if the first page was provided\n if (skipInitialFetch.current) {\n skipInitialFetch.current = false\n return\n }\n const url = new window.URL(dataURL, window.location)\n const params = {\n pageIndex: state.pageIndex,\n pageSize: state.pageSize,\n sortBy: state.sortBy,\n filters: state.filters,\n searchValue: state.globalFilter,\n groupBy: state.groupBy,\n expanded: state.expanded,\n selectedRowIds: state.selectedRowIds\n }\n window\n .fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(params)\n })\n .then(res => res.json())\n .then(body => {\n const data = normalizeColumnData(body.data, dataColumns)\n const { rowCount, maxRowCount } = body\n setNewData(data)\n setServerRowCount(rowCount)\n setServerMaxRowCount(maxRowCount)\n })\n .catch(err => {\n console.error(err)\n })\n }, [\n useServerData,\n dataURL,\n state.pageIndex,\n state.pageSize,\n state.sortBy,\n state.filters,\n state.globalFilter,\n state.groupBy,\n state.expanded,\n state.selectedRowIds,\n dataColumns\n ])\n\n // Update table when default values change (preserves behavior from v6)\n useMountedLayoutEffect(() => {\n const setSortBy = instance.setSortBy\n setSortBy(defaultSorted || [])\n }, [instance.setSortBy, defaultSorted])\n\n useMountedLayoutEffect(() => {\n const setGroupBy = instance.setGroupBy\n setGroupBy(groupBy || [])\n }, [instance.setGroupBy, groupBy])\n\n useMountedLayoutEffect(() => {\n const setPageSize = instance.setPageSize\n setPageSize(defaultPageSize)\n }, [instance.setPageSize, defaultPageSize])\n\n useMountedLayoutEffect(() => {\n const setRowsSelected = instance.setRowsSelected\n setRowsSelected((defaultSelected || []).map(index => String(index)))\n }, [instance.setRowsSelected, defaultSelected])\n\n const rowsById = instance.preFilteredRowsById || instance.rowsById\n const selectedRowIndexes = React.useMemo(() => {\n return Object.keys(state.selectedRowIds).reduce((indexes, id) => {\n const row = rowsById[id]\n if (row) {\n indexes.push(row.index)\n }\n return indexes\n }, [])\n }, [state.selectedRowIds, rowsById])\n\n // Update Shiny on selected row changes (deprecated in v0.2.0)\n React.useEffect(() => {\n if (!selection) {\n return\n }\n // Convert to R's 1-based indices\n const selectedIndexes = selectedRowIndexes.map(index => index + 1)\n\n if (selectionId && window.Shiny) {\n window.Shiny.onInputChange(selectionId, selectedIndexes)\n }\n }, [selectedRowIndexes, selection, selectionId])\n\n // Reset searched state when table is no longer searchable\n const searchableRef = React.useRef(searchable)\n safeUseLayoutEffect(() => {\n if (searchableRef.current && !searchable) {\n const setGlobalFilter = instance.setGlobalFilter\n setGlobalFilter(undefined)\n }\n searchableRef.current = searchable\n }, [searchable, instance.setGlobalFilter])\n\n const makeSearch = () => {\n if (!searchable) {\n return null\n }\n return (\n \n )\n }\n\n const rowData = convertRowsToV6(instance.rows)\n const stateInfo = React.useMemo(() => {\n return {\n ...state,\n searchValue: state.globalFilter,\n meta,\n hiddenColumns: state.hiddenColumns.filter(id => id !== crosstalkId),\n // For v6 compatibility\n sorted: state.sortBy,\n pageRows: convertRowsToV6(instance.page),\n sortedData: rowData,\n data: data,\n page: state.pageIndex,\n pageSize: state.pageSize,\n pages: instance.pageCount,\n selected: selectedRowIndexes\n }\n }, [\n state,\n meta,\n crosstalkId,\n instance.page,\n rowData,\n data,\n instance.pageCount,\n selectedRowIndexes\n ])\n\n const makeThead = () => {\n const theadProps = instance.getTheadProps()\n return (\n \n {makeHeaders()}\n {makeFilters()}\n \n )\n }\n\n // Get actual width of the column for resizing\n const headerRefs = React.useRef({})\n const handleHeader = column => {\n column.getDOMWidth = () => {\n return headerRefs.current[column.id].getBoundingClientRect().width\n }\n if (column.headers && column.headers.length) {\n column.headers.forEach(col => handleHeader(col))\n }\n }\n instance.headers.forEach(handleHeader)\n\n const makeHeaders = () => {\n return instance.headerGroups.map((headerGroup, i) => {\n const isGroupHeader = i < instance.headerGroups.length - 1\n const { key: headerGroupKey, ...headerGroupProps } = headerGroup.getHeaderGroupProps({\n className: isGroupHeader ? 'rt-tr-group-header' : 'rt-tr-header'\n })\n return (\n \n {headerGroup.headers.map(column => {\n column = {\n ...column,\n column, // Deprecated in v0.3.0\n data: rowData // Deprecated in v0.3.0\n }\n let header =\n typeof column.Header === 'function'\n ? column.Header(column, stateInfo)\n : column.render('Header')\n\n let headerProps = {\n // colspan doesn't apply to ARIA tables, but react-table adds it. Remove it.\n colSpan: null,\n ref: el => (headerRefs.current[column.id] = el)\n }\n if (isGroupHeader) {\n const { className: themeClass, innerClassName } = getCellTheme(theme.groupHeaderStyle)\n headerProps = {\n ...headerProps,\n 'aria-colspan': column.totalVisibleHeaderCount,\n className: classNames(\n !column.isUngrouped ? 'rt-th-group' : 'rt-th-group-none',\n column.headerClassName,\n themeClass\n ),\n innerClassName,\n style: column.headerStyle,\n canResize: column.canResize\n }\n } else {\n const { className: themeClass, innerClassName } = getCellTheme(theme.headerStyle)\n headerProps = {\n ...headerProps,\n // Assign cell role to selectable column headers to prevent input labels\n // from being read as column names (\"select all rows column\").\n role: column.selectable ? 'cell' : 'columnheader',\n className: classNames(column.headerClassName, themeClass),\n innerClassName,\n style: column.headerStyle,\n canResize: column.canResize,\n isResizing: column.isResizing\n }\n\n if (column.canSort) {\n headerProps = {\n ...headerProps,\n 'aria-label': renderTemplate(language.sortLabel, { name: column.name }),\n canSort: column.canSort,\n sortDescFirst: column.sortDescFirst,\n isSorted: column.isSorted,\n isSortedDesc: column.isSortedDesc,\n // Use toggleSortBy instead of getSortByToggleProps() for more control over sorting\n toggleSortBy: column.toggleSortBy\n }\n }\n }\n\n let resizer\n if (column.canResize) {\n const { onMouseDown, onTouchStart } = column.getResizerProps()\n resizer = (\n {\n onMouseDown(e)\n // Prevent resizer from highlighting text\n e.preventDefault()\n }}\n onTouchStart={onTouchStart}\n onClick={e => {\n // Prevent resizer from toggling sorting\n e.stopPropagation()\n }}\n />\n )\n }\n\n if (column.selectable && selection === 'multiple' && instance.rows.length > 0) {\n const toggleAllRowsSelected = () => instance.toggleAllRowsSelected()\n headerProps = {\n ...headerProps,\n onClick: toggleAllRowsSelected,\n className: classNames(headerProps.className, 'rt-td-select')\n }\n header = (\n \n )\n }\n\n const { key, ...resolvedHeaderProps } = column.getHeaderProps(headerProps)\n return (\n \n {header}\n {resizer}\n \n )\n })}\n \n )\n })\n }\n\n // Use column.filterable over column.canFilter because useGlobalFilter\n // currently sets canFilter to true on columns with disableFilters = true.\n // https://github.com/tannerlinsley/react-table/issues/2787\n const isFilterable = instance.visibleColumns.some(col => col.filterable)\n\n // Reset filtered state when table is no longer filterable\n const filterableRef = React.useRef(isFilterable)\n safeUseLayoutEffect(() => {\n if (filterableRef.current && !isFilterable) {\n const setAllFilters = instance.setAllFilters\n setAllFilters(instance.visibleColumns.map(col => ({ id: col.id, value: undefined })))\n }\n filterableRef.current = isFilterable\n }, [isFilterable, instance.visibleColumns, instance.setAllFilters])\n\n const makeFilters = () => {\n if (!isFilterable) {\n return null\n }\n\n return (\n \n {instance.visibleColumns.map(column => {\n let filter\n // Use column.filterable over column.canFilter because useGlobalFilter\n // currently sets canFilter to true on columns with disableFilters = true.\n // https://github.com/TanStack/react-table/issues/2787\n if (column.filterable) {\n if (column.filterInput != null) {\n let filterInput\n if (typeof column.filterInput === 'function') {\n filterInput = column.filterInput(column, stateInfo)\n } else {\n filterInput = hydrate({ Fragment, WidgetContainer }, column.filterInput)\n }\n if (React.isValidElement(filterInput)) {\n filter = filterInput\n } else if (column.html) {\n filter = \n }\n } else {\n filter = (\n \n )\n }\n }\n\n const { className: themeClass, innerClassName } = getCellTheme(theme.filterCellStyle)\n const filterCellProps = {\n role: 'cell',\n // colspan doesn't apply to ARIA tables, but react-table adds it. Remove it.\n colSpan: null,\n className: classNames('rt-td-filter', column.headerClassName, themeClass),\n innerClassName,\n style: column.headerStyle\n }\n const { key, ...resolvedFilterCellProps } = column.getHeaderProps(filterCellProps)\n return (\n \n {filter}\n \n )\n })}\n \n )\n }\n\n safeUseLayoutEffect(() => {\n const toggleAllRowsExpanded = instance.toggleAllRowsExpanded\n if (defaultExpanded) {\n toggleAllRowsExpanded(true)\n } else {\n toggleAllRowsExpanded(false)\n }\n }, [instance.toggleAllRowsExpanded, defaultExpanded])\n\n // Track expanded columns for multiple row details\n const [expandedColumns, setExpandedColumns] = React.useState({})\n const makeRowDetails = (rowInfo, state) => {\n // Ensure that row is expanded and not a grouped row. Row details are\n // currently not supported on grouped rows.\n if (!rowInfo.isExpanded || rowInfo.isGrouped) {\n return null\n }\n\n const expandedId = expandedColumns[rowInfo.id]\n let expandedCol\n if (expandedId != null) {\n expandedCol = instance.visibleColumns.find(col => col.id === expandedId)\n } else {\n // When expanding all rows, default to the first column with details\n expandedCol = instance.visibleColumns.find(col => col.details)\n }\n // Ensure that row details exist. Rows may have expanded state even though\n // there are no row details (when defaultExpanded = true).\n if (!expandedCol) {\n return null\n }\n\n const { details, html } = expandedCol\n let props = {}\n if (typeof details === 'function') {\n let content = details(rowInfo, state)\n if (html) {\n props.html = content\n }\n props.children = content\n } else if (Array.isArray(details)) {\n let content = details[rowInfo.index]\n if (content == null) {\n // No content to render. Although this row has no expander, it may still\n // have expanded state (when defaultExpanded = true).\n return null\n }\n if (html) {\n props.html = content\n }\n props.children = hydrate({ Reactable, Fragment, WidgetContainer }, content)\n }\n // Set key to force updates when expanding a different column or changing page\n return \n }\n\n const makeTbody = () => {\n const hasStickyColumns = instance.visibleColumns.some(column => column.sticky)\n let rowHighlightClass = hasStickyColumns ? 'rt-tr-highlight-sticky' : 'rt-tr-highlight'\n let rowStripedClass = hasStickyColumns ? 'rt-tr-striped-sticky' : 'rt-tr-striped'\n\n const rows = instance.page.map((row, viewIndex) => {\n instance.prepareRow(row)\n\n // toggleRowSelected that supports single selection\n const toggleRowSelected = set => {\n if (set == null) {\n set = !row.isSelected\n }\n if (selection === 'single') {\n instance.setRowsSelected([])\n }\n row.toggleRowSelected(set)\n }\n\n const rowInfo = {\n ...row,\n toggleRowSelected,\n // For v6 compatibility\n viewIndex,\n row: row.values, // Deprecated in v0.3.0\n subRows: convertRowsToV6(row.subRows),\n aggregated: row.isGrouped,\n expanded: row.isExpanded,\n level: row.depth,\n selected: row.isSelected,\n page: state.pageIndex // Deprecated in v0.3.0\n }\n\n const rowProps = {\n className: classNames(\n striped && (viewIndex % 2 ? null : rowStripedClass),\n highlight && rowHighlightClass,\n row.isSelected && 'rt-tr-selected',\n css(theme.rowStyle)\n )\n }\n if (rowClassName) {\n let rowCls\n if (typeof rowClassName === 'function') {\n rowCls = rowClassName(rowInfo, stateInfo)\n } else if (Array.isArray(rowClassName)) {\n rowCls = rowClassName[rowInfo.index]\n } else {\n rowCls = rowClassName\n }\n rowProps.className = classNames(rowProps.className, rowCls)\n }\n if (rowStyle) {\n if (typeof rowStyle === 'function') {\n rowProps.style = rowStyle(rowInfo, stateInfo)\n } else if (Array.isArray(rowStyle)) {\n rowProps.style = rowStyle[rowInfo.index]\n } else {\n rowProps.style = rowStyle\n }\n }\n\n const rowDetails = makeRowDetails(rowInfo, stateInfo)\n\n let expandedId\n if (row.isExpanded) {\n if (expandedColumns[row.id] != null) {\n expandedId = expandedColumns[row.id]\n } else {\n // When expanding all rows, default to the first column with details\n const expandedCol = instance.visibleColumns.find(col => col.details)\n expandedId = expandedCol ? expandedCol.id : null\n }\n }\n\n const resolvedRowProps = row.getRowProps(rowProps)\n return (\n // Use relative row index for key (like in v6) rather than row index (v7)\n // for better rerender performance, especially with a large number of rows.\n \n \n {row.cells.map((cell, colIndex) => {\n const { column } = cell\n let cellProps = column.getProps ? column.getProps(rowInfo, column, stateInfo) : {}\n const { className: themeClass, innerClassName } = getCellTheme(theme.cellStyle)\n cellProps = {\n ...cellProps,\n className: classNames(cellProps.className, themeClass),\n innerClassName,\n role: column.rowHeader ? 'rowheader' : 'cell'\n }\n const cellInfo = {\n ...cell,\n column,\n filterValue: column.filterValue,\n ...rowInfo\n }\n let value\n if (cell.isGrouped) {\n value = column.Grouped ? column.Grouped(cellInfo, stateInfo) : cellInfo.value\n } else if (cell.isAggregated) {\n value = column.Aggregated\n ? column.Aggregated(cellInfo, stateInfo)\n : cell.render('Aggregated')\n } else if (cell.isPlaceholder) {\n value = ''\n } else {\n value = column.Cell ? column.Cell(cellInfo, stateInfo) : cell.render('Cell')\n }\n\n let hasDetails\n if (column.details && !row.isGrouped) {\n if (Array.isArray(column.details) && column.details[row.index] == null) {\n // Don't expand rows without content\n } else {\n hasDetails = true\n }\n }\n\n let expander\n if (hasDetails) {\n const isExpanded = row.isExpanded && expandedId === column.id\n cellProps = {\n ...cellProps,\n onClick: () => {\n if (isExpanded) {\n row.toggleRowExpanded(false)\n const newExpandedColumns = { ...expandedColumns }\n delete newExpandedColumns[row.id]\n setExpandedColumns(newExpandedColumns)\n } else {\n row.toggleRowExpanded(true)\n const newExpandedColumns = { ...expandedColumns, [row.id]: column.id }\n setExpandedColumns(newExpandedColumns)\n }\n },\n className: classNames(cellProps.className, 'rt-td-expandable')\n }\n // Hide overflow ellipsis and prevent text selection on expander-only columns\n if (value === emptyValue) {\n cellProps.style = { textOverflow: 'clip', userSelect: 'none', ...cellProps.style }\n }\n const expanderProps = {\n isExpanded: isExpanded,\n className: css(theme.expanderStyle),\n 'aria-label': language.detailsExpandLabel\n }\n expander = \n } else if (cell.isGrouped) {\n const isExpanded = row.isExpanded\n cellProps = {\n ...cellProps,\n onClick: () => row.toggleRowExpanded(),\n className: classNames(cellProps.className, 'rt-td-expandable')\n }\n const expanderProps = {\n isExpanded: isExpanded,\n className: css(theme.expanderStyle),\n 'aria-label': language.groupExpandLabel\n }\n expander = \n } else if (cell.column.isGrouped && row.canExpand) {\n // Make all grouped column cells expandable (including placeholders)\n cellProps = {\n ...cellProps,\n onClick: () => row.toggleRowExpanded(),\n className: classNames(cellProps.className, 'rt-td-expandable')\n }\n }\n\n const canRowSelect =\n selection === 'multiple' || (selection === 'single' && !cell.isAggregated)\n\n if (column.selectable && canRowSelect) {\n cellProps = {\n ...cellProps,\n onClick: () => toggleRowSelected(),\n className: classNames(cellProps.className, 'rt-td-select')\n }\n let ariaLabel\n if (cell.isAggregated) {\n ariaLabel = language.selectAllSubRowsLabel\n } else {\n ariaLabel = language.selectRowLabel\n }\n value = (\n toggleRowSelected()}\n aria-label={ariaLabel}\n />\n )\n }\n\n // Add cell click actions. Don't override existing click actions.\n if (onClick && !cellProps.onClick) {\n if (onClick === 'expand') {\n cellProps.onClick = () => row.toggleRowExpanded()\n } else if (onClick === 'select' && canRowSelect) {\n cellProps.onClick = () => toggleRowSelected()\n } else if (typeof onClick === 'function') {\n cellProps.onClick = () => onClick(rowInfo, column, stateInfo)\n }\n }\n\n const resolvedCellProps = cell.getCellProps(cellProps)\n return (\n // Use column ID for key (like in v6) rather than row index (v7)\n // for better rerender performance, especially with a large number of rows.\n \n {expander}\n {value}\n \n )\n })}\n \n {rowDetails}\n \n )\n })\n\n let padRows\n // Leave at least one row to show the no data message properly\n minRows = minRows ? Math.max(minRows, 1) : 1\n const padRowCount = Math.max(minRows - instance.page.length, 0)\n if (padRowCount > 0) {\n padRows = [...Array(padRowCount)].map((_, viewIndex) => {\n const rowProps = {\n className: classNames('rt-tr-pad', css(theme.rowStyle))\n }\n if (rowClassName) {\n let rowCls\n if (typeof rowClassName === 'function') {\n rowCls = rowClassName(undefined, stateInfo)\n } else if (Array.isArray(rowClassName)) {\n // rowClassName not used for pad rows\n } else {\n rowCls = rowClassName\n }\n rowProps.className = classNames(rowProps.className, rowCls)\n }\n if (rowStyle) {\n if (typeof rowStyle === 'function') {\n rowProps.style = rowStyle(undefined, stateInfo)\n } else if (Array.isArray(rowStyle)) {\n // rowStyle not used for pad rows\n } else {\n rowProps.style = rowStyle\n }\n }\n return (\n \n \n {instance.visibleColumns.map(column => {\n const { className: themeClass, innerClassName } = getCellTheme(theme.cellStyle)\n const cellProps = {\n className: themeClass\n }\n // Get layout styles (flex, sticky) from footer props. useFlexLayout\n // doesn't have built-in support for pad cells.\n const { className, style } = column.getFooterProps(cellProps)\n return (\n \n  \n \n )\n })}\n \n \n )\n })\n }\n\n let className = css(theme.tableBodyStyle)\n let noData\n if (instance.rows.length === 0) {\n noData = {language.noData}\n // Hide cell borders when table has no data\n className = classNames('rt-tbody-no-data', className)\n } else {\n // Must be on the page for the ARIA live region to be announced\n noData = \n }\n const tbodyProps = instance.getTableBodyProps({ className })\n\n return (\n \n {rows}\n {padRows}\n {noData}\n \n )\n }\n\n const makeTfoot = () => {\n const hasFooters = instance.visibleColumns.some(column => column.footer != null)\n if (!hasFooters) {\n return null\n }\n\n const tfootProps = instance.getTfootProps()\n return (\n \n \n {instance.visibleColumns.map(column => {\n column = {\n ...column,\n column, // Deprecated in v0.3.0\n data: rowData // Deprecated in v0.3.0\n }\n const footer =\n typeof column.Footer === 'function'\n ? column.Footer(column, stateInfo)\n : column.render('Footer')\n\n const { className: themeClass, innerClassName } = getCellTheme(theme.footerStyle)\n const footerProps = {\n className: classNames('rt-td-footer', column.footerClassName, themeClass),\n innerClassName,\n style: column.footerStyle,\n role: column.rowHeader ? 'rowheader' : 'cell',\n // colspan doesn't apply to ARIA tables, but react-table adds it. Remove it.\n colSpan: null\n }\n const { key, ...resolvedFooterProps } = column.getFooterProps(footerProps)\n return (\n \n {footer}\n \n )\n })}\n \n \n )\n }\n\n // Track the max number of rows for auto-shown pagination. Unfortunately, the max\n // number of rows can't be determined up front in a grouped and filtered table\n // because grouping happens after filtering (and swapping these hooks would\n // disable dynamic aggregation). Instead, we track the max number of rows\n // per dataset, so at least the pagination doesn't disappear upon filtering.\n //\n // Unused for server-side pagination.\n const maxRowCount = React.useRef(\n paginateSubRows ? instance.flatRows.length : instance.rows.length\n )\n\n React.useEffect(() => {\n maxRowCount.current = 0\n }, [data])\n\n React.useEffect(() => {\n const rowCount = paginateSubRows ? instance.flatRows.length : instance.rows.length\n if (rowCount > maxRowCount.current) {\n maxRowCount.current = rowCount\n }\n }, [paginateSubRows, instance.flatRows, instance.rows])\n\n const makePagination = () => {\n if (showPagination === false) {\n return null\n } else if (!pagination && showPagination == null) {\n // Unpaginated tables can still have a visible pagination bar (e.g., for page info)\n return null\n } else if (pagination && showPagination == null) {\n // Auto-hide pagination if the entire table fits on one page\n const minPageSize = showPageSizeOptions\n ? Math.min(state.pageSize, ...(pageSizeOptions || []))\n : state.pageSize\n\n let rowCount\n if (serverMaxRowCount != null) {\n rowCount = serverMaxRowCount\n } else if (serverRowCount != null) {\n // If the optional server-side maxRowCount isn't provided, fall back to\n // serverRowCount so at least the pagination bar appears when expanding\n // a table past its initial page.\n rowCount = serverRowCount\n } else {\n rowCount = maxRowCount.current\n }\n if (rowCount <= minPageSize) {\n return null\n }\n }\n return (\n \n )\n }\n\n // Add keyboard-only focus styles\n const rootElement = React.useRef(null)\n const keyboardActiveProps = {\n onMouseDown: () => {\n rootElement.current.classList.remove('rt-keyboard-active')\n },\n onKeyDown: () => {\n rootElement.current.classList.add('rt-keyboard-active')\n },\n onKeyUp: e => {\n // Detect keyboard use when tabbing into the table\n const keyCode = e.which || e.keyCode\n if (keyCode === 9) {\n rootElement.current.classList.add('rt-keyboard-active')\n }\n }\n }\n\n // Provide keyboard access to scrollable tables. Make the table focusable,\n // but only when it has a scrollbar.\n const tableElement = React.useRef(null)\n const [tableHasScrollbar, setTableHasScrollbar] = React.useState(false)\n safeUseLayoutEffect(() => {\n const checkTableHasScrollbar = () => {\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = tableElement.current\n const hasScrollbar = scrollHeight > clientHeight || scrollWidth > clientWidth\n setTableHasScrollbar(hasScrollbar)\n }\n if (window.ResizeObserver) {\n const resizeObserver = new ResizeObserver(() => {\n checkTableHasScrollbar()\n })\n resizeObserver.observe(tableElement.current)\n return function cleanup() {\n resizeObserver.disconnect()\n }\n } else {\n // Degrade gracefully on older browsers (e.g., Safari < 13)\n checkTableHasScrollbar()\n }\n }, [])\n\n // Send reactable state to Shiny for getReactableState\n React.useEffect(() => {\n // Ignore nested tables that aren't Shiny outputs\n if (!window.Shiny || !window.Shiny.onInputChange || nested) {\n return\n }\n // Ensure this is a Shiny output, not a static rendered table in Shiny\n const outputId = rootElement.current.parentElement.getAttribute('data-reactable-output')\n if (!outputId) {\n return\n }\n // Convert to R's 1-based indices\n const selectedIndexes = stateInfo.selected.map(index => index + 1)\n // Convert to R's 1-based indices\n const page = stateInfo.page + 1\n // Convert sortBy array to named list of \"asc\" and \"desc\"\n let sorted = stateInfo.sorted.length > 0 ? {} : null\n for (let sortInfo of stateInfo.sorted) {\n sorted[sortInfo.id] = sortInfo.desc ? 'desc' : 'asc'\n }\n\n // NOTE: any object arrays will be simplified into vectors by jsonlite by default. Avoid sending\n // arrays without transforming them first, or adding a custom input type and input handler.\n const state = {\n page: page,\n pageSize: stateInfo.pageSize,\n pages: stateInfo.pages,\n sorted: sorted,\n selected: selectedIndexes\n }\n // Shiny.onInputChange has built-in debouncing, so it's not strictly necessary to\n // debounce rapid state changes here.\n Object.keys(state).forEach(prop => {\n // NOTE: output IDs must always come first to work with Shiny modules\n window.Shiny.onInputChange(`${outputId}__reactable__${prop}`, state[prop])\n })\n }, [\n nested,\n stateInfo.page,\n stateInfo.pageSize,\n stateInfo.pages,\n stateInfo.sorted,\n stateInfo.selected\n ])\n\n // Getter for the latest page count\n const getPageCount = useGetLatest(instance.pageCount)\n\n // Add Shiny message handler for updateReactable\n React.useEffect(() => {\n // Ignore nested tables that aren't Shiny outputs\n if (!window.Shiny || nested) {\n return\n }\n // Ensure this is a Shiny output, not a static rendered table in Shiny\n const outputId = rootElement.current.parentElement.getAttribute('data-reactable-output')\n if (!outputId) {\n return\n }\n const setRowsSelected = instance.setRowsSelected\n const gotoPage = instance.gotoPage\n const toggleAllRowsExpanded = instance.toggleAllRowsExpanded\n\n const updateState = newState => {\n if (newState.jsEvals) {\n for (let key of newState.jsEvals) {\n window.HTMLWidgets.evaluateStringMember(newState, key)\n }\n }\n if (newState.data != null) {\n const data = normalizeColumnData(newState.data, dataColumns)\n setNewData(data)\n }\n if (newState.selected != null) {\n const selectedRowIds = newState.selected.map(index => String(index))\n setRowsSelected(selectedRowIds)\n }\n if (newState.page != null) {\n // Get the latest page count in case a data update changes the number of pages\n const nearestValidPage = Math.min(\n Math.max(newState.page, 0),\n Math.max(getPageCount() - 1, 0)\n )\n gotoPage(nearestValidPage)\n }\n if (newState.expanded != null) {\n if (newState.expanded) {\n toggleAllRowsExpanded(true)\n } else {\n toggleAllRowsExpanded(false)\n }\n }\n if (newState.meta !== undefined) {\n setMeta(newState.meta)\n }\n }\n window.Shiny.addCustomMessageHandler(`__reactable__${outputId}`, updateState)\n }, [\n nested,\n instance.setRowsSelected,\n instance.gotoPage,\n instance.toggleAllRowsExpanded,\n dataColumns,\n getPageCount,\n setMeta\n ])\n\n // Set up Crosstalk and apply initial selection/filtering.\n // useLayoutEffect so the hook runs in order with other useLayoutEffect hooks.\n const ctRef = React.useRef(null)\n\n safeUseLayoutEffect(() => {\n if (!crosstalkGroup || !window.crosstalk) {\n return\n }\n\n const ct = {}\n ct.selection = new window.crosstalk.SelectionHandle(crosstalkGroup)\n ct.filter = new window.crosstalk.FilterHandle(crosstalkGroup)\n // Keep track of selected and filtered state updated by other widgets.\n // SelectionHandle and FilterHandle also track state, but will include changes\n // coming from the table as well.\n ct.selected = ct.selection.value\n ct.filtered = ct.filter.filteredKeys\n ctRef.current = ct\n\n const rowByKey = (crosstalkKey || []).reduce((obj, key, index) => {\n obj[key] = index\n return obj\n }, {})\n\n const setFilter = instance.setFilter\n const setRowsSelected = instance.setRowsSelected\n const applyCrosstalkFilter = () => {\n // Selection value is an array of keys, or null or empty array if empty\n // Filter value is an an array of keys, or null if empty\n const selectedKeys = ct.selected && ct.selected.length > 0 ? ct.selected : null\n const filteredKeys = ct.filtered\n let keys\n if (!selectedKeys && !filteredKeys) {\n keys = null\n } else if (!selectedKeys) {\n keys = filteredKeys\n } else if (!filteredKeys) {\n keys = selectedKeys\n } else {\n keys = selectedKeys.filter(key => filteredKeys.includes(key))\n }\n const filteredRows = keys ? keys.map(key => rowByKey[key]) : null\n setFilter(crosstalkId, filteredRows)\n }\n\n const setCrosstalkSelection = value => {\n if (ct.selected !== value) {\n ct.selected = value\n applyCrosstalkFilter()\n }\n }\n\n const setCrosstalkFilter = value => {\n if (ct.filtered !== value) {\n ct.filtered = value\n applyCrosstalkFilter()\n }\n }\n\n ct.selection.on('change', e => {\n if (e.sender !== ct.selection) {\n setCrosstalkSelection(e.value)\n // Selections from other widgets should clear table selection state\n ct.skipNextSelection = true\n setRowsSelected([])\n } else {\n // Selections from table should clear selections from other widgets\n setCrosstalkSelection(null)\n }\n })\n\n ct.filter.on('change', e => {\n if (e.sender !== ct.filter) {\n setCrosstalkFilter(e.value)\n }\n })\n\n // Apply initial filter/selection for dynamically rendered tables (e.g., nested tables, Shiny outputs)\n if (ct.selected || ct.filtered) {\n applyCrosstalkFilter()\n }\n\n return function cleanup() {\n // Prevent errors from other widgets from breaking the table, e.g.,\n // https://github.com/ropensci/plotly/issues/1346\n try {\n ct.selection.close()\n } catch (e) {\n console.error('Error closing Crosstalk selection handle:', e)\n }\n try {\n ct.filter.close()\n } catch (e) {\n console.error('Error closing Crosstalk filter handle:', e)\n }\n }\n }, [crosstalkKey, crosstalkGroup, crosstalkId, instance.setFilter, instance.setRowsSelected])\n\n // Don't set Crosstalk selection on initial render\n safeUseLayoutEffect(() => {\n if (!ctRef.current) {\n return\n }\n if (!defaultSelected) {\n ctRef.current.skipNextSelection = true\n }\n }, [defaultSelected])\n\n // Set Crosstalk selection. useLayoutEffect to avoid visual flickering when\n // selecting a row and clearing a pre-existing selection at the same time.\n safeUseLayoutEffect(() => {\n if (!ctRef.current || !selection) {\n return\n }\n\n const ct = ctRef.current\n // Some selections don't update Crosstalk state, like selection clears from\n // other widget selections\n if (ct.skipNextSelection) {\n ct.skipNextSelection = false\n return\n }\n\n const selectedKeys = Object.keys(state.selectedRowIds).map(id => {\n return crosstalkKey[rowsById[id].index]\n })\n // Prevent errors from other widgets from breaking the table, e.g.,\n // https://github.com/ropensci/plotly/issues/1346\n try {\n ct.selection.set(selectedKeys)\n } catch (e) {\n console.error('Error selecting Crosstalk keys:', e)\n }\n }, [state.selectedRowIds, rowsById, selection, crosstalkKey])\n\n // Expose a limited JavaScript API to the table instance\n instance.state = stateInfo\n instance.downloadDataCSV = (filename, options = {}) => {\n filename = filename || 'data.csv'\n const csv = instance.getDataCSV(options)\n downloadCSV(csv, filename)\n }\n instance.getDataCSV = (options = {}) => {\n if (!options.columnIds) {\n options.columnIds = dataColumns.map(col => col.id)\n }\n // Ignore columns without data (e.g., selection or details columns) by default\n const dataColumnIds = data.length > 0 ? Object.keys(data[0]) : []\n options.columnIds = options.columnIds.filter(id => dataColumnIds.includes(id))\n // Ensure rows are flattened and ignore sort order. Unlike instance.flatRows,\n // instance.preGroupedRows excludes aggregated rows and uses the original data order.\n const rows = instance.preGroupedRows.map(row => row.values)\n const csv = rowsToCSV(rows, options)\n return csv\n }\n instance.setMeta = setMeta\n const origToggleHideColumn = instance.toggleHideColumn\n instance.toggleHideColumn = (columnId, isHidden) => {\n // Prevent duplicate column IDs from being added to hiddenColumns\n if (isHidden && stateInfo.hiddenColumns.includes(columnId)) {\n return\n }\n origToggleHideColumn(columnId, isHidden)\n }\n instance.setData = (data, options = {}) => {\n options = Object.assign({ resetSelected: true, resetExpanded: false }, options)\n if (typeof data !== 'object' || data == null) {\n throw new Error('data must be an array of row objects or an object containing column arrays')\n }\n // If data is in row format, it's assumed to have all numbers normalized (NA/NaN/Inf/-Inf not as strings)\n if (!Array.isArray(data)) {\n data = normalizeColumnData(data, dataColumns)\n }\n setNewData(data)\n if (options.resetSelected) {\n instance.setRowsSelected([])\n }\n if (options.resetExpanded) {\n instance.toggleAllRowsExpanded(false)\n }\n }\n\n let stateCallbacks = React.useRef([])\n instance.onStateChange = listenerFn => {\n if (typeof listenerFn !== 'function') {\n throw new Error('listenerFn must be a function')\n }\n stateCallbacks.current.push(listenerFn)\n return function cancel() {\n stateCallbacks.current = stateCallbacks.current.filter(cb => cb !== listenerFn)\n }\n }\n // Debounce rapid state changes. Some actions can cause the table to render twice, e.g., when\n // sorting and the pageIndex is automatically reset to 0 via an internal side effect.\n const onStateChange = useAsyncDebounce(state => {\n stateCallbacks.current.forEach(cb => {\n cb(state)\n })\n }, 0)\n React.useEffect(() => {\n onStateChange(stateInfo)\n }, [stateInfo, onStateChange])\n\n const getTableInstance = useGetLatest(instance)\n\n React.useEffect(() => {\n // For static rendered tables, the instance ID is the element ID. For Shiny outputs,\n // the instance ID is the Shiny output ID, although the element ID may override it.\n let instanceId = elementId\n if (!instanceId) {\n instanceId = rootElement.current.parentElement.getAttribute('data-reactable-output')\n }\n if (!instanceId) {\n return\n }\n\n tableInstances[instanceId] = getTableInstance\n\n return function cleanup() {\n delete tableInstances[instanceId]\n }\n }, [elementId, getTableInstance])\n\n className = classNames(\n className,\n css(theme.style),\n outlined && 'rt-outlined',\n bordered && 'rt-bordered',\n borderless && 'rt-borderless',\n compact && 'rt-compact',\n nowrap && 'rt-nowrap',\n inline && ' rt-inline'\n )\n style = { width, height, ...style }\n\n const isResizing = state.columnResizing.isResizingColumn != null\n const tableClassName = classNames(css(theme.tableStyle), isResizing && 'rt-resizing')\n\n return (\n \n {makeSearch()}\n \n {makeThead()}\n {makeTbody()}\n {makeTfoot()}\n \n {makePagination()}\n \n )\n}\n\nReactable.propTypes = {\n data: PropTypes.objectOf(PropTypes.array).isRequired,\n columns: PropTypes.arrayOf(PropTypes.object).isRequired,\n columnGroups: PropTypes.arrayOf(PropTypes.object),\n groupBy: PropTypes.arrayOf(PropTypes.string),\n sortable: PropTypes.bool,\n resizable: PropTypes.bool,\n filterable: PropTypes.bool,\n searchable: PropTypes.bool,\n searchMethod: PropTypes.func,\n defaultSortDesc: PropTypes.bool,\n defaultSorted: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.string, desc: PropTypes.bool })),\n pagination: PropTypes.bool,\n defaultPageSize: PropTypes.number,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n paginationType: PropTypes.oneOf(['numbers', 'jump', 'simple']),\n showPagination: PropTypes.bool,\n showPageSizeOptions: PropTypes.bool,\n showPageInfo: PropTypes.bool,\n minRows: PropTypes.number,\n paginateSubRows: PropTypes.bool,\n defaultExpanded: PropTypes.bool,\n selection: PropTypes.oneOf(['multiple', 'single']),\n selectionId: PropTypes.string, // Deprecated in v0.3.0\n defaultSelected: PropTypes.arrayOf(PropTypes.number),\n onClick: PropTypes.oneOfType([PropTypes.oneOf(['expand', 'select']), PropTypes.func]),\n outlined: PropTypes.bool,\n bordered: PropTypes.bool,\n borderless: PropTypes.bool,\n striped: PropTypes.bool,\n highlight: PropTypes.bool,\n compact: PropTypes.bool,\n nowrap: PropTypes.bool,\n showSortIcon: PropTypes.bool,\n showSortable: PropTypes.bool,\n className: PropTypes.string,\n style: PropTypes.object,\n rowClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.array]),\n rowStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func, PropTypes.array]),\n inline: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n theme: PropTypes.object,\n language: PropTypes.object,\n meta: PropTypes.object,\n crosstalkKey: PropTypes.array,\n crosstalkGroup: PropTypes.string,\n crosstalkId: PropTypes.string,\n elementId: PropTypes.string,\n nested: PropTypes.bool,\n dataKey: PropTypes.string,\n dataURL: PropTypes.string,\n serverRowCount: PropTypes.number,\n serverMaxRowCount: PropTypes.number\n}\n\nReactable.defaultProps = {\n sortable: true,\n pagination: true,\n defaultPageSize: 10,\n paginationType: 'numbers',\n pageSizeOptions: [10, 25, 50, 100],\n showPageInfo: true,\n minRows: 1,\n showSortIcon: true,\n crosstalkId: '__crosstalk__'\n}\n\nReactableData.propTypes = Reactable.propTypes\nReactableData.defaultProps = Reactable.defaultProps\n","import React from 'react'\n\nexport default function useMeta(initialMeta = {}) {\n const [meta, setRawMeta] = React.useState(initialMeta)\n const setMeta = meta => {\n if (meta == null) {\n setRawMeta({})\n return\n }\n if (typeof meta !== 'object' && typeof meta !== 'function') {\n throw new Error('meta must be an object or function')\n }\n setRawMeta(prevMeta => {\n if (typeof meta === 'function') {\n meta = meta(prevMeta)\n }\n const newMeta = { ...prevMeta, ...meta }\n for (let [key, value] of Object.entries(newMeta)) {\n if (value === undefined) {\n delete meta[key]\n }\n }\n return newMeta\n })\n }\n return [meta, setMeta]\n}\n","import React from 'react'\nimport * as ReactDOMServer from 'react-dom/server'\nimport TestRenderer from 'react-test-renderer'\nimport createEmotionServer from '@emotion/server/create-instance'\n\nimport Reactable from './Reactable'\nimport { ReactableData } from './Reactable'\nimport { evaluateStringMember } from './htmlwidgets'\nimport './intl-polyfill'\nimport { getEmotion } from './theme'\n\n// Provide React as a global for users that call React externally in custom JS render functions.\n// Although `global` may not necessarily be available in V8, it is in reactable's V8 context,\n// and Webpack transforms this to a portable assignment that doesn't assume `global` exists anyway.\nglobal.React = React\n\nconst cache = getEmotion().cache\nconst { extractCritical } = createEmotionServer(cache)\n\n// Render to HTML for static rendering\nexport function renderToHTML(inputJson) {\n const input = JSON.parse(inputJson)\n\n const props = input.props\n // Table data comes through double-serialized, first with reactable's custom serialization\n // options, and then with the htmlwidgets default serialization.\n props.data = JSON.parse(props.data)\n\n // Resolve strings marked as JavaScript literals to objects\n if (input.evals) {\n for (let key of input.evals) {\n evaluateStringMember(props, key)\n }\n }\n\n const { html, css, ids } = extractCritical(\n ReactDOMServer.renderToString()\n )\n return { html, css, ids }\n}\n\nlet initialProps\nexport function setInitialProps(inputJson) {\n const start = Date.now()\n const input = JSON.parse(inputJson)\n const { props, evals } = input\n // Resolve strings marked as JavaScript literals to objects\n if (evals) {\n for (let key of evals) {\n evaluateStringMember(props, key)\n }\n }\n initialProps = props\n const end = Date.now()\n debugLog('setInitialProps() JSON parse time: ', end - start)\n debugLog('setInitialProps() initial props: ', JSON.stringify(initialProps, null, 2))\n}\n\nlet testRenderer\n\n// Render to JSON data for server-side data processing\nexport function renderToData(inputJson) {\n const input = JSON.parse(inputJson)\n debugLog('renderToData() input: ', JSON.stringify(input, null, 2))\n const { props, evals } = input\n\n // Resolve strings marked as JavaScript literals to objects, e.g., searchMethod\n if (evals) {\n for (let key of evals) {\n evaluateStringMember(props, key)\n }\n }\n\n let result\n const setResolvedData = data => {\n result = data\n }\n\n if (!testRenderer) {\n const start = Date.now()\n testRenderer = TestRenderer.create(\n \n )\n const end = Date.now()\n debugLog('TestRenderer create time: ', end - start)\n } else {\n const start = Date.now()\n testRenderer.update(\n \n )\n const end = Date.now()\n debugLog('TestRenderer update time: ', end - start)\n }\n\n return result\n}\n\n// Only used for testing\nexport function resetTestRenderer() {\n initialProps = null\n testRenderer = null\n}\n\nlet debugLoggingEnabled\nexport function enableDebugLogging(enabled = true) {\n debugLoggingEnabled = enabled\n}\n\nfunction debugLog(...args) {\n if (!debugLoggingEnabled) {\n return\n }\n console.log('DEBUG ', ...args)\n}\n"],"names":["CanonicalizeLocaleList","locales","Intl","getCanonicalLocales","CanonicalizeTimeZoneName","tz","_a","tzData","uppercaseLinks","uppercasedTz","toUpperCase","uppercasedZones","Object","keys","reduce","all","z","ianaTimeZone","ToString","o","TypeError","String","ToNumber","val","undefined","NaN","Number","TimeClip","time","isFinite","Math","abs","n","number","isNaN","SameValue","integer","floor","ToInteger","ToObject","arg","x","y","is","ArrayCreate","len","Array","HasOwnProperty","prop","prototype","hasOwnProperty","call","Type","MS_PER_DAY","mod","Day","t","WeekDay","DayFromYear","Date","UTC","TimeFromYear","YearFromTime","getUTCFullYear","DaysInYear","DayWithinYear","InLeapYear","MonthFromTime","dwy","leap","Error","DateFromTime","mft","HourFromTime","MS_PER_MINUTE","MinFromTime","MS_PER_SECOND","SecFromTime","OrdinaryHasInstance","C","O","internalSlots","boundTargetFunction","P","isPrototypeOf","msFromTime","CoerceOptionsToObject","options","create","DefaultNumberOption","min","max","fallback","RangeError","concat","GetNumberOption","property","minimum","maximum","GetOption","opts","type","values","value","Boolean","filter","length","join","GetOptionsObject","SANCTIONED_UNITS","removeUnitNamespace","unit","slice","indexOf","SIMPLE_UNITS","map","IsSanctionedSimpleUnitIdentifier","unitIdentifier","IsValidTimeZoneName","zoneNames","Set","linkNames","forEach","add","linkName","has","NOT_A_Z_REGEX","IsWellFormedCurrencyCode","currency","replace","_","c","test","IsWellFormedUnitIdentifier","toLowerCase","units","split","numerator","denominator","getMagnitude","log","LOG10E","repeat","s","times","arr","i","setInternalSlot","pl","field","get","set","setMultiInternalSlots","props","_i","k","getInternalSlot","getMultiInternalSlots","fields","arguments","slots","f","isLiteralPart","patternPart","defineProperty","target","name","configurable","enumerable","writable","invariant","condition","message","Err","ComputeExponentForMagnitude","numberFormat","magnitude","getInternalSlots","notation","dataLocaleData","numberingSystem","compactDisplay","style","currencyDisplay","thresholdMap","numbers","nu","short","decimal","long","num","pow","thresholds","magnitudeKey","other","match","ToRawPrecision","minPrecision","maxPrecision","m","e","xFinal","int","p","xToString","toString","xToStringExponentIndex","xToStringMantissa","xToStringExponent","xToStringMantissaWithoutDecimalPoint","decimalPlaceOffset","round","adjustDecimalPlace","cut","formattedString","roundedNumber","integerDigitsCount","ToRawFixed","minFraction","maxFraction","mantissa","exponent","a","b","FormatNumericToString","intlObject","result","isNegative","roundingType","minimumSignificantDigits","maximumSignificantDigits","minimumFractionDigits","maximumFractionDigits","string","minInteger","minimumIntegerDigits","ComputeExponent","formatNumberResult","CurrencyDigits","currencyDigitsData","digitMapping","S_UNICODE_REGEX","CARET_S_UNICODE_REGEX","RegExp","source","S_DOLLAR_UNICODE_REGEX","CLDR_NUMBER_PATTERN","formatToParts","numberResult","data","nonNameCurrencyPart","numberPattern","sign","defaultNumberingSystem","compactNumberPattern","pattern","compactPluralRules","byNumberingSystem","selectPlural","compactPlaralRule","getPatternForSign","getCompactDisplayPattern","byCurrencyDisplay","currencies","symbol","narrow","standard","currencyData","currencySign","percent","decimalNumberPattern","exec","afterCurrency","currencySpacing","afterInsertBetween","beforeCurrency","beforeInsertBetween","numberPatternParts","numberParts","symbols","numberPatternParts_1","part","push","apply","paritionNumberIntoParts","useGrouping","minusSign","plusSign","percentSign","substring","unitName","unitPattern","currencyNameData","displayName","unitPatternParts_1","unitDisplay","unitData","simple","_b","numeratorUnit","denominatorUnit","numeratorUnitPattern","perUnitPattern","perUnit","perPattern","compound","per","denominatorPattern","_c","_d","interpolateMatch","digitReplacementTable","digit","fraction","decimalSepIndex","groupSepSymbol","group","groups","patternGroups","primaryGroupingSize","secondaryGroupingSize","integerGroup","pop","exponential","exponentResult","zeroPattern","negativePattern","rules","select","PartitionNumberPattern","nan","infinity","signDisplay","FormatNumericToParts","nf","implDetails","parts","parts_1","SetNumberFormatUnitOptions","SetNumberFormatDigitOptions","mnfdDefault","mxfdDefault","mnid","mnfd","mxfd","mnsd","mxsd","InitializeNumberFormat","localeData","availableLocales","numberingSystemNames","getDefaultLocale","requestedLocales","opt","matcher","localeMatcher","r","ResolveLocale","dataLocale","locale","cDigits","PartitionPattern","beginIndex","endIndex","nextIndex","SupportedLocales","LookupSupportedLocales","RangePatternType","_super","isMissingLocaleDataError","__extends","_this","this","exports","isUnicodeLanguageSubtag","isUnicodeScriptSubtag","isUnicodeRegionSubtag","isStructurallyValidLanguageTag","parseUnicodeLanguageId","parseUnicodeLocaleId","tslib_1","parser_1","emitter_1","canonicalizer_1","seen","locales_1","canonicalizedTag","emitUnicodeLocaleId","canonicalizeUnicodeLocaleId","parser_2","__exportStar","_1","should_polyfill_1","window","g","shouldPolyfill","variantAlias","scriptAlias","territoryAlias","languageAlias","canonicalizeUnicodeLanguageId","aliases_generated_1","likelySubtags_generated_1","canonicalizeKVs","arr_1","kv","sort","compareKV","t1","t2","compareExtension","e1","e2","mergeVariants","v1","v2","__spreadArray","v2_1","v","unicodeLanguageId","finalLangAst","variants","replacedLang_1","variant","emitUnicodeLanguageId","lang","replacedLangAst","SEPARATOR","script","region","replacedLang_2","replacedLang_3","replacedLang","regionAlias","replacedRegion","regions","likelySubtag","likelySubtags","likelyRegion","alias","isUnicodeVariantSubtag","extensions","extension","keywords","attributes","strs","str","chunks","extensions_1","ext","ALPHANUM_1_8","ALPHANUM_2_8","ALPHANUM_3_8","KEY_REGEX","TYPE_REGEX","ALPHA_4","OTHER_EXTENSION_TYPE","UNICODE_REGION_SUBTAG_REGEX","UNICODE_VARIANT_SUBTAG_REGEX","UNICODE_LANGUAGE_SUBTAG_REGEX","TKEY_REGEX","shift","parseUnicodeExtension","keyword","parseKeyword","key","parseTransformedExtension","parsePuExtension","exts","parseOtherExtensionValue","tag","__assign","unicodeExtension","transformedExtension","puExtension","otherExtensionMap","parseExtensions","internalSlotMap","WeakMap","Locale","ecma402_abstract_1","intl_getcanonicallocales_1","get_internal_slots_1","__importDefault","RELEVANT_EXTENSION_KEYS","UNICODE_TYPE_REGEX","mergeUnicodeLanguageId","replacement","addLikelySubtags","ast","unicodeLangId","match_1","match_2","parts_2","match_3","parts_3","constructor","relevantExtensionKeys","internalSlotsList","default","initializedLocale","language","languageId","applyOptionsToTag","calendar","ca","collation","co","hc","kf","kn","_kn","isArray","relevantExtensionKeys_1","entry","keywords_1","optionsValue","applyUnicodeExtensionToTag","hourCycle","caseFirst","numeric","maximize","minimize","maxLocale","removeLikelySubtags","Symbol","toStringTag","hasIntlGetCanonicalLocalesBug","BestAvailableLocale","candidate","pos","lastIndexOf","subset","requestedLocales_1","noExtensionLocale","availableLocale","UnicodeExtensionValue","size","searchValue","start","end","done","LookupMatcher","foundLocale","minimizedAvailableLocaleMap","availableLocaleMap","canonicalizedLocaleMap","minimizedAvailableLocales","minimizedLocale","canonicalizedLocale","l","maximizedRequestedLocale","minimizedRequestedLocale","BestFitMatcher","supportedExtension","foundLocaleData","keyLocaleData","supportedExtensionAddition","requestedValue","privateIndex","preExtension","postExtension","UNICODE_EXTENSION_SEQUENCE_REGEX","defaultLocale","algorithm","NumberFormat","__addLocaleData","core_1","to_locale_string_1","toLocaleString","intl_localematcher_1","supported_locales_generated_1","format","supportsES2020","polyfilled","supportedLocalesOf","supportedLocales","currency_digits_generated_1","numbering_systems_generated_1","RESOLVED_OPTIONS_KEYS","toNumeric","PluralRules","ro","RESOLVED_OPTIONS_KEYS_1","formatDescriptor","boundFormat","data_1","d","__defaultLocale","__addUnitData","unitsData","existingData","GetOperands","iv","dp","fv","w","ft","IntegerDigits","NumberOfFractionDigits","NumberOfFractionDigitsWithoutTrailing","FractionDigits","FractionDigitsWithoutTrailing","InitializePluralRules","initializedPluralRules","ResolvePlural","GetOperands_1","PluralRuleSelect","InitializePluralRules_1","ResolvePlural_1","validateInstance","instance","method","_n","fn","resolvedOptions","pluralCategories","categories","error","ex","evaluateStringMember","member","splitWithEscape","tryEval","splitChar","escapeChar","results","escapeMode","currentResult","code","eval","SyntaxError","setTimeout","clearTimeout","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","Arr","_byteLength","curByte","revLookup","charCodeAt","fromByteArray","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","Uint8Array","output","base64","ieee754","customInspectSymbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","buf","setPrototypeOf","encodingOrOffset","allocUnsafe","from","encoding","isEncoding","actual","write","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","obj","isBuffer","checked","numberIsNaN","fromObject","toPrimitive","assertSize","array","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","base64Write","ucs2Write","hi","lo","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","typedArraySupport","console","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","list","swap16","swap32","swap64","equals","inspect","trim","thisStart","thisEnd","thisCopy","targetCopy","includes","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","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","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","errors","E","sym","getMessage","Base","super","stack","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","INVALID_BASE64_RE","Infinity","leadSurrogate","base64clean","src","dst","alphabet","table","i16","BufferBigIntNotDefined","GetIntrinsic","callBind","$indexOf","module","allowMissing","intrinsic","bind","$apply","$call","$reflectApply","$gOPD","$defineProperty","$max","originalFunction","func","desc","applyBind","objectToString","isBoolean","isNull","isNullOrUndefined","isNumber","isString","isSymbol","isUndefined","isRegExp","re","isObject","isDate","isError","isFunction","isPrimitive","stream","DuplexWrapper","readable","Duplex","Readable","wrap","_writable","_readable","_waiting","self","once","on","_read","bubbleErrors","err","emit","_write","reads","pna","objectKeys","util","inherits","Writable","allowHalfOpen","onend","_writableState","ended","nextTick","onEndNT","highWaterMark","_readableState","destroyed","_destroy","cb","PassThrough","Transform","_transform","chunk","ReadableState","EElistenerCount","emitter","listeners","Stream","OurUint8Array","debugUtil","debug","debuglog","StringDecoder","BufferList","destroyImpl","kProxyEvents","isDuplex","objectMode","readableObjectMode","hwm","readableHwm","readableHighWaterMark","defaultHwm","pipes","pipesCount","flowing","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","defaultEncoding","awaitDrain","readingMore","decoder","destroy","readableAddChunk","addToFront","skipChunkCheck","er","state","emitReadable","onEofChunk","chunkInvalid","getPrototypeOf","_uint8ArrayToBuffer","addChunk","maybeReadMore","needMoreData","unshift","_undestroy","undestroy","isPaused","setEncoding","enc","MAX_HWM","howMuchToRead","head","computeNewHighWaterMark","emitReadable_","flow","maybeReadMore_","nReadingNextTick","resume_","fromList","clear","hasStrings","next","nb","tail","copyFromBufferString","copyFromBuffer","fromListPartial","endReadable","endReadableNT","xs","nOrig","doRead","pipe","dest","pipeOpts","endFn","process","stdout","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","removeListener","onclose","onfinish","ondrain","onerror","ondata","cleanedUp","needDrain","pipeOnDrain","increasedAwaitDrain","pause","event","prependListener","_events","resume","dests","index","splice","ev","addListener","paused","_fromList","afterTransform","ts","_transformState","transforming","writecb","writechunk","rs","needTransform","writeencoding","transform","flush","_flush","prefinish","_this2","err2","CorkedRequest","finish","corkReq","callback","pendingcb","onCorkedFinish","corkedRequestsFree","asyncWrite","browser","version","setImmediate","WritableState","realHasInstance","internalUtil","deprecate","nop","writableObjectMode","writableHwm","writableHighWaterMark","finalCalled","ending","finished","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","count","allBuffers","isBuf","callFinal","need","getBuffer","current","hasInstance","Function","object","writeAfterEnd","valid","validChunk","newChunk","decodeChunk","writeOrBuffer","cork","uncork","setDefaultEncoding","endWritable","Constructor","_classCallCheck","custom","emitErrorNT","readableDestroyed","writableDestroyed","env","READABLE_STREAM","nenc","retried","_normalizeEncoding","normalizeEncoding","text","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckExtraBytes","total","utf8CheckIncomplete","ReflectOwnKeys","R","Reflect","ReflectApply","receiver","args","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","NumberIsNaN","EventEmitter","init","Promise","resolve","reject","errorListener","resolver","eventTargetAgnosticAddListener","handler","flags","addErrorHandlerIfEventEmitter","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","that","_addListener","prepend","events","existing","warning","newListener","warned","warn","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","unwrap","evlistener","unwrapListeners","arrayClone","listenerCount","addEventListener","wrapListener","removeEventListener","setMaxListeners","getMaxListeners","doError","context","prependOnceListener","position","originalListener","spliceOne","off","removeAllListeners","rawListeners","eventNames","isCallable","toStr","forEachArray","iterator","forEachString","charAt","forEachObject","thisArg","ERROR_MESSAGE","funcType","bound","binder","boundLength","boundArgs","Empty","implementation","$SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols","getProto","__proto__","needsEval","TypedArray","INTRINSICS","AggregateError","Atomics","DataView","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","JSON","Map","parseFloat","Proxy","ReferenceError","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakRef","WeakSet","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","stringToPath","quote","subString","getBaseIntrinsic","intrinsicName","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","origSymbol","hasSymbolSham","symObj","syms","propertyIsEnumerable","descriptor","bufferFrom","Tokenize","codes","strings","endScript","endStyle","endTitle","comment","endComment","cdata","endCdata","tagState","quoteState","raw","buffers","_last","lower","isWhiteSpace","_prev","_offset","_testRaw","_pushState","_getChar","_getTag","isModern","maxLength","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","ctor","superCtor","super_","TempCtor","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","callee","supportsStandardArguments","badArrayLike","isCallableMarker","fnToStr","reflectApply","constructorRegex","isES6ClassFn","fnStr","documentDotAll","document","tryFunctionObject","strClass","GeneratorFunction","isFnRegex","generatorFunc","getGeneratorFunc","availableTypedArrays","globalThis","typedArrays","$slice","toStrTags","gOPD","typedArray","superProto","anyTrue","getter","tryTypedArrays","duplexer","objectAssign","defaultOpts","streams","lastArg","propIsEnumerable","toObject","assign","test1","test2","test3","letter","shouldUseNative","to","arg1","arg2","arg3","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","title","argv","versions","binding","cwd","chdir","umask","aa","q","u","B","ba","D","da","ea","fa","ha","ia","ja","ka","la","for","F","$$typeof","_context","render","_render","_payload","_init","ma","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","na","I","_threadCount","_currentValue2","J","K","pa","qa","ra","sa","ta","M","h","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","N","wa","xa","xlinkHref","ya","za","ua","va","Ba","Q","S","T","U","V","W","Ca","memoizedState","Da","Ea","Fa","Ga","Ha","dispatch","delete","action","Ia","Ja","Ka","X","La","readContext","threadID","useContext","useMemo","useReducer","useRef","useState","useLayoutEffect","useCallback","useImperativeHandle","useEffect","useDebugValue","useDeferredValue","useTransition","useOpaqueIdentifier","identifierPrefix","uniqueID","useMutableSource","_source","Ma","Na","Oa","area","base","br","col","embed","hr","img","keygen","link","meta","param","track","wbr","Pa","menuitem","Y","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","Qa","Ra","Sa","Z","Children","toArray","Ta","ReactCurrentDispatcher","Ua","listing","pre","textarea","Va","Wa","Xa","Za","$a","children","dangerouslySetInnerHTML","suppressContentEditableWarning","suppressHydrationWarning","ab","isValidElement","domNamespace","childIndex","footer","exhausted","currentSelectValue","previousWasTextNode","makeStaticMarkup","suspenseDepth","contextIndex","contextStack","contextValueStack","clearProviders","pushProvider","popProvider","L","G","fallbackFrame","then","isReactComponent","contextType","contextTypes","oa","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","getDerivedStateFromProps","updater","UNSAFE_componentWillMount","componentWillMount","H","getChildContext","childContextTypes","A","child","bb","renderDOM","ref","createElement","defaultChecked","defaultValue","Ya","selected","eb","__html","partialRenderer","db","renderToString","removeAttribute","setAttribute","setAttributeNS","Aa","prepareStackTrace","construct","nodeName","_valueTracker","getValue","setValue","stopTracking","activeElement","body","_wrapperState","initialChecked","initialValue","controlled","ownerDocument","fb","defaultSelected","disabled","gb","hb","ib","jb","textContent","kb","lb","mb","ob","namespaceURI","innerHTML","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeType","nodeValue","qb","rb","sb","tb","setProperty","ub","vb","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","dehydrated","ac","dc","ec","fc","gc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","priority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","animation","transition","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","id","uc","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","stopPropagation","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","now","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","location","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","password","search","tel","url","week","me","ne","oe","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","node","nextSibling","Me","contains","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","href","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","$e","af","bf","random","cf","df","capture","passive","Nb","ef","ff","parentWindow","gf","hf","je","char","ke","jf","lf","mf","autoFocus","of","pf","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","ReactCurrentBatchConfig","lg","defaultProps","mg","ng","og","pg","qg","rg","_currentValue","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","Dg","Eg","Fg","Component","refs","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","shouldComponentUpdate","isPureReactComponent","Mg","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","componentDidMount","Pg","Qg","_owner","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","sibling","Tg","Ug","mode","elementType","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","documentElement","tagName","fh","gh","hh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","Lh","Mh","_getVersion","mutableReadLanes","Nh","getSnapshot","subscribe","setSnapshot","Oh","Ph","Qh","Rh","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","unstable_isNewReconciler","uf","ei","ReactCurrentOwner","fi","gi","ii","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","getDerivedStateFromError","ri","pendingContext","Bi","Di","Ei","si","retryLane","ti","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onClick","onclick","createElementNS","createTextNode","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","element","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","focus","aj","display","bj","onCommitFiberUnmount","componentWillUnmount","cj","dj","ej","fj","gj","hj","insertBefore","_reactRootContainer","ij","jj","kj","lj","mj","nj","ceil","oj","pj","qj","rj","sj","tj","uj","vj","wj","ck","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","pingCache","Yj","Zj","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","extend","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","onCommitFiberRoot","fk","gk","ik","pendingChildren","jk","mutableSourceEagerHydrationData","lk","nk","ok","qk","hydrationOptions","mutableSources","_internalRoot","hk","_calculateChangedBits","unstable_observedBits","unmount","querySelectorAll","stringify","form","Vj","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","bc","cc","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","__REACT_DEVTOOLS_GLOBAL_HOOK__","yk","isDisabled","supportsFiber","inject","checkDCE","rootContainerInstance","createNodeMock","_workInProgressVersionSecondary","ad","Cd","Ed","Gd","Kd","Sd","Ud","Wd","isHidden","internalInstanceHandle","Ge","MessageChannel","port1","onmessage","port2","postMessage","IsSomeRendererActing","unstable_flushAllWithoutAsserting","rendered","_fiber","_currentFiber","find","findAll","deep","findByType","findAllByType","findByProps","findAllByProps","jest","runOnlyPendingTimers","_Scheduler","act","unstable_isConcurrent","root","toTree","update","getInstance","unstable_flushSync","unstable_batchedUpdates","unstable_concurrentAct","_isMockFunction","Fragment","StrictMode","Profiler","Suspense","setState","forceUpdate","__self","__source","escape","_status","_result","only","PureComponent","cloneElement","createContext","Provider","Consumer","createFactory","createRef","forwardRef","lazy","memo","EE","calledRead","ranOut","roundUpToNextPowerOf2","emitDataEvents","pipeOnReadable","startPaused","stringMode","cpy","cleanup","TransformState","ws","WriteReq","copyProps","SafeBuffer","sortIndex","startTime","expirationTime","priorityLevel","unstable_Profiling","unstable_advanceTime","unstable_clearYields","unstable_continueExecution","unstable_flushAll","unstable_flushExpired","unstable_flushNumberOfYields","unstable_flushUntilNextPaint","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","delay","unstable_wrapCallback","unstable_yieldValue","performance","cancelAnimationFrame","requestAnimationFrame","pipeline","_isStdio","didOnEnd","createErrorType","NodeError","oneOf","expected","thing","determiner","this_len","endsWith","createReadableStreamAsyncIterator","getHighWaterMark","_require$codes","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","emitClose","autoDestroy","content","updateReadableListening","consume","wState","asyncIterator","iterable","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","rState","_Object$setPrototypeO","_defineProperty","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","iter","onReadable","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","promise","lastPromise","wrapForNext","_Object$create","enumerableOnly","_defineProperties","protoProps","_getString","_getBuffer","getOwnPropertyDescriptors","defineProperties","_objectSpread","depth","customInspect","emitErrorAndCloseNT","emitCloseNT","ERR_STREAM_PREMATURE_CLOSE","eos","called","_len","_key","onlegacyfinish","writableEnded","readableEnded","onrequest","req","setHeader","abort","isRequest","asyncGeneratorStep","_next","_throw","info","_asyncToGenerator","_next2","_ref","ERR_MISSING_ARGS","destroyer","closed","popCallback","destroys","ERR_INVALID_OPT_VALUE","duplexKey","highWaterMarkFrom","isBufferEncoding","assertEncoding","surrogateSize","detectIncompleteChar","utf16DetectIncompleteChar","base64DetectIncompleteChar","passThroughWrite","charBuffer","charReceived","charLength","charStr","available","cr","through","_ended","drain","_end","extendStatics","__","__rest","__decorate","decorators","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","_arguments","generator","fulfilled","step","rejected","__generator","label","sent","trys","ops","verb","op","__createBinding","k2","__esModule","__values","__read","ar","__spread","__spreadArrays","il","jl","pack","__await","__asyncGenerator","fulfill","settle","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","__setModuleDefault","__importStar","__classPrivateFieldGet","kind","__classPrivateFieldSet","__classPrivateFieldIn","isArgumentsObject","isGeneratorFunction","whichTypedArray","isTypedArray","uncurryThis","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","isArrayBuffer","working","isDataViewToString","isDataView","isPromise","catch","isArrayBufferView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isFloat32Array","isFloat64Array","isBigInt64Array","isBigUint64Array","isMap","isSet","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","isBoxedPrimitive","isAnyArrayBuffer","descriptors","formatRegExp","objects","noDeprecation","throwDeprecation","traceDeprecation","trace","debugs","debugEnvRegex","NODE_DEBUG","debugEnv","ctx","stylize","stylizeNoColor","colors","showHidden","_extend","stylizeWithColor","formatValue","styleType","styles","recurseTimes","primitive","formatPrimitive","visibleKeys","hash","idx","arrayToHash","formatError","braces","toUTCString","formatProperty","formatArray","prev","cur","reduceToSingleString","line","pad","pid","types","isNativeError","months","timestamp","getHours","getMinutes","getSeconds","getDate","getMonth","origin","kCustomPromisifiedSymbol","callbackifyOnRejected","reason","newReason","promisify","original","promiseResolve","promiseReject","callbackify","callbackified","maybeCb","rej","foundName","possibleNames","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","definition","nmd","paths","createExtractCritical","cache","html","RGX","ids","css","inserted","registered","createExtractCriticalToChunks","regularCssIds","regularCss","generateStyleTag","cssKey","nonceString","createRenderStylesToString","regex","globalIds","globalStyles","lastInsertionPoint","_id","_style","createRenderStylesToNodeStream","insed","tokenStream","inlineStream","fragment","createConstructStyleTagsFromChunks","criticalData","styleTagsString","item","renderErr","actions","emptyRenderer","defaultColumn","Cell","minWidth","maxWidth","MAX_SAFE_INTEGER","mergeProps","propList","className","rest","handlePropGetter","prevProps","userProps","makePropGetter","hooks","reduceHooks","initial","loopHooks","hook","ensurePluginOrder","plugins","befores","pluginName","afters","findIndex","plugin","before","functionalUpdate","old","useGetLatest","React","safeUseLayoutEffect","useMountedLayoutEffect","mountedRef","makeRenderer","column","Comp","flexRender","component","isClassComponent","description","isExoticComponent","linkColumnStructure","parent","assignColumnAccessor","flattenColumns","flat","recurse","accessor","Header","accessorPath","row","path","def","cacheKey","pathObj","pathObjCache","flattenDeep","reOpenBracket","reCloseBracket","makePathArray","cursor","pathPart","getBy","decorateColumn","userDefaultColumn","Footer","originalWidth","makeHeaderGroups","allColumns","additionalHeaderProperties","headerGroups","scanColumns","uid","getUID","headerGroup","headers","parentColumns","hasParents","some","newParent","latestParentColumn","reverse","originalId","placeholderOf","getFirstDefined","expandRows","rows","manualExpandedKey","expanded","expandSubRows","expandedRows","handleRow","addToExpandedRows","isExpanded","canExpand","subRows","getFilterMethod","userFilterTypes","filterTypes","shouldAutoRemoveFilter","autoRemove","unpreparedAccessWarning","newArr","defaultGetTableProps","role","defaultGetTableBodyProps","defaultGetHeaderProps","colSpan","totalVisibleHeaderCount","defaultGetFooterProps","defaultGetHeaderGroupProps","defaultGetFooterGroupProps","defaultGetRowProps","defaultGetCellProps","cell","makeDefaultPluginHooks","useOptions","stateReducers","useControlledState","columnsDeps","allColumnsDeps","accessValue","materializedColumns","materializedColumnsDeps","useInstanceAfterData","visibleColumns","visibleColumnsDeps","headerGroupsDeps","useInstanceBeforeDimensions","useInstance","prepareRow","getTableProps","getTableBodyProps","getHeaderGroupProps","getFooterGroupProps","getHeaderProps","getFooterProps","getRowProps","getCellProps","useFinalInstance","resetHiddenColumns","toggleHideColumn","setHiddenColumns","toggleHideAllColumns","useColumnVisibility","getToggleHiddenProps","defaultGetToggleHiddenProps","getToggleHideAllColumnsProps","defaultGetToggleHideAllColumnsProps","reducer","hiddenColumns","onChange","toggleHidden","isVisible","allColumnsHidden","indeterminate","previousState","initialState","columnId","shouldAll","handleColumn","parentVisible","subColumn","subHeader","flatHeaders","getHooks","autoResetHiddenColumns","getAutoResetHiddenColumns","defaultInitialState","defaultColumnInstance","defaultReducer","prevState","defaultGetSubRows","defaultGetRowId","defaultUseControlledState","applyDefaults","getSubRows","getRowId","stateReducer","useTable","instanceRef","userColumns","getStateReducer","reducerState","flatRows","rowsById","allColumnsQueue","accessRowsForColumn","accessValueHooks","initialRows","visibleColumnsDep","calculateHeaderWidths","totalColumnsMinWidth","totalColumnsWidth","totalColumnsMaxWidth","footerGroups","allCells","cells","sumTotalMinWidth","sumTotalWidth","sumTotalMaxWidth","sumTotalFlexWidth","header","subHeaders","totalLeft","totalMinWidth","totalWidth","totalMaxWidth","totalFlexWidth","canResize","accessRow","originalRow","rowIndex","parentRows","originalSubRows","resetExpanded","toggleRowExpanded","toggleAllRowsExpanded","useExpanded","getToggleAllRowsExpandedProps","defaultGetToggleAllRowsExpandedProps","getToggleRowExpandedProps","defaultGetToggleRowExpandedProps","isAllRowsExpanded","rowId","setExpanded","exists","shouldExist","paginateExpandedRows","autoResetExpanded","getAutoResetExpanded","expandedDepth","maxDepth","splitId","findExpandedDepth","preExpandedRows","filterValue","rowValue","exactText","exactTextCase","includesAll","every","includesSome","includesValue","exact","between","temp","resetFilters","setFilter","setAllFilters","useFilters","filters","filterMethod","previousfilter","newFilter","manualFilters","defaultCanFilter","disableFilters","autoResetFilters","columnDefaultCanFilter","columnDisableFilters","canFilter","filteredFlatRows","filteredRowsById","filterRows","filteredRows","filteredSoFar","preFilteredRows","nonFilteredColumns","getAutoResetFilters","preFilteredFlatRows","preFilteredRowsById","resetGlobalFilter","setGlobalFilter","useGlobalFilter","globalFilter","manualGlobalFilter","globalFilterValue","autoResetGlobalFilter","disableGlobalFilter","columnDisableGlobalFilter","filterableColumns","globalFilteredRows","globalFilteredFlatRows","globalFilteredRowsById","getAutoResetGlobalFilter","preGlobalFilteredRows","preGlobalFilteredFlatRows","preGlobalFilteredRowsById","sum","aggregatedValues","minMax","average","median","mid","nums","unique","uniqueCount","resetGroupBy","setGroupBy","toggleGroupBy","reSplitAlphaNumeric","alphanumeric","rowA","rowB","getRowValuesByColumnID","an","bn","combo","compareBasic","getTime","basic","alower","blower","replaceNonNumeric","row1","row2","resetSortBy","setSortBy","toggleSortBy","clearSortBy","sortType","sortDescFirst","useSortBy","getSortByToggleProps","defaultGetSortByToggleProps","isMultiSortEvent","canSort","disableMultiSort","sortBy","newSortBy","sortAction","multi","disableSortRemove","disableMultiRemove","maxMultiSortColCount","existingSortBy","existingIndex","hasDescDefined","orderByFn","defaultOrderByFn","userSortTypes","sortTypes","manualSortBy","defaultCanSort","disableSortBy","autoResetSortBy","defaultColumnCanSort","columnDisableSortBy","columnSort","isSorted","sortedIndex","isSortedDesc","sortedFlatRows","availableSortBy","sortData","sortedData","sortMethod","sortInverted","sortedRows","getAutoResetSortBy","preSortedRows","preSortedFlatRows","funcs","dirs","sortFn","sortInt","components","attribs","resetPage","gotoPage","setPageSize","resetPivot","togglePivot","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","setRowState","setCellState","resetRowState","resetColumnOrder","setColumnOrder","columnStartResizing","columnResizing","columnDoneResizing","resetResize","StyleSheet","_insertTag","tags","insertionPoint","container","isSpeedy","speedy","ctr","nonce","_proto","nodes","insert","rule","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","indexof","begin","character","characters","peek","caret","token","dealloc","delimit","delimiter","whitespace","escaping","commenter","identifier","MS","MOZ","WEBKIT","COMMENT","DECLARATION","KEYFRAMES","serialize","prefix","middleware","collection","compile","parse","rulesets","pseudo","points","declarations","atrule","previous","variable","scanning","ampersand","reference","declaration","ruleset","post","identifierWithPointTracking","fixedElements","compat","isImplicitRule","toRules","getRules","parentRules","removeLabel","isBrowser","getServerStylisCache","defaultStylisPlugins","ssrStyles","getAttribute","_insert","stylisPlugins","nodesToHydrate","attrib","omnipresentPlugins","currentSheet","finalizingPlugins","serializer","selector","serialized","shouldCache","_finalizingPlugins","_serializer","serverStylisCache","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","handleInterpolation","mergedProps","interpolation","__emotion_styles","anim","interpolated","createStringFromObject","previousCursor","cached","labelPattern","serializeStyles","lastIndex","identifierName","getRegisteredStyles","registeredStyles","classNames","rawClassName","insertStyles","isStringTag","registerStyles","stylesForSSR","maybeStyles","insertWithoutScoping","merge","classnames","cls","toAdd","emotion","classes","removeEmptyProps","entries","escapeRegExp","getLeafColumns","leafColumns","recurseColumn","convertRowsToV6","_subRows","rowsToCSV","columnIds","sep","dec","rowToCSV","toISOString","csvRows","downloadCSV","filename","blob","Blob","navigator","msSaveBlob","URL","createObjectURL","download","click","revokeObjectURL","getFirstDefinedProp","defaultVal","getEmotion","rel","parentElement","cx","_len4","_key4","injectGlobal","_len3","_key3","keyframes","_len2","_key2","createEmotion","defaultLanguage","sortLabel","filterPlaceholder","filterLabel","searchPlaceholder","searchLabel","noData","pageNext","pagePrevious","pageNumbers","pageInfo","pageSizeOptions","pageNextLabel","pagePreviousLabel","pageNumberLabel","pageJumpLabel","pageSizeOptionsLabel","groupExpandLabel","detailsExpandLabel","selectAllRowsLabel","selectAllSubRowsLabel","selectRowLabel","defaultGroupHeader","detailsCollapseLabel","deselectAllRowsLabel","deselectAllSubRowsLabel","deselectRowLabel","renderTemplate","template","params","separator","templateParams","PageButton","isCurrent","Pagination","changePage","applyPage","pageJumpValue","page","prevPage","newPage","onPageChange","currentPage","pageSize","pageRowCount","rowCount","rowStart","rowEnd","onPageSizeChange","option","elements","onBlur","onKeyPress","inputType","nearestValidPage","pages","paginationType","showPageSizeOptions","showPageInfo","canPrevious","canNext","theme","renderPageInfo","renderPageSizeOptions","visiblePages","totalPages","getVisiblePages","pageButtons","pageButton","renderPageJump","getPageJumpProperties","prevButton","nextButton","paginationStyle","WidgetContainer","staticRender","HTMLWidgets","throttled","lastCall","useFlexLayout","getTheadProps","getRowGroupStyles","getTfootProps","getRowStyles","asPx","flexWidth","resizedWidths","columnWidths","calculateFlexWidths","isFixedWidth","useStickyColumns","stickyProps","groupColumns","firstStickyCol","sticky","stickyCols","right","getStickyProps","aggregations","emptyArray","emptyObject","useGroupBy","getGroupByToggleProps","defaultGetGroupByToggleProps","groupBy","canGroupBy","resolvedGroupBy","groupByColumns","nonGroupByColumns","isGrouped","groupedIndex","defaultUserAggregations","groupByFn","defaultGroupByFn","manualGroupBy","userAggregations","autoResetGroupBy","disableGroupBy","defaultCanGroupBy","defaultColumnGroupBy","defaultGroupBy","columnDisableGroupBy","Aggregated","existingGroupBy","parentId","setGroupingProps","groupedColumns","aggregatedColumns","groupByID","aggregateRowsToValues","leafRows","groupedRows","aggregateFn","aggregate","leafValues","columnValue","aggregateValue","aggregateValueFn","groupedFlatRows","groupedRowsById","onlyGroupedFlatRows","onlyGroupedRowsById","nonGroupedFlatRows","nonGroupedRowsById","groupUpRecursively","rowGroupsMap","aggregatedGroupedRows","groupByVal","flattenBy","groupIndex","subRow","getAutoResetGroupBy","preGroupedRows","preGroupedFlatRow","preGroupedRowsById","isAggregated","isPlaceholder","resKey","passiveSupported","useResizeColumns","getResizerProps","defaultGetResizerProps","onResizeStart","isTouchEvent","raf","mostRecentClientX","headersToResize","getAllColumns","headerIdWidths","getDOMWidth","columnWidth","dispatchMove","dispatchEnd","scheduleDispatchMoveOnNextAnimationFrame","clientXPos","handlersAndEvents","mouse","moveEvent","moveHandler","upEvent","upHandler","touch","passiveIfSupported","supported","passiveEventSupported","onMouseDown","onTouchStart","draggable","startX","isResizingColumn","percentageDeltaX","newColumnWidths","headerId","headerWidth","disableResizing","isResizing","autoResetResize","getAutoResetResize","resetResizing","useRowSelect","getToggleRowSelectedProps","defaultGetToggleRowSelectedProps","getToggleAllRowsSelectedProps","defaultGetToggleAllRowsSelectedProps","getToggleAllPageRowsSelectedProps","defaultGetToggleAllPageRowsSelectedProps","setRowsSelected","manualRowSelectedKey","isSelected","isSomeSelected","isAllRowsSelected","selectedRowIds","isAllPageRowsSelected","setSelected","selectAll","selectSubRows","newSelectedRowIds","handleRowById","autoResetSelectedRows","selectedFlatRows","getRowIsSelected","getAutoResetSelectedRows","allChildrenSelected","someSelected","availableSubRows","usePagination","pageIndex","pageCount","newPageIndex","canNavigate","topRowIndex","autoResetPage","userPageCount","disablePagination","manualPagination","userRowCount","getAutoResetPage","pageOptions","pageStart","pageEnd","canPreviousPage","canNextPage","previousPage","nextPage","omitMissingNumbers","mean","numericAggregators","defaultAggregators","maxValue","minValue","frequency","counts","getAggregateFunction","digits","emptyValue","subRowsKey","normalizeColumnData","convertJSONNumbers","columnsToRows","names","numericRowStateColumns","materializedRowsToData","paginateSubRows","parentRowIds","subRowCount","rowState","grouped","dataRow","RawHTML","buildColumnDefs","tableProps","sortable","defaultSortDesc","showSortIcon","showSortable","filterable","resizable","createCompareFunction","naLast","sortNALast","searchable","show","createMatcher","createStartsWithMatcher","createSubstringMatcher","align","vAlign","headerVAlign","cellInfo","isMissingValue","aggregated","Grouped","sortClass","colAlignClass","getAlignClass","cellVAlignClass","getVAlignClass","headerVAlignClass","headerClassName","footerClassName","getProps","rowInfo","addColumnGroups","groupIds","newCols","lastGroup","isUngrouped","suffix","separators","hour12","toLocaleDateString","toLocaleTimeString","tableInstances","Reactable","columnGroups","dataKey","backgroundColor","borderColor","borderWidth","stripedColor","highlightColor","cellPadding","tableBorderColor","tableBorderWidth","tableStyle","headerBorderColor","headerBorderWidth","headerStyle","groupHeaderBorderColor","groupHeaderBorderWidth","groupHeaderStyle","tableBodyStyle","rowGroupStyle","rowStyle","rowStripedStyle","rowHighlightStyle","rowSelectedStyle","cellBorderColor","cellBorderWidth","cellStyle","footerBorderColor","footerBorderWidth","footerStyle","inputStyle","filterInputStyle","searchInputStyle","selectStyle","pageButtonStyle","pageButtonHoverStyle","pageButtonActiveStyle","pageButtonCurrentStyle","expanderColor","selectColor","padding","filterCellStyle","expanderStyle","borderTopColor","borderTopWidth","backgroundImage","createTheme","Table","useMemoizedObject","objStr","ReactableData","TableData","RootComponent","TableComponent","TheadComponent","TbodyComponent","TfootComponent","TrGroupComponent","TrComponent","ThComponent","innerClassName","thProps","skipNextSort","setSkipNextSort","currentSortOrder","defaultSortOrder","toggleSort","isMultiSort","sortDesc","tabIndex","onMouseUp","TdComponent","getCellTheme","ResizerComponent","RowDetails","Shiny","bindAll","el","unbindAll","ExpanderComponent","ariaLabel","FilterComponent","placeholder","SearchComponent","setSearch","NoDataComponent","SelectInputComponent","searchMethod","pagination","selection","crosstalkGroup","crosstalkId","setResolvedData","dataColumns","cols","matchers","selectable","ctCol","maxRowCount","originalData","defaultSorted","showPagination","defaultPageSize","minRows","defaultExpanded","selectionId","outlined","bordered","borderless","compact","nowrap","striped","highlight","rowClassName","inline","initialMeta","crosstalkKey","elementId","nested","dataURL","initialServerRowCount","serverRowCount","initialServerMaxRowCount","serverMaxRowCount","newData","setNewData","useServerData","setServerRowCount","setServerMaxRowCount","setRawMeta","setMeta","prevMeta","newMeta","useMeta","setRowProps","skipInitialFetch","fetch","json","selectedRowIndexes","indexes","selectedIndexes","onInputChange","searchableRef","rowData","stateInfo","sorted","pageRows","headerRefs","handleHeader","getBoundingClientRect","isFilterable","filterableRef","expandedColumns","setExpandedColumns","rootElement","keyboardActiveProps","classList","remove","onKeyDown","onKeyUp","tableElement","tableHasScrollbar","setTableHasScrollbar","checkTableHasScrollbar","scrollHeight","clientHeight","scrollWidth","clientWidth","ResizeObserver","resizeObserver","observe","disconnect","outputId","sortInfo","getPageCount","addCustomMessageHandler","newState","jsEvals","ctRef","crosstalk","ct","SelectionHandle","FilterHandle","filtered","filteredKeys","rowByKey","applyCrosstalkFilter","selectedKeys","setCrosstalkSelection","sender","skipNextSelection","close","downloadDataCSV","csv","getDataCSV","dataColumnIds","origToggleHideColumn","setData","resetSelected","stateCallbacks","onStateChange","listenerFn","defaultFn","defaultWait","debounceRef","getDefaultFn","getDefaultWait","useAsyncDebounce","getTableInstance","instanceId","theadProps","tableClassName","isGroupHeader","headerGroupKey","headerGroupProps","resizer","headerProps","themeClass","resolvedHeaderProps","filterInput","filterCellProps","resolvedFilterCellProps","padRows","hasStickyColumns","rowHighlightClass","rowStripedClass","viewIndex","rowCls","level","rowProps","expandedId","rowDetails","expandedCol","details","makeRowDetails","resolvedRowProps","colIndex","cellProps","rowHeader","hasDetails","expander","newExpandedColumns","textOverflow","userSelect","expanderProps","canRowSelect","resolvedCellProps","padRowCount","tbodyProps","makeTbody","hasFooters","tfootProps","footerProps","resolvedFooterProps","makeTfoot","minPageSize","makePagination","global","initialProps","testRenderer","debugLoggingEnabled","extractCritical","extractCriticalToChunks","renderStylesToString","renderStylesToNodeStream","constructStyleTagsFromChunks","createEmotionServer","renderToHTML","inputJson","evals","ReactDOMServer","setInitialProps","debugLog","renderToData","TestRenderer","resetTestRenderer","enableDebugLogging","enabled"],"sourceRoot":""} \ No newline at end of file diff --git a/articles/quarto/observable-reactable_files/reactable-0.4.4.9000/reactable.yaml b/articles/quarto/observable-reactable_files/reactable-0.4.4.9000/reactable.yaml new file mode 100644 index 00000000..d90dd724 --- /dev/null +++ b/articles/quarto/observable-reactable_files/reactable-0.4.4.9000/reactable.yaml @@ -0,0 +1,5 @@ +dependencies: + - name: reactable + version: 0.4.4.9000 + src: htmlwidgets + stylesheet: reactable.css diff --git a/articles/quarto/observable-reactable_files/reactable-binding-0.4.4.9000/reactable.js b/articles/quarto/observable-reactable_files/reactable-binding-0.4.4.9000/reactable.js new file mode 100644 index 00000000..6f2f03d5 --- /dev/null +++ b/articles/quarto/observable-reactable_files/reactable-binding-0.4.4.9000/reactable.js @@ -0,0 +1,2 @@ +!function(){var e={n:function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};!function(){"use strict";e.r(t),e.d(t,{ReactableData:function(){return fu},downloadDataCSV:function(){return eu},getDataCSV:function(){return tu},getInstance:function(){return Ui},getState:function(){return Ki},gotoPage:function(){return uu},onStateChange:function(){return iu},setAllFilters:function(){return Xi},setData:function(){return au},setFilter:function(){return Ji},setGroupBy:function(){return Yi},setHiddenColumns:function(){return ou},setMeta:function(){return ru},setPageSize:function(){return lu},setSearch:function(){return qi},toggleAllRowsExpanded:function(){return Qi},toggleGroupBy:function(){return Zi},toggleHideColumn:function(){return nu}});var r={};e.r(r),e.d(r,{between:function(){return ut},equals:function(){return it},exact:function(){return at},exactText:function(){return Qe},exactTextCase:function(){return et},includes:function(){return tt},includesAll:function(){return rt},includesSome:function(){return nt},includesValue:function(){return ot},text:function(){return Ye}});var n={};e.r(n),e.d(n,{average:function(){return At},count:function(){return Bt},max:function(){return Ct},median:function(){return It},min:function(){return Et},minMax:function(){return xt},sum:function(){return jt},unique:function(){return kt},uniqueCount:function(){return Nt}});var o={};e.r(o),e.d(o,{alphanumeric:function(){return zt},basic:function(){return Tt},datetime:function(){return Mt},number:function(){return Ht},string:function(){return Wt}});var a=window.React,i=e.n(a),u=window.ReactDOM,l=e.n(u);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){u=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(u)throw a}}}}(t.children);try{for(o.s();!(r=o.n()).done;){var a=r.value;n.push(s(e,a))}}catch(e){o.e(e)}finally{o.f()}return i().createElement.apply(i(),n)}var f=["style","className"];function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function p(e){return function(e){if(Array.isArray(e))return g(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return g(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?g(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var v="Renderer Error ☝️",w={init:"init"},S=function(){return i().createElement(i().Fragment,null," ")},O={Cell:function(e){var t=e.value;return void 0===t?"":t},width:150,minWidth:0,maxWidth:Number.MAX_SAFE_INTEGER};function R(){for(var e=arguments.length,t=new Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[].concat(p(e),[r]).reduce((function(e,n){return P(e,n,m(m({},t),{},{userProps:r}))}),{})}},E=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.reduce((function(e,t){return t(e,r)}),t)},C=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.forEach((function(e){e(t,r)}))};function x(e,t,r,n){e.findIndex((function(e){return e.pluginName===r})),t.forEach((function(t){e.findIndex((function(e){return e.pluginName===t}))}))}function A(e,t){return"function"==typeof e?e(t):e}function I(e){var t=i().useRef();return t.current=e,i().useCallback((function(){return t.current}),[])}var k="undefined"!=typeof document?i().useLayoutEffect:i().useEffect;function N(e,t){var r=i().useRef(!1);k((function(){r.current&&e(),r.current=!0}),t)}function B(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a="string"==typeof n?t[n]:n;if(void 0===a)throw console.info(t),new Error(v);return F(a,m(m(m({},e),{},{column:t},r),o))}}function F(e,t){return function(e){return"function"==typeof e&&(t=Object.getPrototypeOf(e)).prototype&&t.prototype.isReactComponent;var t}(r=e)||"function"==typeof r||function(e){return"object"===d(e)&&"symbol"===d(e.$$typeof)&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}(r)?i().createElement(e,t):e;var r}function D(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function G(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:0;return e.map((function(e){return W(e=G(G({},e),{},{parent:t,depth:r})),e.columns&&(e.columns=M(e.columns,e,r+1)),e}))}function T(e){return t="columns",r=[],function e(n){n.forEach((function(n){n[t]?e(n[t]):r.push(n)}))}(e),r;var t,r}function W(e){var t=e.id,r=e.accessor,n=e.Header;if("string"==typeof r){t=t||r;var o=r.split(".");r=function(e){return function(e,t,r){if(!t)return e;var n,o="function"==typeof t?t:JSON.stringify(t),a=L.get(o)||function(){var e=function(e){return Y(e).map((function(e){return String(e).replace(".","_")})).join(".").replace(q,".").replace(Z,"").split(".")}(t);return L.set(o,e),e}();try{n=a.reduce((function(e,t){return e[t]}),e)}catch(e){}return void 0!==n?n:void 0}(e,o)}}if(!t&&"string"==typeof n&&n&&(t=n),!t&&e.columns)throw console.error(e),new Error('A column ID (or unique "Header" value) is required!');if(!t)throw console.error(e),new Error("A column ID (or string accessor) is required!");return Object.assign(e,{id:t,accessor:r}),e}function H(e,t){if(!t)throw new Error;return Object.assign(e,G(G(G({Header:S,Footer:S},O),t),e)),Object.assign(e,{originalWidth:e.width}),e}function _(e,t){for(var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return{}},n=[],o=e,a=0,i=function(){return a++},u=function(){var e={headers:[]},a=[],u=o.some((function(e){return e.parent}));o.forEach((function(n){var o,l=[].concat(a).reverse()[0];u&&(o=n.parent?G(G({},n.parent),{},{originalId:n.parent.id,id:"".concat(n.parent.id,"_").concat(i()),headers:[n]},r(n)):H(G({originalId:"".concat(n.id,"_placeholder"),id:"".concat(n.id,"_placeholder_").concat(i()),placeholderOf:n,headers:[n]},r(n)),t),l&&l.originalId===o.originalId?l.headers.push(n):a.push(o)),e.headers.push(n)})),n.push(e),o=a};o.length;)u();return n.reverse()}var L=new Map;function V(){for(var e=arguments.length,t=new Array(e),r=0;r1&&void 0!==arguments[1])||arguments[1];t.isExpanded=t.original&&t.original[r]||n[t.id],t.canExpand=t.subRows&&!!t.subRows.length,o&&i.push(t),t.subRows&&t.subRows.length&&t.isExpanded&&t.subRows.forEach((function(t){return e(t,a)}))};return e.forEach((function(e){return u(e)})),i}function K(e,t,r){return $(e)||t[e]||r[e]||r.text}function J(e,t,r){return e?e(t,r):void 0===t}function X(){throw new Error("React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.")}var q=/\[/g,Z=/\]/g;function Y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(Array.isArray(e))for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,Oe)),{},{initialState:r,defaultColumn:o,getSubRows:i,getRowId:l,stateReducer:s,useControlledState:d})}var ze=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:0,r=0,n=0,o=0,a=0;return e.forEach((function(e){var i=e.headers;if(e.totalLeft=t,i&&i.length){var u=Re(Me(i,t),4),l=u[0],c=u[1],s=u[2],f=u[3];e.totalMinWidth=l,e.totalWidth=c,e.totalMaxWidth=s,e.totalFlexWidth=f}else e.totalMinWidth=e.minWidth,e.totalWidth=Math.min(Math.max(e.minWidth,e.width),e.maxWidth),e.totalMaxWidth=e.maxWidth,e.totalFlexWidth=e.canResize?e.totalWidth:0;e.isVisible&&(t+=e.totalWidth,r+=e.totalMinWidth,n+=e.totalWidth,o+=e.totalMaxWidth,a+=e.totalFlexWidth)})),[r,n,o,a]}function Te(e){var t=e.data,r=e.rows,n=e.flatRows,o=e.rowsById,a=e.column,i=e.getRowId,u=e.getSubRows,l=e.accessValueHooks,c=e.getInstance,s=function e(r,s){var f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,d=arguments.length>3?arguments[3]:void 0,p=arguments.length>4?arguments[4]:void 0,g=r,y=i(r,s,d),m=o[y];if(m)m.subRows&&m.originalSubRows.forEach((function(t,r){return e(t,r,f+1,m)}));else if((m={id:y,original:g,index:s,depth:f,cells:[{}]}).cells.map=X,m.cells.filter=X,m.cells.forEach=X,m.cells[0].getCellProps=X,m.values={},p.push(m),n.push(m),o[y]=m,m.originalSubRows=u(r,s),m.originalSubRows){var h=[];m.originalSubRows.forEach((function(t,r){return e(t,r,f+1,m,h)})),m.subRows=h}a.accessor&&(m.values[a.id]=a.accessor(r,s,m,p,t)),m.values[a.id]=E(l,m.values[a.id],{row:m,column:a,instance:c()},!0)};t.forEach((function(e,t){return s(e,t,0,void 0,r)}))}function We(e){return We="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},We(e)}function He(e){var t=function(e,t){if("object"!==We(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!==We(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"===We(t)?t:String(t)}function _e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Le(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(d,[l].map(He)));return Le(Le({},e),{},{expanded:p})}return e}}function Xe(e){var t=e.data,r=e.rows,n=e.rowsById,o=e.manualExpandedKey,a=void 0===o?"expanded":o,u=e.paginateExpandedRows,l=void 0===u||u,c=e.expandSubRows,s=void 0===c||c,f=e.autoResetExpanded,d=void 0===f||f,p=e.getHooks,g=e.plugins,y=e.state.expanded,m=e.dispatch;x(g,["useSortBy","useGroupBy","usePivotColumns","useGlobalFilter"],"useExpanded");var h=I(d),b=Boolean(Object.keys(n).length&&Object.keys(y).length);b&&Object.keys(n).some((function(e){return!y[e]}))&&(b=!1),N((function(){h()&&m({type:w.resetExpanded})}),[m,t]);var v=i().useCallback((function(e,t){m({type:w.toggleRowExpanded,id:e,value:t})}),[m]),S=i().useCallback((function(e){return m({type:w.toggleAllRowsExpanded,value:e})}),[m]),O=i().useMemo((function(){return l?U(r,{manualExpandedKey:a,expanded:y,expandSubRows:s}):r}),[l,r,a,y,s]),R=i().useMemo((function(){return function(e){var t=0;return Object.keys(e).forEach((function(e){var r=e.split(".");t=Math.max(t,r.length)})),t}(y)}),[y]),P=I(e),E=j(p().getToggleAllRowsExpandedProps,{instance:P()});Object.assign(e,{preExpandedRows:r,expandedRows:O,rows:O,expandedDepth:R,isAllRowsExpanded:b,toggleRowExpanded:v,toggleAllRowsExpanded:S,getToggleAllRowsExpandedProps:E})}function qe(e,t){var r=t.instance.getHooks,n=t.instance;e.toggleRowExpanded=function(t){return n.toggleRowExpanded(e.id,t)},e.getToggleRowExpandedProps=j(r().getToggleRowExpandedProps,{instance:n,row:e})}function Ze(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r(a="number"==typeof a?a:1/0)){var i=o;o=a,a=i}return e.filter((function(e){return t.some((function(t){var r=e.values[t];return r>=o&&r<=a}))}))};function lt(e,t){if(e){if("string"==typeof e)return ct(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ct(e,t):void 0}}function ct(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:0,i=o;return i=p.reduce((function(e,t){var n=t.id,o=t.value,i=u.find((function(e){return e.id===n}));if(!i)return e;0===a&&(i.preFilteredRows=e);var c=K(i.filter,l||{},r);return c?(i.filteredRows=c(e,[n],o),i.filteredRows):(console.warn("Could not find a valid 'column.filter' for column with the ID: ".concat(i.id,".")),e)}),o),i.forEach((function(r){e.push(r),t[r.id]=r,r.subRows&&(r.subRows=r.subRows&&r.subRows.length>0?n(r.subRows,a+1):r.subRows)})),i}(n),e,t]}),[c,p,n,o,a,u,l]),S=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a=[],i=!0,u=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){u=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(u)throw o}}return a}}(e,t)||lt(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(v,3),O=S[0],R=S[1],P=S[2];i().useMemo((function(){var e=u.filter((function(e){return!p.find((function(t){return t.id===e.id}))}));e.forEach((function(e){e.preFilteredRows=O,e.filteredRows=O}))}),[O,p,u]);var j=I(m);N((function(){j()&&g({type:w.resetFilters})}),[g,c?null:t]),Object.assign(e,{preFilteredRows:n,preFilteredFlatRows:o,preFilteredRowsById:a,filteredRows:O,filteredFlatRows:R,filteredRowsById:P,rows:O,flatRows:R,rowsById:P,setFilter:h,setAllFilters:b})}pt.pluginName="useFilters";var mt=["globalFilter"];function ht(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,mt)):vt(vt({},e),{},{globalFilter:l})}}function Rt(e){var t=e.data,n=e.rows,o=e.flatRows,a=e.rowsById,u=e.allColumns,l=e.filterTypes,c=e.globalFilter,s=e.manualGlobalFilter,f=e.state.globalFilter,d=e.dispatch,p=e.autoResetGlobalFilter,g=void 0===p||p,y=e.disableGlobalFilter,m=i().useCallback((function(e){d({type:w.setGlobalFilter,filterValue:e})}),[d]),h=i().useMemo((function(){if(s||void 0===f)return[n,o,a];var e=[],t={},i=K(c,l||{},r);if(!i)return console.warn("Could not find a valid 'globalFilter' option."),n;u.forEach((function(e){var t=e.disableGlobalFilter;e.canFilter=V(!0!==t&&void 0,!0!==y&&void 0,!0)}));var d=u.filter((function(e){return!0===e.canFilter}));return[function r(n){return(n=i(n,d.map((function(e){return e.id})),f)).forEach((function(n){e.push(n),t[n.id]=n,n.subRows=n.subRows&&n.subRows.length?r(n.subRows):n.subRows})),n}(n),e,t]}),[s,f,c,l,u,n,o,a,y]),b=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a=[],i=!0,u=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){u=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(u)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ht(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ht(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(h,3),v=b[0],S=b[1],O=b[2],R=I(g);N((function(){R()&&d({type:w.resetGlobalFilter})}),[d,s?null:t]),Object.assign(e,{preGlobalFilteredRows:n,preGlobalFilteredFlatRows:o,preGlobalFilteredRowsById:a,globalFilteredRows:v,globalFilteredFlatRows:S,globalFilteredRowsById:O,rows:v,flatRows:S,rowsById:O,setGlobalFilter:m,disableGlobalFilter:y})}function Pt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);ru)return 1;if(u>i)return-1}else{if(isNaN(s[1]))return isNaN(l)?-1:1;if(l>c)return 1;if(c>l)return-1}}return o.length-a.length};function Mt(e,t,r){var n=Ft(Lt(e,t,r),2),o=n[0],a=n[1];return _t(o=o.getTime(),a=a.getTime())}function Tt(e,t,r){var n=Ft(Lt(e,t,r),2);return _t(n[0],n[1])}function Wt(e,t,r){var n=Ft(Lt(e,t,r),2),o=n[0],a=n[1];for(o=o.split("").filter(Boolean),a=a.split("").filter(Boolean);o.length&&a.length;){var i=o.shift(),u=a.shift(),l=i.toLowerCase(),c=u.toLowerCase();if(l>c)return 1;if(c>l)return-1;if(i>u)return 1;if(u>i)return-1}return o.length-a.length}function Ht(e,t,r){var n=Ft(Lt(e,t,r),2),o=n[0],a=n[1],i=/[^0-9.]/gi;return _t(o=Number(String(o).replace(i,"")),a=Number(String(a).replace(i,"")))}function _t(e,t){return e===t?0:e>t?1:-1}function Lt(e,t,r){return[e.values[r],t.values[r]]}function Vt(e){return"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?"":String(e):"string"==typeof e?e:""}function $t(e){return function(e){if(Array.isArray(e))return Kt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Ut(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ut(e,t){if(e){if("string"==typeof e)return Kt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Kt(e,t):void 0}}function Kt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?sr(wr,--br):0,mr--,10===vr&&(mr=1,yr--),vr}function Pr(){return vr=br2||xr(vr)>3?"":" "}function Br(e,t){for(;--t&&Pr()&&!(vr<48||vr>102||vr>57&&vr<65||vr>70&&vr<97););return Cr(e,Er()+(t<6&&32==jr()&&32==Pr()))}function Fr(e){for(;Pr();)switch(vr){case e:return br;case 34:case 39:34!==e&&39!==e&&Fr(vr);break;case 40:41===e&&Fr(e);break;case 92:Pr()}return br}function Dr(e,t){for(;Pr()&&e+vr!==57&&(e+vr!==84||47!==jr()););return"/*"+Cr(t,br-1)+"*"+ar(47===e?e:Pr())}function Gr(e){for(;!xr(jr());)Pr();return Cr(e,br)}var zr="-ms-",Mr="-moz-",Tr="-webkit-",Wr="comm",Hr="rule",_r="decl",Lr="@keyframes";function Vr(e,t){for(var r="",n=pr(e),o=0;o6)switch(sr(e,t+1)){case 109:if(45!==sr(e,t+4))break;case 102:return lr(e,/(.+:)(.+)-([^]+)/,"$1-webkit-$2-$3$1"+Mr+(108==sr(e,t+3)?"$3":"$2-$3"))+e;case 115:return~cr(e,"stretch")?Ur(lr(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==sr(e,t+1))break;case 6444:switch(sr(e,dr(e)-3-(~cr(e,"!important")&&10))){case 107:return lr(e,":",":"+Tr)+e;case 101:return lr(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Tr+(45===sr(e,14)?"inline-":"")+"box$3$1"+Tr+"$2$3$1"+zr+"$2box$3")+e}break;case 5936:switch(sr(e,t+11)){case 114:return Tr+e+zr+lr(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Tr+e+zr+lr(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Tr+e+zr+lr(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Tr+e+zr+e+e}return e}function Kr(e){return Ir(Jr("",null,null,null,[""],e=Ar(e),0,[0],e))}function Jr(e,t,r,n,o,a,i,u,l){for(var c=0,s=0,f=i,d=0,p=0,g=0,y=1,m=1,h=1,b=0,v="",w=o,S=a,O=n,R=v;m;)switch(g=b,b=Pr()){case 40:if(108!=g&&58==R.charCodeAt(f-1)){-1!=cr(R+=lr(kr(b),"&","&\f"),"&\f")&&(h=-1);break}case 34:case 39:case 91:R+=kr(b);break;case 9:case 10:case 13:case 32:R+=Nr(g);break;case 92:R+=Br(Er()-1,7);continue;case 47:switch(jr()){case 42:case 47:gr(qr(Dr(Pr(),Er()),t,r),l);break;default:R+="/"}break;case 123*y:u[c++]=dr(R)*h;case 125*y:case 59:case 0:switch(b){case 0:case 125:m=0;case 59+s:p>0&&dr(R)-f&&gr(p>32?Zr(R+";",n,r,f-1):Zr(lr(R," ","")+";",n,r,f-2),l);break;case 59:R+=";";default:if(gr(O=Xr(R,t,r,c,s,o,u,v,w=[],S=[],f),a),123===b)if(0===s)Jr(R,t,O,O,w,a,f,u,S);else switch(d){case 100:case 109:case 115:Jr(e,O,O,n&&gr(Xr(e,O,O,0,0,o,u,v,o,w=[],f),S),o,S,f,u,n?w:S);break;default:Jr(R,O,O,O,[""],S,0,u,S)}}c=s=p=0,y=h=1,v=R="",f=i;break;case 58:f=1+dr(R),p=g;default:if(y<1)if(123==b)--y;else if(125==b&&0==y++&&125==Rr())continue;switch(R+=ar(b),b*y){case 38:h=s>0?1:(R+="\f",-1);break;case 44:u[c++]=(dr(R)-1)*h,h=1;break;case 64:45===jr()&&(R+=kr(Pr())),d=jr(),s=f=dr(v=R+=Gr(Er())),b++;break;case 45:45===g&&2==dr(R)&&(y=0)}}return a}function Xr(e,t,r,n,o,a,i,u,l,c,s){for(var f=o-1,d=0===o?a:[""],p=pr(d),g=0,y=0,m=0;g0?d[h]+" "+b:lr(b,/&\f/g,d[h])))&&(l[m++]=v);return Sr(e,t,r,0===o?Hr:u,l,c,s)}function qr(e,t,r){return Sr(e,t,r,Wr,ar(vr),fr(e,2,-2),0)}function Zr(e,t,r,n){return Sr(e,t,r,_r,fr(e,0,n),fr(e,n+1,-1),n)}var Yr=function(e,t,r){for(var n=0,o=0;n=o,o=jr(),38===n&&12===o&&(t[r]=1),!xr(o);)Pr();return Cr(e,br)},Qr=new WeakMap,en=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,r=e.parent,n=e.column===r.column&&e.line===r.line;"rule"!==r.type;)if(!(r=r.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||Qr.get(r))&&!n){Qr.set(e,!0);for(var o=[],a=function(e,t){return Ir(function(e,t){var r=-1,n=44;do{switch(xr(n)){case 0:38===n&&12===jr()&&(t[r]=1),e[r]+=Yr(br-1,t,r);break;case 2:e[r]+=kr(n);break;case 4:if(44===n){e[++r]=58===jr()?"&\f":"",t[r]=e[r].length;break}default:e[r]+=ar(n)}}while(n=Pr());return e}(Ar(e),t))}(t,o),i=r.props,u=0,l=0;u-1&&!e.return)switch(e.type){case _r:e.return=Ur(e.value,e.length);break;case Lr:return Vr([Or(e,{value:lr(e.value,"@","@"+Tr)})],n);case Hr:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return Vr([Or(e,{props:[lr(t,/:(read-\w+)/,":-moz-$1")]})],n);case"::placeholder":return Vr([Or(e,{props:[lr(t,/:(plac\w+)/,":-webkit-input-$1")]}),Or(e,{props:[lr(t,/:(plac\w+)/,":-moz-$1")]}),Or(e,{props:[lr(t,/:(plac\w+)/,zr+"input-$1")]})],n)}return""}))}}],nn=function(e){for(var t,r=0,n=0,o=e.length;o>=4;++n,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(n)|(255&e.charCodeAt(++n))<<8|(255&e.charCodeAt(++n))<<16|(255&e.charCodeAt(++n))<<24))+(59797*(t>>>16)<<16),r=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&r)+(59797*(r>>>16)<<16);switch(o){case 3:r^=(255&e.charCodeAt(n+2))<<16;case 2:r^=(255&e.charCodeAt(n+1))<<8;case 1:r=1540483477*(65535&(r^=255&e.charCodeAt(n)))+(59797*(r>>>16)<<16)}return(((r=1540483477*(65535&(r^=r>>>13))+(59797*(r>>>16)<<16))^r>>>15)>>>0).toString(36)},on={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},an=/[A-Z]|^ms/g,un=/_EMO_([^_]+?)_([^]*?)_EMO_/g,ln=function(e){return 45===e.charCodeAt(1)},cn=function(e){return null!=e&&"boolean"!=typeof e},sn=function(e){var t=Object.create(null);return function(e){return void 0===t[e]&&(t[e]=ln(r=e)?r:r.replace(an,"-$&").toLowerCase()),t[e];var r}}(),fn=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(un,(function(e,t,r){return pn={name:t,styles:r,next:pn},t}))}return 1===on[e]||ln(e)||"number"!=typeof t||0===t?t:t+"px"};function dn(e,t,r){if(null==r)return"";if(void 0!==r.__emotion_styles)return r;switch(typeof r){case"boolean":return"";case"object":if(1===r.anim)return pn={name:r.name,styles:r.styles,next:pn},r.name;if(void 0!==r.styles){var n=r.next;if(void 0!==n)for(;void 0!==n;)pn={name:n.name,styles:n.styles,next:pn},n=n.next;return r.styles+";"}return function(e,t,r){var n="";if(Array.isArray(r))for(var o=0;o=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){u=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(u)throw a}}}}function Pn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function jn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function En(e){return En="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},En(e)}function Cn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a=[],i=!0,u=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){u=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(u)throw o}}return a}}(e,t)||xn(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xn(e,t){if(e){if("string"==typeof e)return An(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?An(e,t):void 0}}function An(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=t.columnIds,n=t.headers,o=void 0===n||n,a=t.sep,i=void 0===a?",":a,u=t.dec,l=void 0===u?".":u,c=function(e){return e.map((function(e){return null==e&&(e=""),e instanceof Date?e=e.toISOString():"string"!=typeof e&&"number"!=typeof e?e=JSON.stringify(e):"."!==l&&"number"==typeof e&&(e=e.toString().replace(".",l)),"string"==typeof e&&(e.includes('"')||e.includes(i))&&(e='"'.concat(e.replace(/"/g,'""'),'"')),e})).join(i)},s=[];r||(r=e.length>0?Object.keys(e[0]):[]),o&&s.push(c(r));var f,d=Rn(e);try{var p=function(){var e=f.value,t=r.map((function(t){return e[t]}));s.push(c(t))};for(d.s();!(f=d.n()).done;)p()}catch(e){d.e(e)}finally{d.f()}return s.join("\n")+"\n"}function zn(e,t){var r=new Blob([e],{type:"text/csv;charset=utf-8"});if(window.navigator.msSaveBlob)window.navigator.msSaveBlob(r,t);else{var n=document.createElement("a"),o=window.URL.createObjectURL(r);n.href=o,n.download=t,n.click(),window.URL.revokeObjectURL(o)}}function Mn(){return"undefined"!=typeof document}function Tn(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){u=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(u)throw a}}}}(document.querySelectorAll("link"));try{for(n.s();!(r=n.n()).done;){var o=r.value,a=o.href.substring(o.href.lastIndexOf("/")+1);if("stylesheet"===o.rel&&"reactable.css"===a){e=o.parentElement,t=o;break}}}catch(e){n.e(e)}finally{n.f()}}return wn=On({key:"reactable",container:e,insertionPoint:t})}function $n(){for(var e=arguments.length,t=new Array(e),r=0;r1&&void 0!==arguments[1]?arguments[1]:{};if(!e||!t)return e;var r=Object.keys(t),n="("+r.map((function(e){return"{".concat(e,"}")})).join("|")+")",o=e.split(new RegExp(n)),a=r.reduce((function(e,r){return e["{".concat(r,"}")]=t[r],e}),{}),i=o.map((function(e){return null!=a[e]?a[e]:e}));return i.some((function(e){return"object"===Un(e)}))?i:i.join("")}function Xn(e){return Xn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xn(e)}var qn=["isCurrent","className"];function Zn(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,qn);return r=In(r,"rt-page-button",t?" rt-page-button-current":null),i().createElement("button",no({type:"button",className:r},n),n.children)},ao=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Yn(e,t)}(l,e);var t,r,n,o,a,u=(o=l,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=to(o);if(a){var r=to(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return Qn(this,e)});function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=u.call(this,e)).changePage=t.changePage.bind(eo(t)),t.applyPage=t.applyPage.bind(eo(t)),t.state={pageJumpValue:e.page+1,prevPage:e.page},t}return t=l,r=[{key:"changePage",value:function(e){e!==this.props.page+1&&this.props.onPageChange(e-1)}},{key:"applyPage",value:function(e){e&&e.preventDefault();var t=this.state.pageJumpValue;if(""!==t)this.changePage(t);else{var r=this.props.page+1;this.setState({pageJumpValue:r})}}},{key:"renderPageInfo",value:function(e){var t=e.page,r=e.pageSize,n=e.pageRowCount,o=e.rowCount,a=e.language,u=Math.min(t*r+1,o),l=Math.max(Math.min(t*r+r,o),n),c=Jn(a.pageInfo,{rowStart:u,rowEnd:l,rows:o});return i().createElement("div",{className:"rt-page-info","aria-live":"polite"},c)}},{key:"renderPageSizeOptions",value:function(e){var t=e.pageSize,r=e.pageSizeOptions,n=e.onPageSizeChange,o=e.language,a=i().createElement("select",{key:"page-size-select",className:"rt-page-size-select","aria-label":o.pageSizeOptionsLabel,onChange:function(e){return n(Number(e.target.value))},value:t},r.map((function(e,t){return i().createElement("option",{key:t,value:e},e)}))),u=Jn(o.pageSizeOptions,{rows:a});return i().createElement("div",{className:"rt-page-size"},u)}},{key:"renderPageJump",value:function(e){var t=e.onChange,r=e.value,n=e.onBlur,o=e.onKeyPress,a=e.inputType,u=e.language;return i().createElement("input",{key:"page-jump",className:"rt-page-jump","aria-label":u.pageJumpLabel,type:a,onChange:t,value:r,onBlur:n,onKeyPress:o})}},{key:"getPageJumpProperties",value:function(){var e=this;return{onKeyPress:function(t){13!==t.which&&13!==t.keyCode||e.applyPage()},onBlur:this.applyPage,value:this.state.pageJumpValue,onChange:function(t){var r=t.target.value;if(""!==r){var n=Number(r);if(!Number.isNaN(n)){var o=Math.min(Math.max(n,1),Math.max(e.props.pages,1));e.setState({pageJumpValue:o})}}else e.setState({pageJumpValue:r})},inputType:"number",language:this.props.language}}},{key:"render",value:function(){var e,t=this,r=this.props,n=r.paginationType,o=r.showPageSizeOptions,a=r.showPageInfo,u=r.page,l=r.pages,c=r.canPrevious,s=r.canNext,f=r.theme,d=r.language,p=a?this.renderPageInfo(this.props):null,g=o?this.renderPageSizeOptions(this.props):null,y=u+1,m=function(e,t){return t<=6?(r=Array(t),function(e){if(Array.isArray(e))return ro(e)}(r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return ro(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ro(e,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map((function(e,t){return t+1})):e<=4?[1,2,3,4,5,t]:t-e<3?[1,t-3,t-2,t-1,t]:[1,e-1,e,e+1,t];var r}(y,l);if("numbers"===n){var h=[];m.forEach((function(e,r){var n=y===e,o=i().createElement(oo,{key:e,isCurrent:n,onClick:t.changePage.bind(null,e),"aria-label":Jn(d.pageNumberLabel,{page:e})+(n?" ":""),"aria-current":n?"page":null},e);e-m[r-1]>1&&h.push(i().createElement("span",{className:"rt-page-ellipsis",key:"ellipsis-".concat(e),role:"separator"},"...")),h.push(o)})),e=h}else{var b="jump"===n?this.renderPageJump(this.getPageJumpProperties()):y,v=Math.max(l,1);e=i().createElement("div",{className:"rt-page-numbers"},Jn(d.pageNumbers,{page:b,pages:v}))}var w=i().createElement(oo,{className:"rt-prev-button",onClick:function(){c&&t.changePage(y-1)},disabled:!c,"aria-disabled":c?null:"true","aria-label":d.pagePreviousLabel},d.pagePrevious),S=i().createElement(oo,{className:"rt-next-button",onClick:function(){s&&t.changePage(y+1)},disabled:!s,"aria-disabled":s?null:"true","aria-label":d.pageNextLabel},d.pageNext);return i().createElement("div",{className:In("rt-pagination",$n(f.paginationStyle))},i().createElement("div",{className:"rt-pagination-info"},p,g),i().createElement("div",{className:"rt-pagination-nav"},w,e,S))}}],n=[{key:"getDerivedStateFromProps",value:function(e,t){return e.page!==t.prevPage?{pageJumpValue:e.page+1,prevPage:e.page}:null}}],r&&Zn(t.prototype,r),n&&Zn(t,n),Object.defineProperty(t,"prototype",{writable:!1}),l}(i().Component);function io(e){return io="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},io(e)}function uo(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function lo(e,t){for(var r=0;r=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){u=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(u)throw a}}}}function Ro(e,t){if(e){if("string"==typeof e)return Po(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Po(e,t):void 0}}function Po(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:0;if(r.forEach((function(e){e.depth=n})),n!==e.length){var o=e[n],i=e.slice(0,n+1),u=a.filter((function(e){return!i.includes(e.id)})).map((function(e){return e.id}));r.forEach((function(e){e.isGrouped&&(e.groupByID=o,e.aggregatedColumns=u,t(e.subRows,n+1))}))}}(t),[r,t,o,Mo,To,t,o]}var i=g.filter((function(e){return a.find((function(t){return t.id===e}))})),u=function(e,t,r,n){var o={};return a.forEach((function(a){if(n.includes(a.id)){var i="function"==typeof a.aggregate?a.aggregate:d[a.aggregate]||zo[a.aggregate];if(i){var u=e.map((function(e){var t=e.values[a.id];if(!r&&a.aggregateValue){var n="function"==typeof a.aggregateValue?a.aggregateValue:d[a.aggregateValue]||zo[a.aggregateValue];if(!n)throw console.info({column:a}),new Error("React Table: Invalid column.aggregateValue option for column listed above");t=n(t,e,a)}return t}));o[a.id]=i(u,e.map((function(e){return e.values})),t.map((function(e){return e.values})))}else{if(a.aggregate)throw console.info({column:a}),new Error("React Table: Invalid column.aggregate option for column listed above");o[a.id]=null}}else o[a.id]=t[0]?t[0].values[a.id]:null})),o},l=[],f={},p=[],y={},m=[],h={},b=function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;if(r===i.length)return t.forEach((function(e){e.depth=r})),t;var o=i[r],s=c(t,o),d=Object.entries(s).map((function(t,c){var s=Io(t,2),d=s[0],g=s[1],b="".concat(o,":").concat(d);b=n?"".concat(n,">").concat(b):b;var v=e(g,r+1,b),w=r?Jo(g,"leafRows"):g,S=i.slice(0,r+1),O=a.filter((function(e){return!S.includes(e.id)})).map((function(e){return e.id})),R=u(w,v,r,O),P={id:b,isGrouped:!0,groupByID:o,groupByVal:d,values:R,subRows:v,leafRows:w,depth:r,index:void 0,groupIndex:c,aggregatedColumns:O};return v.forEach((function(e){l.push(e),f[e.id]=e,e.isGrouped?(p.push(e),y[e.id]=e):(m.push(e),h[e.id]=e)})),P}));return d}(r);return b.forEach((function(e){l.push(e),f[e.id]=e,e.isGrouped?(p.push(e),y[e.id]=e):(m.push(e),h[e.id]=e)})),[b,l,f,p,y,m,h]}),[s,g,r,n,o,a,d,c]),C=Io(E,7),A=C[0],k=C[1],B=C[2],F=C[3],D=C[4],G=C[5],z=C[6],M=I(h);N((function(){M()&&y({type:w.resetGroupBy})}),[y,s?null:t]),Object.assign(e,{preGroupedRows:r,preGroupedFlatRow:n,preGroupedRowsById:o,groupedRows:A,groupedFlatRows:k,groupedRowsById:B,onlyGroupedFlatRows:F,onlyGroupedRowsById:D,nonGroupedFlatRows:G,nonGroupedRowsById:z,rows:A,flatRows:k,rowsById:B,toggleGroupBy:R,setGroupBy:P})}function Uo(e){e.allCells.forEach((function(t){var r,n;t.isGrouped=t.column.isGrouped&&t.column.id===e.groupByID,t.isAggregated=!t.isGrouped&&(null===(r=e.aggregatedColumns)||void 0===r?void 0:r.includes(t.column.id))&&(null===(n=e.subRows)||void 0===n?void 0:n.length),t.isPlaceholder=!t.isGrouped&&t.column.isGrouped&&!t.isAggregated}))}function Ko(e,t){return e.reduce((function(e,r){var n="".concat(r.values[t]);return e[n]=Array.isArray(e[n])?e[n]:[],e[n].push(r),e}),{})}function Jo(e,t){var r=[];return function e(n){n.forEach((function(n){n[t]?e(n[t]):r.push(n)}))}(e),r}function Xo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function qo(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r1)return;r=!0}var n,a,i=function(e){var t=[];return function e(r){r.columns&&r.columns.length&&r.columns.forEach(e),t.push(r)}(e),t}(t),u=i.map((function(e){return[e.id,e.getDOMWidth()]})),l=u.find((function(e){return Yo(e,1)[0]===t.id}))[1],c=r?Math.round(e.touches[0].clientX):e.clientX,s=function(){window.cancelAnimationFrame(n),n=null,o({type:w.columnResizing,clientX:a})},f=function(){window.cancelAnimationFrame(n),n=null,o({type:w.columnDoneResizing})},d=function(e){a=e,n||(n=window.requestAnimationFrame(s))},p={mouse:{moveEvent:"mousemove",moveHandler:function(e){return d(e.clientX)},upEvent:"mouseup",upHandler:function(){document.removeEventListener("mousemove",p.mouse.moveHandler),document.removeEventListener("mouseup",p.mouse.upHandler),f()}},touch:{moveEvent:"touchmove",moveHandler:function(e){return e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1},upEvent:"touchend",upHandler:function(){document.removeEventListener(p.touch.moveEvent,p.touch.moveHandler),document.removeEventListener(p.touch.upEvent,p.touch.upHandler),f()}}},g=r?p.touch:p.mouse,y=!!function(){if("boolean"==typeof ea)return ea;var e=!1;try{var t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(t){e=!1}return ea=e}()&&{passive:!1};document.addEventListener(g.moveEvent,g.moveHandler,y),document.addEventListener(g.upEvent,g.upHandler,y),o({type:w.columnStartResizing,columnId:t.id,columnWidth:l,headerIdWidths:u,clientX:c})};return[e,{onMouseDown:function(e){return e.persist()||a(e,n)},onTouchStart:function(e){return e.persist()||a(e,n)},style:{cursor:"col-resize"},draggable:!1,role:"separator"}]};function na(e,t){if(t.type===w.init)return qo({columnResizing:{columnWidths:{}}},e);if(t.type===w.resetResize)return qo(qo({},e),{},{columnResizing:{columnWidths:{}}});if(t.type===w.columnStartResizing){var r=t.clientX,n=t.columnId,o=t.columnWidth,a=t.headerIdWidths;return qo(qo({},e),{},{columnResizing:qo(qo({},e.columnResizing),{},{startX:r,headerIdWidths:a,columnWidth:o,isResizingColumn:n})})}if(t.type===w.columnResizing){var i=t.clientX,u=e.columnResizing,l=u.startX,c=u.columnWidth,s=u.headerIdWidths,f=(i-l)/c,d={};return(void 0===s?[]:s).forEach((function(e){var t=Yo(e,2),r=t[0],n=t[1];d[r]=Math.max(n+n*f,0)})),qo(qo({},e),{},{columnResizing:qo(qo({},e.columnResizing),{},{columnWidths:qo(qo({},e.columnResizing.columnWidths),d)})})}return t.type===w.columnDoneResizing?qo(qo({},e),{},{columnResizing:qo(qo({},e.columnResizing),{},{startX:null,isResizingColumn:null})}):void 0}ta.pluginName="useResizeColumns";var oa=function(e){var t=e.flatHeaders,r=e.disableResizing,n=e.getHooks,o=e.state.columnResizing,a=I(e);t.forEach((function(e){var t=kn(!0!==e.disableResizing&&void 0,!0!==r&&void 0,!0);e.canResize=t,e.width=kn(o.columnWidths[e.id],e.originalWidth,e.width),e.isResizing=o.isResizingColumn===e.id,t&&(e.getResizerProps=j(n().getResizerProps,{instance:a(),header:e}))}))};function aa(e){var t=e.plugins,r=e.dispatch,n=e.autoResetResize,o=void 0===n||n,a=e.columns;x(t,["useAbsoluteLayout"],"useResizeColumns");var u=I(o);N((function(){u()&&r({type:w.resetResize})}),[a]);var l=i().useCallback((function(){return r({type:w.resetResize})}),[r]);Object.assign(e,{resetResizing:l})}function ia(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ua(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);re.pageIndex?u=-1===o?a.length>=e.pageSize:i-1),u?wa(wa({},e),{},{pageIndex:i}):e}if(t.type===w.setPageSize){var l=t.pageSize,c=e.pageSize*e.pageIndex,s=Math.floor(c/l);return wa(wa({},e),{},{pageIndex:s,pageSize:l})}}function Pa(e){var t=e.rows,r=e.autoResetPage,n=void 0===r||r,o=e.manualExpandedKey,a=void 0===o?"expanded":o,u=e.plugins,l=e.pageCount,c=e.paginateExpandedRows,s=void 0===c||c,f=e.expandSubRows,d=void 0===f||f,p=e.disablePagination,g=e.state,y=g.pageIndex,m=g.expanded,h=g.globalFilter,b=g.filters,v=g.groupBy,S=g.sortBy,O=e.dispatch,R=e.data,P=e.manualPagination,j=e.rowCount;x(u,["useGlobalFilter","useFilters","useGroupBy","useSortBy","useExpanded"],"usePagination");var E=I(n);N((function(){E()&&O({type:w.resetPage})}),[O,P?null:R,h,b,v,S]);var C,A=p?t.length:e.state.pageSize;C=P?null!=j&&j>=0?Math.ceil(j/A):l:Math.ceil(t.length/A);var k=i().useMemo((function(){return C>0?(e=new Array(C),function(e){if(Array.isArray(e))return ba(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ha(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).fill(null).map((function(e,t){return t})):[];var e}),[C]),B=i().useMemo((function(){var e;if(P)e=t;else{var r=A*y,n=r+A;e=t.slice(r,n)}var o=e.length;return s?[e,o]:[ja(e,{manualExpandedKey:a,expanded:m,expandSubRows:d}),o]}),[d,m,a,P,y,A,s,t]),F=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a=[],i=!0,u=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){u=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(u)throw o}}return a}}(e,t)||ha(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(B,2),D=F[0],G=F[1],z=y>0,M=-1===C?D.length>=A:y1&&void 0!==arguments[1])||arguments[1];t.isExpanded=t.original&&t.original[r]||n[t.id],t.canExpand=t.subRows&&!!t.subRows.length,o&&i.push(t),t.subRows&&t.subRows.length&&t.isExpanded&&t.subRows.forEach((function(t){return e(t,a)}))};return e.forEach((function(e){return u(e)})),i}function Ea(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ca(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);rt)&&(t=e)})),t},min:function(e){var t;return e.forEach((function(e){(null==t||e1?" (".concat(t[e],")"):"")})).join(", ")}};function za(e,t){return"numeric"===t&&Da[e]?Da[e]:Ga[e]}function Ma(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;if(!Number.isFinite(e))return e;t=t>0?t:0;var r=Math.pow(10,t);return Math.sign(e)*Math.round(Math.abs(e)*r)/r}function Ta(e){return e.filter((function(e){return null!=e&&!Number.isNaN(e)}))}var Wa=["html","className"];function Ha(){return Ha=Object.assign?Object.assign.bind():function(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){u=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(u)throw a}}}}function Ua(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&(i[Ja]=ei(e.subRows)),i}))}function ti(e){var t=e.html,r=e.className,n=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,Wa);return i().createElement("div",Ha({className:In("rt-text-content",r),dangerouslySetInnerHTML:{__html:t}},n))}function ri(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=r.sortable,o=r.defaultSortDesc,u=r.showSortIcon,l=r.showSortable,c=r.filterable,s=r.resizable;return e=e.map((function(e){var t=La({},e);t.accessor=function(e){return e[t.id]},"string"==typeof t.aggregate&&(t.aggregate=za(t.aggregate,t.type));var r=oi({type:t.type,naLast:t.sortNALast});t.sortType=function(e,t,n,o){return r(e.values[n],t.values[n],o)},t.sortable=kn(t.sortable,n),t.disableSortBy=!t.sortable,t.defaultSortDesc=kn(t.defaultSortDesc,o),t.sortDescFirst=t.defaultSortDesc,t.filterable=kn(t.filterable,c),t.disableFilters=!t.filterable,!1===t.searchable&&(t.disableGlobalFilter=!0),!1===t.show&&!0!==t.searchable&&(t.disableGlobalFilter=!0),"numeric"===t.type?t.createMatcher=ii:t.createMatcher=ui,t.filter=function(e,r,n){var o=r[0];if("function"==typeof t.filterMethod)return t.filterMethod(e,o,n);var a=t.createMatcher(n);return e.filter((function(e){var t=e.values[o];return a(t)}))},"numeric"===t.type?t.align=t.align||"right":t.align=t.align||"left",t.vAlign=t.vAlign||"top",t.headerVAlign=t.headerVAlign||"top";var f=t.width,d=t.minWidth,p=t.maxWidth;t.minWidth=kn(f,d,100),t.maxWidth=kn(f,p,Number.MAX_SAFE_INTEGER),t.minWidth=Math.min(t.minWidth,t.maxWidth),t.width=t.minWidth,t.resizable=kn(t.resizable,s),t.minWidth===t.maxWidth&&(t.resizable=!1),t.disableResizing=!t.resizable,t.Cell=function(e,r){var n=e.value,o=null==n||Number.isNaN(n);return o&&(n=t.na),!o&&t.format&&t.format.cell&&(n=ai(n,t.format.cell)),t.cell&&("function"==typeof t.cell&&(n=t.cell(La(La({},e),{},{value:n}),r)),Array.isArray(t.cell)&&!e.aggregated&&(n=t.cell[e.index])&&(n=(0,rr.hydrate)({Fragment:a.Fragment,WidgetContainer:po},n))),null!=n&&""!==n||(n=Ka),i().isValidElement(n)?n:t.html?i().createElement(ti,{style:{display:"inline"},html:n}):String(n)},t.grouped?t.Grouped=function(e,r){var n=e.value,o=null==n||Number.isNaN(n);return o&&(n=t.na),!o&&t.format&&t.format.cell&&(n=ai(n,t.format.cell)),null!=(n=t.grouped(La(La({},e),{},{value:n}),r))&&""!==n||(n=Ka),i().isValidElement(n)?n:t.html?i().createElement(ti,{style:{display:"inline"},html:n}):String(n)}:t.Grouped=function(e,r){var n=t.Cell(e,r);return i().createElement(i().Fragment,null,n,e.subRows&&" (".concat(e.subRows.length,")"))},t.Aggregated=function(e,r){var n,o=e.value;if(null!=o&&t.format&&t.format.aggregated&&(o=ai(o,t.format.aggregated)),t.aggregated&&(o=t.aggregated(La(La({},e),{},{value:o}),r)),null==o&&(o=""),i().isValidElement(o))n=o;else{if(t.html)return i().createElement(ti,{html:o});n=String(o)}return n},t.Header=function(e,r){var n,o=t.name;if(null!=t.header&&(o="function"==typeof t.header?t.header(e,r):(0,rr.hydrate)({Fragment:a.Fragment,WidgetContainer:po},t.header)),n=i().isValidElement(o)?o:t.html?i().createElement(ti,{html:o}):null!=o?String(o):"",t.sortable&&u){var c=l?"rt-sort":"";return n=t.html?n:i().createElement("div",{className:"rt-text-content"},n),"right"===t.align?i().createElement("div",{className:"rt-sort-header"},i().createElement("span",{className:In(c,"rt-sort-left"),"aria-hidden":"true"}),n):i().createElement("div",{className:"rt-sort-header"},n,i().createElement("span",{className:In(c,"rt-sort-right"),"aria-hidden":"true"}))}return n},null!=t.footer?t.Footer=function(e,r){var n;return n="function"==typeof t.footer?t.footer(e,r):(0,rr.hydrate)({Fragment:a.Fragment,WidgetContainer:po},t.footer),i().isValidElement(n)?n:t.html?i().createElement(ti,{html:n}):null!=n?String(n):""}:t.Footer=Ka;var g=li(t.align),y=ci(t.vAlign),m=ci(t.headerVAlign);return t.headerClassName=In(g,m,t.headerClassName),t.footerClassName=In(g,y,t.footerClassName),t.getProps=function(e,r,n){var o,a,i={className:In(g,y)};return t.className&&(o="function"==typeof t.className?t.className(e,r,n):Array.isArray(t.className)?t.className[e.index]:t.className,i.className=In(i.className,o)),t.style&&(a="function"==typeof t.style?t.style(e,r,n):Array.isArray(t.style)?t.style[e.index]:t.style,i.style=a),i},t})),t&&(e=ni(e,t)).forEach((function(e,t){e.id="group_".concat(t),null!=e.name||null!=e.header?e.Header=function(t,r){var n=e.name;return e.header&&(n="function"==typeof e.header?e.header(t,r):(0,rr.hydrate)({Fragment:a.Fragment,WidgetContainer:po},e.header)),i().isValidElement(n)?n:e.html?i().createElement(ti,{html:n}):null!=n?String(n):""}:e.Header=Ka,Fn(e).every((function(e){return e.disableResizing}))&&(e.disableResizing=!0),e.align=e.align||"center",e.headerVAlign=e.headerVAlign||"top";var r=li(e.align),n=ci(e.headerVAlign);e.headerClassName=In(r,n,e.headerClassName)})),e}function ni(e,t){t.forEach((function(t){var r=(t=La({},t)).columns;t.columns=[],e=e.reduce((function(e,n){return n.id===r[0]?(e.push(t),t.columns.push(n)):r.includes(n.id)?t.columns.push(n):e.push(n),e}),[])}));var r,n=[];return e.forEach((function(e){e.columns?(n.push(e),r=null):(r||(r={columns:[],isUngrouped:!0},n.push(r)),r.columns.push(e))})),e=n}function oi(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.type,r=e.naLast;return function(e,n,o){return"numeric"===t?(e=Number.isNaN(e)?null:e,n=Number.isNaN(n)?null:n):(e="string"==typeof e?e.toLowerCase():e,n="string"==typeof n?n.toLowerCase():n),e===n?0:null==e?r?o?-1:1:-1:null==n?r?o?1:-1:1:e>n?1:e=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){u=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(u)throw a}}}}function Ni(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Bi(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var $i={};function Ui(e){if(!e)throw new Error("A reactable table ID must be provided");var t=$i[e];if(!t)throw new Error("reactable instance '".concat(e,"' not found"));return t()}function Ki(e){return Ui(e).state}function Ji(e,t,r){Ui(e).setFilter(t,r)}function Xi(e,t){Ui(e).setAllFilters(t)}function qi(e,t){Ui(e).setGlobalFilter(t)}function Zi(e,t,r){Ui(e).toggleGroupBy(t,r)}function Yi(e,t){Ui(e).setGroupBy(t)}function Qi(e,t){Ui(e).toggleAllRowsExpanded(t)}function eu(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data.csv",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Ui(e).downloadDataCSV(t,r)}function tu(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ui(e).getDataCSV(t)}function ru(e,t){Ui(e).setMeta(t)}function nu(e,t,r){Ui(e).toggleHideColumn(t,r)}function ou(e,t){Ui(e).setHiddenColumns(t)}function au(e,t,r){Ui(e).setData(t,r)}function iu(e,t){return Ui(e).onStateChange(t)}function uu(e,t){Ui(e).gotoPage(t)}function lu(e,t){Ui(e).setPageSize(t)}function cu(e){var t=e.data,r=e.columns,n=e.columnGroups,o=e.sortable,a=e.defaultSortDesc,u=e.showSortIcon,l=e.showSortable,c=e.filterable,s=e.resizable,f=e.theme,d=e.language,p=e.dataKey,g=Vi(e,si);for(var y in t=qa(t,r),r=ri(r,n,{sortable:o,defaultSortDesc:a,showSortIcon:u,showSortable:l,filterable:c,resizable:s}),f=function(e){if(!e)return null;var t=e.color,r=e.backgroundColor,n=e.borderColor,o=e.borderWidth,a=e.stripedColor,i=e.highlightColor,u=e.cellPadding,l=e.style,c=e.tableBorderColor,s=void 0===c?n:c,f=e.tableBorderWidth,d=void 0===f?o:f,p=e.tableStyle,g=e.headerBorderColor,y=void 0===g?n:g,m=e.headerBorderWidth,h=void 0===m?o:m,b=e.headerStyle,v=e.groupHeaderBorderColor,w=void 0===v?n:v,S=e.groupHeaderBorderWidth,O=void 0===S?o:S,R=e.groupHeaderStyle,P=e.tableBodyStyle,j=e.rowGroupStyle,E=e.rowStyle,C=e.rowStripedStyle,x=e.rowHighlightStyle,A=e.rowSelectedStyle,I=e.cellBorderColor,k=void 0===I?n:I,N=e.cellBorderWidth,B=void 0===N?o:N,F=e.cellStyle,D=e.footerBorderColor,G=void 0===D?n:D,z=e.footerBorderWidth,M=void 0===z?o:z,T=e.footerStyle,W=e.inputStyle,H=e.filterInputStyle,_=e.searchInputStyle,L=e.selectStyle,V=e.paginationStyle,$=e.pageButtonStyle,U=e.pageButtonHoverStyle,K=e.pageButtonActiveStyle,J=e.pageButtonCurrentStyle,X=Ln([F,E,P,p,l],"color",t),q=Ln([L,l],"color",t);h=Ln([b],"borderWidth",h);var Z,Y={style:Hn({color:t,backgroundColor:r},l),tableStyle:Hn({borderColor:s,borderWidth:d},p),headerStyle:Hn(Hn({borderColor:y,borderWidth:h,padding:u},b),{},{".rt-bordered &, .rt-outlined &":{borderWidth:h}}),groupHeaderStyle:Hn(Hn({borderColor:w,borderWidth:O,padding:u},R),{},{"&::after":{backgroundColor:w,height:O},".rt-bordered &":{borderWidth:O}}),tableBodyStyle:P,rowGroupStyle:j,rowStyle:Hn(Hn({},E),{},{"&.rt-tr-striped":Hn({backgroundColor:a},C),"&.rt-tr-highlight:hover":Hn({backgroundColor:i},x),"&.rt-tr-selected":Hn({},A)}),cellStyle:Hn({borderColor:k,borderWidth:B,padding:u},F),footerStyle:Hn({borderColor:G,borderWidth:M,padding:u},T),filterCellStyle:Hn({borderColor:k,borderWidth:B,padding:u},F),expanderStyle:{"&::after":{borderTopColor:X}},filterInputStyle:Hn(Hn({},W),H),searchInputStyle:Hn(Hn({},W),_),paginationStyle:Hn(Hn({borderTopColor:k,borderTopWidth:B},V),{},{".rt-page-jump":Hn({},W),".rt-page-size-select":Hn(Hn({},L),{},{"@supports (-moz-appearance: none)":{backgroundImage:q&&'url(\'data:image/svg+xml;charset=US-ASCII,'+'\')')}}),".rt-page-button":Hn({},$),".rt-page-button:not(:disabled):hover":Hn({},U),".rt-page-button:not(:disabled):active":Hn({},K),".rt-keyboard-active & .rt-page-button:not(:disabled):focus":Hn({},U),".rt-page-button-current":Hn({},J)})};return Nn(Y),Y}(f)||{},d=_i(_i({},Kn),d))d[y]=d[y]||null;return i().createElement(ku,Wi({data:t,columns:r,theme:f,language:d,key:p},g))}function su(e){var t=JSON.stringify(e);return i().useMemo((function(){return e}),[t])}function fu(e){var t=e.data,r=e.columns,n=e.columnGroups,o=e.sortable,a=e.defaultSortDesc,u=e.showSortIcon,l=e.showSortable,c=e.filterable,s=e.resizable,f=e.sortBy,d=e.filters,p=e.searchValue,g=e.groupBy,y=e.expanded,m=e.selectedRowIds,h=Vi(e,fi);return t=i().useMemo((function(){return qa(t,r)}),[]),r=i().useMemo((function(){return ri(r,n,{sortable:o,defaultSortDesc:a,showSortIcon:u,showSortable:l,filterable:c,resizable:s})}),[]),f=su(f||[]),d=su(d||[]),g=su(g||[]),y=su(y||{}),m=su(m||{}),i().createElement(Iu,Wi({data:t,columns:r,sortBy:f,filters:d,searchValue:p,groupBy:g,expanded:y,selectedRowIds:m},h))}var du=i().forwardRef((function(e,t){var r=e.className,n=Vi(e,di);return i().createElement("div",Wi({ref:t,className:In("Reactable","ReactTable",r)},n))})),pu=i().forwardRef((function(e,t){var r=e.className,n=Vi(e,pi);return i().createElement("div",Wi({ref:t,className:In("rt-table",r),role:"table"},n))}));function gu(e){var t=e.className,r=Vi(e,gi);return i().createElement("div",Wi({className:In("rt-thead",t),role:"rowgroup"},r))}function yu(e){var t=e.className,r=Vi(e,yi);return i().createElement("div",Wi({className:In("rt-tbody",t),role:"rowgroup"},r))}function mu(e){var t=e.className,r=Vi(e,mi);return i().createElement("div",Wi({className:In("rt-tfoot",t),role:"rowgroup"},r))}function hu(e){var t=e.className,r=Vi(e,hi);return i().createElement("div",Wi({className:In("rt-tr-group",t)},r))}function bu(e){var t=e.className,r=Vi(e,bi);return i().createElement("div",Wi({className:In("rt-tr",t),role:"row"},r))}var vu=i().forwardRef((function(e,t){var r=e.canSort,n=e.sortDescFirst,o=e.isSorted,a=e.isSortedDesc,u=e.toggleSortBy,l=e.canResize,c=e.isResizing,s=e.className,f=e.innerClassName,d=e.children,p=Vi(e,vi),g=zi(i().useState(!1),2),y=g[0],m=g[1];if(r){var h=o?a?"descending":"ascending":"none",b=n?"descending":"ascending",v=function(e){var t=o?!a:n;e&&(t=null),u&&u(t,e)};p=_i(_i({},p),{},{"aria-sort":h,tabIndex:"0",onClick:function(e){y||v(e.shiftKey)},onKeyPress:function(e){var t=e.which||e.keyCode;13!==t&&32!==t||v(e.shiftKey)},onMouseUp:function(){m(!!c)},onMouseDown:function(e){(e.detail>1||e.shiftKey)&&e.preventDefault()},"data-sort-hint":o?null:b})}return i().createElement("div",Wi({className:In("rt-th",l&&"rt-th-resizable",s),role:"columnheader",ref:t},p),i().createElement("div",{className:In("rt-th-inner",f)},d))}));function wu(e){var t=e.className,r=e.innerClassName,n=e.children,o=Vi(e,wi);return i().createElement("div",Wi({className:In("rt-td",t),role:"cell"},o),i().createElement("div",{className:In("rt-td-inner",r)},n))}function Su(e){if(!e)return{};if(null!=e.padding){var t=e.padding;return{className:$n(Vi(e,Si)),innerClassName:$n({padding:t})}}return{className:$n(e)}}function Ou(e){var t=e.onMouseDown,r=e.onTouchStart,n=e.className,o=Vi(e,Oi);return i().createElement("div",Wi({className:In("rt-resizer",n),onMouseDown:t,onTouchStart:r,"aria-hidden":!0},o))}var Ru,Pu=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Fi(e,t)}(u,e);var t,r,n,o,a=(n=u,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Gi(n);if(o){var r=Gi(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return Di(this,e)});function u(){return Ni(this,u),a.apply(this,arguments)}return t=u,(r=[{key:"componentDidMount",value:function(){window.Shiny&&window.Shiny.bindAll&&window.Shiny.bindAll(this.el)}},{key:"componentWillUnmount",value:function(){window.Shiny&&window.Shiny.unbindAll&&window.Shiny.unbindAll(this.el)}},{key:"render",value:function(){var e=this,t=this.props,r=t.children,n=t.html,o={ref:function(t){return e.el=t}};return o=_i(_i({},o),{},n?{dangerouslySetInnerHTML:{__html:n}}:{children:r}),i().createElement("div",Wi({className:"rt-tr-details"},o))}}])&&Bi(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),u}(i().Component);function ju(e){var t=e.isExpanded,r=e.className,n=e["aria-label"];return i().createElement("button",{className:"rt-expander-button","aria-label":n,"aria-expanded":t?"true":"false"},i().createElement("span",{className:In("rt-expander",t&&"rt-expander-open",r),tabIndex:"-1","aria-hidden":"true"},"​"))}function Eu(e){var t=e.filterValue,r=e.setFilter,n=e.className,o=e.placeholder,a=e["aria-label"];return i().createElement("input",{type:"text",className:In("rt-filter",n),value:t||"",onChange:function(e){return r(e.target.value||void 0)},placeholder:o,"aria-label":a})}function Cu(e){var t=e.searchValue,r=e.setSearch,n=e.className,o=e.placeholder,a=e["aria-label"];return i().createElement("input",{type:"text",value:t||"",onChange:function(e){return r(e.target.value||void 0)},className:In("rt-search",n),placeholder:o,"aria-label":a})}function xu(e){var t=e.className,r=Vi(e,Ri);return i().createElement("div",Wi({className:In("rt-no-data",t),"aria-live":"assertive"},r))}function Au(e){var t=e.type,r=e.checked,n=e.onChange,o=e["aria-label"];return i().createElement("div",{className:"rt-select"},i().createElement("input",{type:t,checked:r,onChange:n,className:"rt-select-input","aria-label":o}),"​")}function Iu(e){var t=e.data,r=e.columns,n=e.groupBy,o=e.searchMethod,a=e.pagination,u=e.paginateSubRows,l=e.selection,c=e.crosstalkGroup,s=e.crosstalkId,f=e.setResolvedData,d=e.pageSize,p=e.pageIndex,g=e.sortBy,y=e.filters,m=e.searchValue,h=e.expanded,b=e.selectedRowIds,v=i().useMemo((function(){return r.reduce((function(e,t){return e.concat(Fn(t))}),[])}),[r]),w=i().useMemo((function(){return o||function(e,t,r){var n=v.reduce((function(e,t){return e[t.id]=t.createMatcher(r),e}),{});return e.filter((function(e){var r,o=ki(t);try{for(o.s();!(r=o.n()).done;){var a=r.value,i=e.values[a];if(n[a](i))return!0}}catch(e){o.e(e)}finally{o.f()}}))}}),[v,o]),S=ze({columns:r,data:t,useControlledState:function(e){return i().useMemo((function(){return _i(_i({},e),{},{pageIndex:p,pageSize:d,sortBy:g,filters:y,globalFilter:m,groupBy:n,expanded:h,selectedRowIds:b})}),[e,p,d,g,y,m,n,h,b])},globalFilter:w,paginateExpandedRows:!!u,disablePagination:!a,getSubRows:Xa,manualExpandedKey:null,autoResetGroupBy:!1,autoResetSortBy:!1,autoResetExpanded:!1,autoResetFilters:!1,autoResetGlobalFilter:!1,autoResetSelectedRows:!1,autoResetResize:!1,autoResetPage:!0},ta,go,jo,pt,St,Wo,Zt,$e,Oa,ca,(function(e){l&&e.visibleColumns.push((function(e){return[_i(_i({},e.find((function(e){return e.selectable}))),{},{selectable:!0,disableSortBy:!0,filterable:!1,disableFilters:!0,disableGlobalFilter:!0})].concat(Ii(e.filter((function(e){return!e.selectable}))))}))}),(function(e){c&&(e.visibleColumns.push((function(e){var t={id:s,filter:function(e,t,r){return r?e.filter((function(e){if(r.includes(e.index))return!0})):e},disableGlobalFilter:!0};return e.concat(t)})),e.stateReducers.push((function(e){return e.hiddenColumns.includes(s)?e:_i(_i({},e),{},{hiddenColumns:e.hiddenColumns.concat(s)})})))})),O=i().useRef(u?S.flatRows.length:S.rows.length);return i().useEffect((function(){O.current=0}),[t]),i().useEffect((function(){var e=u?S.flatRows.length:S.rows.length;e>O.current&&(O.current=e)}),[u,S.flatRows,S.rows]),f&&f({data:ei(S.page,u),rowCount:S.rows.length,maxRowCount:O.current}),null}function ku(e){var t=e.data,r=e.columns,n=e.groupBy,o=e.searchable,u=e.searchMethod,l=e.defaultSorted,c=e.pagination,s=e.paginationType,f=e.showPagination,d=e.showPageSizeOptions,p=e.showPageInfo,g=e.defaultPageSize,y=e.pageSizeOptions,m=e.minRows,h=e.paginateSubRows,b=e.defaultExpanded,v=e.selection,w=e.defaultSelected,S=e.selectionId,O=e.onClick,R=e.outlined,P=e.bordered,j=e.borderless,E=e.compact,C=e.nowrap,x=e.striped,A=e.highlight,B=e.className,F=e.style,D=e.rowClassName,G=e.rowStyle,z=e.inline,M=e.width,T=e.height,W=e.theme,H=e.language,_=e.meta,L=e.crosstalkKey,V=e.crosstalkGroup,$=e.crosstalkId,U=e.elementId,K=e.nested,J=e.dataURL,X=e.serverRowCount,q=e.serverMaxRowCount,Z=zi(i().useState(null),2),Y=Z[0],Q=Z[1],ee=i().useMemo((function(){return Y||t}),[Y,t]),te=null!=J,re=zi(i().useState(X),2),ne=re[0],oe=re[1],ae=zi(i().useState(q),2),ie=ae[0],ue=ae[1],le=i().useMemo((function(){return r.reduce((function(e,t){return e.concat(Fn(t))}),[])}),[r]),ce=i().useMemo((function(){return u||function(e,t,r){var n=le.reduce((function(e,t){return e[t.id]=t.createMatcher(r),e}),{});return e.filter((function(e){var r,o=ki(t);try{for(o.s();!(r=o.n()).done;){var a=r.value,i=e.values[a];if(n[a](i))return!0}}catch(e){o.e(e)}finally{o.f()}}))}}),[le,u]),se=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Ia(i().useState(e),2),r=t[0],n=t[1],o=function(e){if(null!=e){if("object"!==Aa(e)&&"function"!=typeof e)throw new Error("meta must be an object or function");n((function(t){"function"==typeof e&&(e=e(t));for(var r=Ca(Ca({},t),e),n=0,o=Object.entries(r);nIe.current&&(Ie.current=e)}),[h,he.flatRows,he.rows]);var ke=i().useRef(null),Ne={onMouseDown:function(){ke.current.classList.remove("rt-keyboard-active")},onKeyDown:function(){ke.current.classList.add("rt-keyboard-active")},onKeyUp:function(e){9===(e.which||e.keyCode)&&ke.current.classList.add("rt-keyboard-active")}},Be=i().useRef(null),Fe=zi(i().useState(!1),2),De=Fe[0],Ge=Fe[1];k((function(){var e=function(){var e=Be.current,t=e.scrollHeight,r=e.clientHeight,n=e.scrollWidth,o=e.clientWidth;Ge(t>r||n>o)};if(window.ResizeObserver){var t=new ResizeObserver((function(){e()}));return t.observe(Be.current),function(){t.disconnect()}}e()}),[]),i().useEffect((function(){if(window.Shiny&&window.Shiny.onInputChange&&!K){var e=ke.current.parentElement.getAttribute("data-reactable-output");if(e){var t,r=Re.selected.map((function(e){return e+1})),n=Re.page+1,o=Re.sorted.length>0?{}:null,a=ki(Re.sorted);try{for(a.s();!(t=a.n()).done;){var i=t.value;o[i.id]=i.desc?"desc":"asc"}}catch(e){a.e(e)}finally{a.f()}var u={page:n,pageSize:Re.pageSize,pages:Re.pages,sorted:o,selected:r};Object.keys(u).forEach((function(t){window.Shiny.onInputChange("".concat(e,"__reactable__").concat(t),u[t])}))}}}),[K,Re.page,Re.pageSize,Re.pages,Re.sorted,Re.selected]);var Me=I(he.pageCount);i().useEffect((function(){if(window.Shiny&&!K){var e=ke.current.parentElement.getAttribute("data-reactable-output");if(e){var t=he.setRowsSelected,r=he.gotoPage,n=he.toggleAllRowsExpanded;window.Shiny.addCustomMessageHandler("__reactable__".concat(e),(function(e){if(e.jsEvals){var o,a=ki(e.jsEvals);try{for(a.s();!(o=a.n()).done;){var i=o.value;window.HTMLWidgets.evaluateStringMember(e,i)}}catch(e){a.e(e)}finally{a.f()}}if(null!=e.data){var u=qa(e.data,le);Q(u)}if(null!=e.selected){var l=e.selected.map((function(e){return String(e)}));t(l)}if(null!=e.page){var c=Math.min(Math.max(e.page,0),Math.max(Me()-1,0));r(c)}null!=e.expanded&&(e.expanded?n(!0):n(!1)),void 0!==e.meta&&pe(e.meta)}))}}}),[K,he.setRowsSelected,he.gotoPage,he.toggleAllRowsExpanded,le,Me,pe]);var Te=i().useRef(null);k((function(){if(V&&window.crosstalk){var e={};e.selection=new window.crosstalk.SelectionHandle(V),e.filter=new window.crosstalk.FilterHandle(V),e.selected=e.selection.value,e.filtered=e.filter.filteredKeys,Te.current=e;var t=(L||[]).reduce((function(e,t,r){return e[t]=r,e}),{}),r=he.setFilter,n=he.setRowsSelected,o=function(){var n,o=e.selected&&e.selected.length>0?e.selected:null,a=e.filtered,i=(n=o||a?o?a?o.filter((function(e){return a.includes(e)})):o:a:null)?n.map((function(e){return t[e]})):null;r($,i)},a=function(t){e.selected!==t&&(e.selected=t,o())};return e.selection.on("change",(function(t){t.sender!==e.selection?(a(t.value),e.skipNextSelection=!0,n([])):a(null)})),e.filter.on("change",(function(t){var r;t.sender!==e.filter&&(r=t.value,e.filtered!==r&&(e.filtered=r,o()))})),(e.selected||e.filtered)&&o(),function(){try{e.selection.close()}catch(e){console.error("Error closing Crosstalk selection handle:",e)}try{e.filter.close()}catch(e){console.error("Error closing Crosstalk filter handle:",e)}}}}),[L,V,$,he.setFilter,he.setRowsSelected]),k((function(){Te.current&&(w||(Te.current.skipNextSelection=!0))}),[w]),k((function(){if(Te.current&&v){var e=Te.current;if(e.skipNextSelection)e.skipNextSelection=!1;else{var t=Object.keys(me.selectedRowIds).map((function(e){return L[ve[e].index]}));try{e.selection.set(t)}catch(e){console.error("Error selecting Crosstalk keys:",e)}}}}),[me.selectedRowIds,ve,v,L]),he.state=Re,he.downloadDataCSV=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=e||"data.csv";var r=he.getDataCSV(t);zn(r,e)},he.getDataCSV=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.columnIds||(e.columnIds=le.map((function(e){return e.id})));var t=ee.length>0?Object.keys(ee[0]):[];e.columnIds=e.columnIds.filter((function(e){return t.includes(e)}));var r=he.preGroupedRows.map((function(e){return e.values})),n=Gn(r,e);return n},he.setMeta=pe;var We=he.toggleHideColumn;he.toggleHideColumn=function(e,t){t&&Re.hiddenColumns.includes(e)||We(e,t)},he.setData=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t=Object.assign({resetSelected:!0,resetExpanded:!1},t),"object"!==Ai(e)||null==e)throw new Error("data must be an array of row objects or an object containing column arrays");Array.isArray(e)||(e=qa(e,le)),Q(e),t.resetSelected&&he.setRowsSelected([]),t.resetExpanded&&he.toggleAllRowsExpanded(!1)};var He=i().useRef([]);he.onStateChange=function(e){if("function"!=typeof e)throw new Error("listenerFn must be a function");return He.current.push(e),function(){He.current=He.current.filter((function(t){return t!==e}))}};var _e=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=i().useRef({}),n=I(e),o=I(t);return i().useCallback((function(){for(var e=arguments.length,t=new Array(e),a=0;a0){var y=function(){return he.toggleAllRowsSelected()};o=_i(_i({},o),{},{onClick:y,className:In(o.className,"rt-td-select")}),n=i().createElement(Au,{type:"checkbox",checked:he.isAllRowsSelected,onChange:y,"aria-label":H.selectAllRowsLabel})}var m=e.getHeaderProps(o),h=m.key,b=Vi(m,Ei);return i().createElement(vu,Wi({key:h},b),n,t)})))})),je?i().createElement(bu,{className:In("rt-tr-filters",$n(W.rowStyle))},he.visibleColumns.map((function(e){var t,r;e.filterable&&(null!=e.filterInput?(r="function"==typeof e.filterInput?e.filterInput(e,Re):(0,rr.hydrate)({Fragment:a.Fragment,WidgetContainer:po},e.filterInput),i().isValidElement(r)?t=r:e.html&&(t=i().createElement(ti,{html:r}))):t=i().createElement(Eu,{filterValue:e.filterValue,setFilter:e.setFilter,className:$n(W.filterInputStyle),placeholder:H.filterPlaceholder,"aria-label":Jn(H.filterLabel,{name:e.name})}));var n=Su(W.filterCellStyle),o=n.className,u=n.innerClassName,l={role:"cell",colSpan:null,className:In("rt-td-filter",e.headerClassName,o),innerClassName:u,style:e.headerStyle},c=e.getHeaderProps(l),s=c.key,f=Vi(c,Ci);return i().createElement(wu,Wi({key:s},f),t)}))):null)),function(){var e,t=he.visibleColumns.some((function(e){return e.sticky})),r=t?"rt-tr-highlight-sticky":"rt-tr-highlight",n=t?"rt-tr-striped-sticky":"rt-tr-striped",o=he.page.map((function(e,t){he.prepareRow(e);var o,u=function(t){null==t&&(t=!e.isSelected),"single"===v&&he.setRowsSelected([]),e.toggleRowSelected(t)},l=_i(_i({},e),{},{toggleRowSelected:u,viewIndex:t,row:e.values,subRows:Dn(e.subRows),aggregated:e.isGrouped,expanded:e.isExpanded,level:e.depth,selected:e.isSelected,page:me.pageIndex}),c={className:In(x&&(t%2?null:n),A&&r,e.isSelected&&"rt-tr-selected",$n(W.rowStyle))};D&&(o="function"==typeof D?D(l,Re):Array.isArray(D)?D[l.index]:D,c.className=In(c.className,o)),G&&("function"==typeof G?c.style=G(l,Re):Array.isArray(G)?c.style=G[l.index]:c.style=G);var s,f=function(e,t){if(!e.isExpanded||e.isGrouped)return null;var r,n=xe[e.id];if(!(r=null!=n?he.visibleColumns.find((function(e){return e.id===n})):he.visibleColumns.find((function(e){return e.details}))))return null;var o=r,u=o.details,l=o.html,c={};if("function"==typeof u){var s=u(e,t);l&&(c.html=s),c.children=s}else if(Array.isArray(u)){var f=u[e.index];if(null==f)return null;l&&(c.html=f),c.children=(0,rr.hydrate)({Reactable:cu,Fragment:a.Fragment,WidgetContainer:po},f)}return i().createElement(Pu,Wi({key:"".concat(r.id,"_").concat(e.index)},c))}(l,Re);if(e.isExpanded)if(null!=xe[e.id])s=xe[e.id];else{var d=he.visibleColumns.find((function(e){return e.details}));s=d?d.id:null}var p=e.getRowProps(c);return i().createElement(hu,{key:"".concat(e.depth,"_").concat(t),className:$n(W.rowGroupStyle)},i().createElement(bu,Wi({},p,{key:void 0}),e.cells.map((function(t,r){var n=t.column,o=n.getProps?n.getProps(l,n,Re):{},a=Su(W.cellStyle),c=a.className,f=a.innerClassName;o=_i(_i({},o),{},{className:In(o.className,c),innerClassName:f,role:n.rowHeader?"rowheader":"cell"});var d,p,g,y=_i(_i({},t),{},{column:n,filterValue:n.filterValue},l);if(d=t.isGrouped?n.Grouped?n.Grouped(y,Re):y.value:t.isAggregated?n.Aggregated?n.Aggregated(y,Re):t.render("Aggregated"):t.isPlaceholder?"":n.Cell?n.Cell(y,Re):t.render("Cell"),n.details&&!e.isGrouped&&(Array.isArray(n.details)&&null==n.details[e.index]||(p=!0)),p){var m=e.isExpanded&&s===n.id;o=_i(_i({},o),{},{onClick:function(){if(m){e.toggleRowExpanded(!1);var t=_i({},xe);delete t[e.id],Ae(t)}else{e.toggleRowExpanded(!0);var r=_i(_i({},xe),{},Li({},e.id,n.id));Ae(r)}},className:In(o.className,"rt-td-expandable")}),d===Ka&&(o.style=_i({textOverflow:"clip",userSelect:"none"},o.style));var h={isExpanded:m,className:$n(W.expanderStyle),"aria-label":H.detailsExpandLabel};g=i().createElement(ju,h)}else if(t.isGrouped){var b=e.isExpanded;o=_i(_i({},o),{},{onClick:function(){return e.toggleRowExpanded()},className:In(o.className,"rt-td-expandable")});var w={isExpanded:b,className:$n(W.expanderStyle),"aria-label":H.groupExpandLabel};g=i().createElement(ju,w)}else t.column.isGrouped&&e.canExpand&&(o=_i(_i({},o),{},{onClick:function(){return e.toggleRowExpanded()},className:In(o.className,"rt-td-expandable")}));var S,R="multiple"===v||"single"===v&&!t.isAggregated;n.selectable&&R&&(o=_i(_i({},o),{},{onClick:function(){return u()},className:In(o.className,"rt-td-select")}),S=t.isAggregated?H.selectAllSubRowsLabel:H.selectRowLabel,d=i().createElement(Au,{type:"multiple"===v?"checkbox":"radio",checked:e.isSelected,onChange:function(){return u()},"aria-label":S})),O&&!o.onClick&&("expand"===O?o.onClick=function(){return e.toggleRowExpanded()}:"select"===O&&R?o.onClick=function(){return u()}:"function"==typeof O&&(o.onClick=function(){return O(l,n,Re)}));var P=t.getCellProps(o);return i().createElement(wu,Wi({},P,{key:"".concat(r,"_").concat(n.id)}),g,d)}))),f)}));m=m?Math.max(m,1):1;var u=Math.max(m-he.page.length,0);u>0&&(e=Ii(Array(u)).map((function(e,t){var r,n={className:In("rt-tr-pad",$n(W.rowStyle))};return D&&("function"==typeof D?r=D(void 0,Re):Array.isArray(D)||(r=D),n.className=In(n.className,r)),G&&("function"==typeof G?n.style=G(void 0,Re):Array.isArray(G)||(n.style=G)),i().createElement(hu,{key:t,className:$n(W.rowGroupStyle),"aria-hidden":!0},i().createElement(bu,n,he.visibleColumns.map((function(e){var r=Su(W.cellStyle),n=r.className,o=r.innerClassName,a={className:n},u=e.getFooterProps(a),l=u.className,c=u.style;return i().createElement(wu,{key:"".concat(t,"_").concat(e.id),className:l,innerClassName:o,style:c}," ")}))))})));var l,c=$n(W.tableBodyStyle);0===he.rows.length?(l=i().createElement(xu,null,H.noData),c=In("rt-tbody-no-data",c)):l=i().createElement(xu,null);var s=he.getTableBodyProps({className:c});return i().createElement(yu,s,o,e,l)}(),function(){var e=he.visibleColumns.some((function(e){return null!=e.footer}));if(!e)return null;var t=he.getTfootProps();return i().createElement(mu,t,i().createElement(bu,null,he.visibleColumns.map((function(e){var t="function"==typeof(e=_i(_i({},e),{},{column:e,data:Oe})).Footer?e.Footer(e,Re):e.render("Footer"),r=Su(W.footerStyle),n=r.className,o=r.innerClassName,a={className:In("rt-td-footer",e.footerClassName,n),innerClassName:o,style:e.footerStyle,role:e.rowHeader?"rowheader":"cell",colSpan:null},u=e.getFooterProps(a),l=u.key,c=Vi(u,xi);return i().createElement(wu,Wi({key:l},c),t)}))))}()),function(){if(!1===f)return null;if(!c&&null==f)return null;if(c&&null==f){var e=d?Math.min.apply(Math,[me.pageSize].concat(Ii(y||[]))):me.pageSize;if((null!=ie?ie:null!=ne?ne:Ie.current)<=e)return null}return i().createElement(ao,{paginationType:s,pageSizeOptions:y,showPageInfo:p,showPageSizeOptions:d,page:me.pageIndex,pages:he.pageCount,pageSize:me.pageSize,pageRowCount:he.pageRowCount,canNext:he.canNextPage,canPrevious:he.canPreviousPage,onPageChange:he.gotoPage,onPageSizeChange:he.setPageSize,rowCount:null!=ne?ne:he.rows.length,theme:W,language:H})}())}cu.defaultProps={sortable:!0,pagination:!0,defaultPageSize:10,paginationType:"numbers",pageSizeOptions:[10,25,50,100],showPageInfo:!0,minRows:1,showSortIcon:!0,crosstalkId:"__crosstalk__"},fu.defaultProps=cu.defaultProps,Ru={Reactable:cu},window.HTMLWidgets.widget({name:"reactable",type:"output",factory:function(e){return{renderValue:function(t){e.hasAttribute("data-react-ssr")?l().hydrate(s(Ru,t.tag),e):l().render(s(Ru,t.tag),e)},resize:function(){}}}})}();var r=Reactable="undefined"==typeof Reactable?{}:Reactable;for(var n in t)r[n]=t[n];t.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})}(); +//# sourceMappingURL=reactable.js.map \ No newline at end of file diff --git a/articles/quarto/observable-reactable_files/reactwidget-2.0.0/react-tools.umd.cjs b/articles/quarto/observable-reactable_files/reactwidget-2.0.0/react-tools.umd.cjs new file mode 100644 index 00000000..159c7ab3 --- /dev/null +++ b/articles/quarto/observable-reactable_files/reactwidget-2.0.0/react-tools.umd.cjs @@ -0,0 +1 @@ +(function(s,u){typeof exports=="object"&&typeof module<"u"?u(exports):typeof define=="function"&&define.amd?define(["exports"],u):(s=typeof globalThis<"u"?globalThis:s||self,u(s.reactR={}))})(this,function(s){"use strict";function u(n,t){if(typeof t=="string")return t;if(t.name[0]===t.name[0].toUpperCase()&&!n.hasOwnProperty(t.name))throw new Error("Unknown component: "+t.name);for(let i in t.attribs)g(t.attribs[i])&&(t.attribs[i]=u(n,t.attribs[i]));for(var a=n.hasOwnProperty(t.name)?n[t.name]:t.name,r=[a,t.attribs],e=0;e - + - + - +
-
+
@@ -223,13 +224,13 @@

Usage

-

Or use options(reactable.static = TRUE) to enable static +

Or use options(reactable.static = TRUE) to enable static rendering for all tables:

 options(reactable.static = TRUE)
 
 reactable(data, defaultPageSize = 5)
-
+
@@ -289,7 +290,7 @@

Usage

- +

Examples @@ -387,13 +388,11 @@

Limitations and Tradeoffs

diff --git a/articles/static-rendering_files/htmltools-fill-0.5.8.1/fill.css b/articles/static-rendering_files/htmltools-fill-0.5.8.1/fill.css new file mode 100644 index 00000000..841ea9d5 --- /dev/null +++ b/articles/static-rendering_files/htmltools-fill-0.5.8.1/fill.css @@ -0,0 +1,21 @@ +@layer htmltools { + .html-fill-container { + display: flex; + flex-direction: column; + /* Prevent the container from expanding vertically or horizontally beyond its + parent's constraints. */ + min-height: 0; + min-width: 0; + } + .html-fill-container > .html-fill-item { + /* Fill items can grow and shrink freely within + available vertical space in fillable container */ + flex: 1 1 auto; + min-height: 0; + min-width: 0; + } + .html-fill-container > :not(.html-fill-item) { + /* Prevent shrinking or growing of non-fill items */ + flex: 0 0 auto; + } +} diff --git a/articles/static-rendering_files/reactwidget-1.0.0/react-tools.js b/articles/static-rendering_files/reactwidget-1.0.0/react-tools.js deleted file mode 100644 index 871441a9..00000000 --- a/articles/static-rendering_files/reactwidget-1.0.0/react-tools.js +++ /dev/null @@ -1,547 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./srcjs/react-tools.js"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./srcjs/input.js": -/*!************************!*\ - !*** ./srcjs/input.js ***! - \************************/ -/*! exports provided: reactShinyInput */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reactShinyInput", function() { return reactShinyInput; }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ "react-dom"); -/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var shiny__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shiny */ "shiny"); -/* harmony import */ var shiny__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(shiny__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! jquery */ "jquery"); -/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_3__); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - - - - - -/* - * This default receiveMessage implementation expects data to contain whole - * configuration and value properties. If either is present, it will be set and - * the component will be re-rendered. Because receiveMessage is typically used - * by input authors to perform incremental updates, this default implementation - * can be overriden by the user with the receiveMessage arguments to - * reactShinyInput. - */ - -function defaultReceiveMessage(el, _ref) { - var configuration = _ref.configuration, - value = _ref.value; - var dirty = false; - - if (configuration !== undefined) { - this.setInputConfiguration(el, configuration); - dirty = true; - } - - if (value !== undefined) { - this.setInputValue(el, value); - dirty = true; - } - - if (dirty) { - this.getCallback(el)(); - this.render(el); - } -} - -var defaultOptions = { - receiveMessage: defaultReceiveMessage, - type: false, - ratePolicy: null -}; -/** - * Installs a new Shiny input binding based on a React component. - * - * @param {string} selector - jQuery selector that should identify the set of - * container elements within the scope argument of Shiny.InputBinding.find. - * @param {string} name - A name such as 'acme.FooInput' that should uniquely - * identify the component. - * @param {Object} component - React Component, either class or function. - * @param {Object} options - Additional configuration options. Supported - * options are: - * - receiveMessage: Implementation of Shiny.InputBinding to use in place of - * the default. Typically overridden as an optimization to perform - * incremental value updates. - * - type: `false`, a string, or a function. - * - `false` (the default): denotes that the value produced by this input - * should not be intercepted by any handlers registered in R on the - * server using shiny::registerInputHandler(). - * - string: denotes the input's *type* and should correspond to the - * type parameter of shiny::registerInputHandler(). - * - function: A function called with `this` bound to the InputBinding - * instance and passed a single argument, the input's containing DOM - * element. The function should return either `false` or a string - * corresponding to the type parameter of shiny::registerInputHandler(). - * - ratePolicy: A rate policy object as defined in the documentation for - * getRatePolicy(): https://shiny.rstudio.com/articles/building-inputs.html - * A rate policy object has two members: - * - `policy`: Valid values are the strings "direct", "debounce", and - * "throttle". "direct" means that all events are sent immediately. - * - `delay`: Number indicating the number of milliseconds that should be - * used when debouncing or throttling. Has no effect if the policy is - * direct. - * The specified rate policy is only applied when `true` is passed as the - * second argument to the `setValue` function passed as a prop to the - * input component. - * - */ - -function reactShinyInput(selector, name, component, options) { - options = Object.assign({}, defaultOptions, options); - shiny__WEBPACK_IMPORTED_MODULE_2___default.a.inputBindings.register(new ( /*#__PURE__*/function (_Shiny$InputBinding) { - _inherits(_class, _Shiny$InputBinding); - - var _super = _createSuper(_class); - - function _class() { - _classCallCheck(this, _class); - - return _super.apply(this, arguments); - } - - _createClass(_class, [{ - key: "find", - - /* - * Methods override those in Shiny.InputBinding - */ - value: function find(scope) { - return jquery__WEBPACK_IMPORTED_MODULE_3___default()(scope).find(selector); - } - }, { - key: "getValue", - value: function getValue(el) { - return this.getInputValue(el); - } - }, { - key: "setValue", - value: function setValue(el, value) { - var rateLimited = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - /* - * We have to check whether $(el).data('callback') is undefined here - * in case shiny::renderUI() is involved. If an input is contained in a - * shiny::uiOutput(), the following strange thing happens occasionally: - * - * 1. setValue() is bound to an el in this.render(), below - * 2. An event that will call setValue() is enqueued - * 3. While the event is still enqueued, el is unbound and removed - * from the DOM by the JS code associated with shiny::uiOutput() - * - That code uses jQuery .html() in output_binding_html.js - * - .html() removes el from the DOM and clears ist data and events - * 4. By the time the setValue() bound to the original el is invoked, - * el has been unbound and its data cleared. - * - * Since the original input is gone along with its callback, it - * seems to make the most sense to do nothing. - */ - if (jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('callback') !== undefined) { - this.setInputValue(el, value); - this.getCallback(el)(rateLimited); - this.render(el); - } - } - }, { - key: "initialize", - value: function initialize(el) { - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('value', JSON.parse(jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).next().text())); - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('configuration', JSON.parse(jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).next().next().text())); - } - }, { - key: "subscribe", - value: function subscribe(el, callback) { - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('callback', callback); - this.render(el); - } - }, { - key: "unsubscribe", - value: function unsubscribe(el) { - react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(null, el); - } - }, { - key: "receiveMessage", - value: function receiveMessage(el, data) { - options.receiveMessage.call(this, el, data); - } - }, { - key: "getType", - value: function getType(el) { - if (typeof options.type === 'function') { - return options.type.call(this, el); - } else if (options.type === false || typeof options.type === 'string') { - return options.type; - } else { - throw new Error('options.type must be false, a string, or a function'); - } - } - }, { - key: "getRatePolicy", - value: function getRatePolicy() { - return options.ratePolicy; - } - /* - * Methods not present in Shiny.InputBinding but accessible to users - * through `this` in receiveMessage - */ - - }, { - key: "getInputValue", - value: function getInputValue(el) { - return jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('value'); - } - }, { - key: "setInputValue", - value: function setInputValue(el, value) { - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('value', value); - } - }, { - key: "getInputConfiguration", - value: function getInputConfiguration(el) { - return jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('configuration'); - } - }, { - key: "setInputConfiguration", - value: function setInputConfiguration(el, configuration) { - jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('configuration', configuration); - } - }, { - key: "getCallback", - value: function getCallback(el) { - return jquery__WEBPACK_IMPORTED_MODULE_3___default()(el).data('callback'); - } - }, { - key: "render", - value: function render(el) { - var element = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(component, { - configuration: this.getInputConfiguration(el), - value: this.getValue(el), - setValue: this.setValue.bind(this, el), - el: el - }); - react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(element, el); - } - }]); - - return _class; - }(shiny__WEBPACK_IMPORTED_MODULE_2___default.a.InputBinding))(), name); -} - -/***/ }), - -/***/ "./srcjs/react-tools.js": -/*!******************************!*\ - !*** ./srcjs/react-tools.js ***! - \******************************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./widget */ "./srcjs/widget.js"); -/* harmony import */ var _input__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./input */ "./srcjs/input.js"); - - -window.reactR = { - reactShinyInput: _input__WEBPACK_IMPORTED_MODULE_1__["reactShinyInput"], - reactWidget: _widget__WEBPACK_IMPORTED_MODULE_0__["reactWidget"], - hydrate: _widget__WEBPACK_IMPORTED_MODULE_0__["hydrate"] -}; - -/***/ }), - -/***/ "./srcjs/widget.js": -/*!*************************!*\ - !*** ./srcjs/widget.js ***! - \*************************/ -/*! exports provided: hydrate, defaultOptions, mergeOptions, formatDimension, isTag, reactWidget */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hydrate", function() { return hydrate; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultOptions", function() { return defaultOptions; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeOptions", function() { return mergeOptions; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatDimension", function() { return formatDimension; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isTag", function() { return isTag; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reactWidget", function() { return reactWidget; }); -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/** - * Recursively transforms tag, a JSON representation of an instance of a - * React component and its children, into a React element suitable for - * passing to ReactDOM.render. - * @param {Object} components - * @param {Object} tag - */ -function hydrate(components, tag) { - if (typeof tag === 'string') return tag; - - if (tag.name[0] === tag.name[0].toUpperCase() && !components.hasOwnProperty(tag.name)) { - throw new Error("Unknown component: " + tag.name); - } - - var elem = components.hasOwnProperty(tag.name) ? components[tag.name] : tag.name, - args = [elem, tag.attribs]; - - for (var i = 0; i < tag.children.length; i++) { - args.push(hydrate(components, tag.children[i])); - } - - return React.createElement.apply(React, args); -} -var defaultOptions = { - // The name of the property on the root tag to use for the width, if - // it's updated. - widthProperty: "width", - // The name of the property on the root tag to use for the height, if - // it's updated. - heightProperty: "height", - // Whether or not to append the string 'px' to the width and height - // properties when they change. - appendPx: false, - // Whether or not to dynamically update the width and height properties - // of the last known tag when the computed width and height change in - // the browser. - renderOnResize: false -}; -function mergeOptions(options) { - var merged = {}; - - for (var k in defaultOptions) { - merged[k] = defaultOptions[k]; - } - - for (var k in options) { - if (!defaultOptions.hasOwnProperty(k)) { - throw new Error("Unrecognized option: " + k); - } - - merged[k] = options[k]; - } - - return merged; -} -function formatDimension(dim, options) { - if (options.appendPx) { - return dim + 'px'; - } else { - return dim; - } -} -function isTag(value) { - return _typeof(value) === 'object' && value.hasOwnProperty('name') && value.hasOwnProperty('attribs') && value.hasOwnProperty('children'); -} -/** - * Creates an HTMLWidget that is updated by rendering a React component. - * React component constructors are made available by specifying them by - * name in the components object. - * @param {string} name - * @param {string} type - * @param {Object} components - * @param {Object} options - */ - -function reactWidget(name, type, components, options) { - var actualOptions = mergeOptions(options); - window.HTMLWidgets.widget({ - name: name, - type: type, - factory: function factory(el, width, height) { - var lastValue, - instance = {}, - renderValue = function renderValue(value) { - if (actualOptions.renderOnResize) { - // value.tag might be a primitive string, in which - // case there is no attribs property. - if (_typeof(value.tag) === 'object') { - value.tag.attribs[actualOptions["widthProperty"]] = formatDimension(width); - value.tag.attribs[actualOptions["heightProperty"]] = formatDimension(height); - } - - lastValue = value; - } // with functional stateless components this will be null - // see https://reactjs.org/docs/react-dom.html#render for more details - - - this.instance.component = ReactDOM.render(hydrate(components, value.tag), el); - }; - - return { - instance: instance, - renderValue: renderValue, - resize: function resize(newWidth, newHeight) { - if (actualOptions.renderOnResize) { - width = newWidth; - height = newHeight; - renderValue(lastValue); - } - } - }; - } - }); -} - -/***/ }), - -/***/ "jquery": -/*!********************************!*\ - !*** external "window.jQuery" ***! - \********************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = window.jQuery; - -/***/ }), - -/***/ "react": -/*!*******************************!*\ - !*** external "window.React" ***! - \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = window.React; - -/***/ }), - -/***/ "react-dom": -/*!**********************************!*\ - !*** external "window.ReactDOM" ***! - \**********************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = window.ReactDOM; - -/***/ }), - -/***/ "shiny": -/*!*******************************!*\ - !*** external "window.Shiny" ***! - \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = window.Shiny; - -/***/ }) - -/******/ }); -//# sourceMappingURL=react-tools.js.map \ No newline at end of file diff --git a/articles/static-rendering_files/reactwidget-1.0.0/react-tools.js.map b/articles/static-rendering_files/reactwidget-1.0.0/react-tools.js.map deleted file mode 100644 index 088dfa0e..00000000 --- a/articles/static-rendering_files/reactwidget-1.0.0/react-tools.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./srcjs/input.js","webpack:///./srcjs/react-tools.js","webpack:///./srcjs/widget.js","webpack:///external \"window.jQuery\"","webpack:///external \"window.React\"","webpack:///external \"window.ReactDOM\"","webpack:///external \"window.Shiny\""],"names":["defaultReceiveMessage","el","configuration","value","dirty","undefined","setInputConfiguration","setInputValue","getCallback","render","defaultOptions","receiveMessage","type","ratePolicy","reactShinyInput","selector","name","component","options","Object","assign","Shiny","inputBindings","register","scope","$","find","getInputValue","rateLimited","data","JSON","parse","next","text","callback","ReactDOM","call","Error","element","React","createElement","getInputConfiguration","getValue","setValue","bind","InputBinding","window","reactR","reactWidget","hydrate","components","tag","toUpperCase","hasOwnProperty","elem","args","attribs","i","children","length","push","apply","widthProperty","heightProperty","appendPx","renderOnResize","mergeOptions","merged","k","formatDimension","dim","isTag","actualOptions","HTMLWidgets","widget","factory","width","height","lastValue","instance","renderValue","resize","newWidth","newHeight"],"mappings":"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","file":"react-tools.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./srcjs/react-tools.js\");\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport Shiny from 'shiny';\r\nimport $ from 'jquery';\r\n\r\n/*\r\n * This default receiveMessage implementation expects data to contain whole\r\n * configuration and value properties. If either is present, it will be set and\r\n * the component will be re-rendered. Because receiveMessage is typically used\r\n * by input authors to perform incremental updates, this default implementation\r\n * can be overriden by the user with the receiveMessage arguments to\r\n * reactShinyInput.\r\n */\r\nfunction defaultReceiveMessage(el, { configuration, value }) {\r\n let dirty = false;\r\n if (configuration !== undefined) {\r\n this.setInputConfiguration(el, configuration);\r\n dirty = true;\r\n }\r\n if (value !== undefined) {\r\n this.setInputValue(el, value);\r\n dirty = true;\r\n }\r\n if (dirty) {\r\n this.getCallback(el)();\r\n this.render(el);\r\n }\r\n}\r\n\r\nconst defaultOptions = {\r\n receiveMessage: defaultReceiveMessage,\r\n type: false,\r\n ratePolicy: null\r\n};\r\n\r\n/**\r\n * Installs a new Shiny input binding based on a React component.\r\n *\r\n * @param {string} selector - jQuery selector that should identify the set of\r\n * container elements within the scope argument of Shiny.InputBinding.find.\r\n * @param {string} name - A name such as 'acme.FooInput' that should uniquely\r\n * identify the component.\r\n * @param {Object} component - React Component, either class or function.\r\n * @param {Object} options - Additional configuration options. Supported\r\n * options are:\r\n * - receiveMessage: Implementation of Shiny.InputBinding to use in place of\r\n * the default. Typically overridden as an optimization to perform\r\n * incremental value updates.\r\n * - type: `false`, a string, or a function.\r\n * - `false` (the default): denotes that the value produced by this input\r\n * should not be intercepted by any handlers registered in R on the\r\n * server using shiny::registerInputHandler().\r\n * - string: denotes the input's *type* and should correspond to the\r\n * type parameter of shiny::registerInputHandler().\r\n * - function: A function called with `this` bound to the InputBinding\r\n * instance and passed a single argument, the input's containing DOM\r\n * element. The function should return either `false` or a string\r\n * corresponding to the type parameter of shiny::registerInputHandler().\r\n * - ratePolicy: A rate policy object as defined in the documentation for\r\n * getRatePolicy(): https://shiny.rstudio.com/articles/building-inputs.html\r\n * A rate policy object has two members:\r\n * - `policy`: Valid values are the strings \"direct\", \"debounce\", and\r\n * \"throttle\". \"direct\" means that all events are sent immediately.\r\n * - `delay`: Number indicating the number of milliseconds that should be\r\n * used when debouncing or throttling. Has no effect if the policy is\r\n * direct.\r\n * The specified rate policy is only applied when `true` is passed as the\r\n * second argument to the `setValue` function passed as a prop to the\r\n * input component.\r\n *\r\n */\r\nexport function reactShinyInput(selector,\r\n name,\r\n component,\r\n options) {\r\n options = Object.assign({}, defaultOptions, options);\r\n Shiny.inputBindings.register(new class extends Shiny.InputBinding {\r\n\r\n /*\r\n * Methods override those in Shiny.InputBinding\r\n */\r\n\r\n find(scope) {\r\n return $(scope).find(selector);\r\n }\r\n getValue(el) {\r\n return this.getInputValue(el);\r\n }\r\n setValue(el, value, rateLimited = false) {\r\n /*\r\n * We have to check whether $(el).data('callback') is undefined here\r\n * in case shiny::renderUI() is involved. If an input is contained in a\r\n * shiny::uiOutput(), the following strange thing happens occasionally:\r\n *\r\n * 1. setValue() is bound to an el in this.render(), below\r\n * 2. An event that will call setValue() is enqueued\r\n * 3. While the event is still enqueued, el is unbound and removed\r\n * from the DOM by the JS code associated with shiny::uiOutput()\r\n * - That code uses jQuery .html() in output_binding_html.js\r\n * - .html() removes el from the DOM and clears ist data and events\r\n * 4. By the time the setValue() bound to the original el is invoked,\r\n * el has been unbound and its data cleared.\r\n *\r\n * Since the original input is gone along with its callback, it\r\n * seems to make the most sense to do nothing.\r\n */\r\n if ($(el).data('callback') !== undefined) {\r\n this.setInputValue(el, value);\r\n this.getCallback(el)(rateLimited);\r\n this.render(el);\r\n }\r\n }\r\n initialize(el) {\r\n $(el).data('value', JSON.parse($(el).next().text()));\r\n $(el).data('configuration', JSON.parse($(el).next().next().text()));\r\n }\r\n subscribe(el, callback) {\r\n $(el).data('callback', callback);\r\n this.render(el);\r\n }\r\n unsubscribe(el) {\r\n ReactDOM.render(null, el);\r\n }\r\n receiveMessage(el, data) {\r\n options.receiveMessage.call(this, el, data);\r\n }\r\n getType(el) {\r\n if (typeof options.type === 'function') {\r\n return options.type.call(this, el);\r\n } else if (options.type === false || typeof options.type === 'string') {\r\n return options.type;\r\n } else {\r\n throw new Error('options.type must be false, a string, or a function');\r\n }\r\n }\r\n getRatePolicy() {\r\n return options.ratePolicy;\r\n }\r\n\r\n /*\r\n * Methods not present in Shiny.InputBinding but accessible to users\r\n * through `this` in receiveMessage\r\n */\r\n\r\n getInputValue(el) {\r\n return $(el).data('value');\r\n }\r\n setInputValue(el, value) {\r\n $(el).data('value', value);\r\n }\r\n getInputConfiguration(el) {\r\n return $(el).data('configuration');\r\n }\r\n setInputConfiguration(el, configuration) {\r\n $(el).data('configuration', configuration);\r\n }\r\n getCallback(el) {\r\n return $(el).data('callback');\r\n }\r\n render(el) {\r\n const element = React.createElement(component, {\r\n configuration: this.getInputConfiguration(el),\r\n value: this.getValue(el),\r\n setValue: this.setValue.bind(this, el),\r\n el: el\r\n });\r\n ReactDOM.render(element, el);\r\n }\r\n }, name);\r\n}\r\n\r\n","import { reactWidget, hydrate } from './widget';\r\nimport { reactShinyInput } from './input';\r\n\r\nwindow.reactR = {\r\n reactShinyInput: reactShinyInput,\r\n reactWidget: reactWidget,\r\n hydrate: hydrate\r\n};\r\n","/**\r\n * Recursively transforms tag, a JSON representation of an instance of a\r\n * React component and its children, into a React element suitable for\r\n * passing to ReactDOM.render.\r\n * @param {Object} components\r\n * @param {Object} tag\r\n */\r\nexport function hydrate(components, tag) {\r\n if (typeof tag === 'string') return tag;\r\n if (tag.name[0] === tag.name[0].toUpperCase()\r\n && !components.hasOwnProperty(tag.name)) {\r\n throw new Error(\"Unknown component: \" + tag.name);\r\n }\r\n var elem = components.hasOwnProperty(tag.name) ? components[tag.name] : tag.name,\r\n args = [elem, tag.attribs];\r\n for (var i = 0; i < tag.children.length; i++) {\r\n args.push(hydrate(components, tag.children[i]));\r\n }\r\n return React.createElement.apply(React, args);\r\n}\r\n\r\nexport const defaultOptions = {\r\n // The name of the property on the root tag to use for the width, if\r\n // it's updated.\r\n widthProperty: \"width\",\r\n // The name of the property on the root tag to use for the height, if\r\n // it's updated.\r\n heightProperty: \"height\",\r\n // Whether or not to append the string 'px' to the width and height\r\n // properties when they change.\r\n appendPx: false,\r\n // Whether or not to dynamically update the width and height properties\r\n // of the last known tag when the computed width and height change in\r\n // the browser.\r\n renderOnResize: false\r\n};\r\n\r\nexport function mergeOptions(options) {\r\n var merged = {};\r\n for (var k in defaultOptions) {\r\n merged[k] = defaultOptions[k];\r\n }\r\n for (var k in options) {\r\n if (!defaultOptions.hasOwnProperty(k)) {\r\n throw new Error(\"Unrecognized option: \" + k);\r\n }\r\n merged[k] = options[k];\r\n }\r\n return merged;\r\n}\r\n\r\nexport function formatDimension(dim, options) {\r\n if (options.appendPx) {\r\n return dim + 'px';\r\n } else {\r\n return dim;\r\n }\r\n}\r\n\r\nexport function isTag(value) {\r\n return (typeof value === 'object')\r\n && value.hasOwnProperty('name')\r\n && value.hasOwnProperty('attribs')\r\n && value.hasOwnProperty('children');\r\n}\r\n\r\n/**\r\n * Creates an HTMLWidget that is updated by rendering a React component.\r\n * React component constructors are made available by specifying them by\r\n * name in the components object.\r\n * @param {string} name\r\n * @param {string} type\r\n * @param {Object} components\r\n * @param {Object} options\r\n */\r\nexport function reactWidget(name, type, components, options) {\r\n var actualOptions = mergeOptions(options);\r\n window.HTMLWidgets.widget({\r\n name: name,\r\n type: type,\r\n factory: function (el, width, height) {\r\n var lastValue,\r\n instance = {},\r\n renderValue = (function (value) {\r\n if (actualOptions.renderOnResize) {\r\n // value.tag might be a primitive string, in which\r\n // case there is no attribs property.\r\n if (typeof value.tag === 'object') {\r\n value.tag.attribs[actualOptions[\"widthProperty\"]] = formatDimension(width);\r\n value.tag.attribs[actualOptions[\"heightProperty\"]] = formatDimension(height);\r\n }\r\n lastValue = value;\r\n }\r\n // with functional stateless components this will be null\r\n // see https://reactjs.org/docs/react-dom.html#render for more details\r\n this.instance.component = ReactDOM.render(hydrate(components, value.tag), el);\r\n });\r\n return {\r\n instance: instance,\r\n renderValue: renderValue,\r\n resize: function (newWidth, newHeight) {\r\n if (actualOptions.renderOnResize) {\r\n width = newWidth;\r\n height = newHeight;\r\n renderValue(lastValue);\r\n }\r\n }\r\n };\r\n }\r\n })\r\n}\r\n\r\n","module.exports = window.jQuery;","module.exports = window.React;","module.exports = window.ReactDOM;","module.exports = window.Shiny;"],"sourceRoot":""} \ No newline at end of file diff --git a/articles/static-rendering_files/reactwidget-2.0.0/react-tools.umd.cjs b/articles/static-rendering_files/reactwidget-2.0.0/react-tools.umd.cjs new file mode 100644 index 00000000..159c7ab3 --- /dev/null +++ b/articles/static-rendering_files/reactwidget-2.0.0/react-tools.umd.cjs @@ -0,0 +1 @@ +(function(s,u){typeof exports=="object"&&typeof module<"u"?u(exports):typeof define=="function"&&define.amd?define(["exports"],u):(s=typeof globalThis<"u"?globalThis:s||self,u(s.reactR={}))})(this,function(s){"use strict";function u(n,t){if(typeof t=="string")return t;if(t.name[0]===t.name[0].toUpperCase()&&!n.hasOwnProperty(t.name))throw new Error("Unknown component: "+t.name);for(let i in t.attribs)g(t.attribs[i])&&(t.attribs[i]=u(n,t.attribs[i]));for(var a=n.hasOwnProperty(t.name)?n[t.name]:t.name,r=[a,t.attribs],e=0;e - +
-
- +
+

Using CSS @@ -157,24 +158,24 @@

Using CSS= "select", wrap = FALSE )

-
.sticky {
-  position: sticky !important;
-  background: #fff;
-  z-index: 1;
-}
-
-.left-col-1 {
-  left: 0;
-}
-
-.left-col-2 {
-  left: 45px;
-}
-
-.left-col-3 {
-  left: 145px;
-  border-right: 1px solid #eee !important;
-}
+
.sticky {
+  position: sticky !important;
+  background: #fff;
+  z-index: 1;
+}
+
+.left-col-1 {
+  left: 0;
+}
+
+.left-col-2 {
+  left: 45px;
+}
+
+.left-col-3 {
+  left: 145px;
+  border-right: 1px solid #eee !important;
+}
-
- -
- +
+

Sticky headers and footers @@ -286,8 +287,8 @@

Sticky headers and footers ), defaultColDef = colDef(footer = "Footer") )

-
-