diff --git a/dist/plugin.js b/dist/plugin.js index 47ae9fa0..15cff3d4 100644 --- a/dist/plugin.js +++ b/dist/plugin.js @@ -1,1981 +1 @@ -/******/ (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 = "./src/index.ts"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./src/config/commands.ts": -/*!********************************!*\ - !*** ./src/config/commands.ts ***! - \********************************/ -/*! exports provided: commands */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "commands", function() { return commands; }); -const commands = { - generalSettings: 'generalSettings', - export: 'export', - sendSettings: 'sendSettings', - urlExport: 'urlExport', - help: 'help', - demo: 'demo', - reset: 'reset', - saveSettings: 'saveSettings', - closePlugin: 'closePlugin' -}; - - -/***/ }), - -/***/ "./src/config/config.ts": -/*!******************************!*\ - !*** ./src/config/config.ts ***! - \******************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* istanbul ignore file */ -/* harmony default export */ __webpack_exports__["default"] = ({ - ui: { - generalSettings: { - width: 550, - height: 675 - }, - export: { - width: 550, - height: 420 - }, - urlExport: { - width: 550, - height: 595 - } - }, - key: { - lastVersionSettingsOpened: 'lastVersionSettingsOpened', - fileId: 'fileId', - settings: 'settings' - }, - exclusionPrefixDefault: ['_', '.'] -}); - - -/***/ }), - -/***/ "./src/config/defaultSettings.ts": -/*!***************************************!*\ - !*** ./src/config/defaultSettings.ts ***! - \***************************************/ -/*! exports provided: defaultSettings */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultSettings", function() { return defaultSettings; }); -const defaultSettings = { - filename: 'design-tokens', - extension: '.json', - nameConversion: 'default', - compression: false, - urlJsonCompression: true, - serverUrl: undefined, - eventType: 'update-tokens', - accessToken: undefined, - acceptHeader: 'application/vnd.github.everest-preview+json', - authType: 'token', - exclusionPrefix: '', - keyInName: false, - prefixInName: true, - prefix: { - color: 'color', - gradient: 'gradient', - font: 'font', - effect: 'effect', - grid: 'grid', - border: 'border, borders', - breakpoint: 'breakpoint, breakpoints', - radius: 'radius, radii', - size: 'size, sizes', - spacing: 'spacing', - motion: 'motion' - }, - exports: { - color: true, - gradient: true, - font: true, - effect: true, - grid: true, - border: true, - breakpoint: true, - radius: true, - size: true, - spacing: true, - motion: true - } -}; - - -/***/ }), - -/***/ "./src/config/tokenTypes.ts": -/*!**********************************!*\ - !*** ./src/config/tokenTypes.ts ***! - \**********************************/ -/*! exports provided: tokenTypes */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tokenTypes", function() { return tokenTypes; }); -/* istanbul ignore file */ -const tokenTypes = { - color: { - label: 'Colors', - key: 'color' - }, - gradient: { - label: 'Gradients', - key: 'gradient' - }, - font: { - label: 'Fonts', - key: 'font' - }, - effect: { - label: 'Effects', - key: 'effect' - }, - grid: { - label: 'Grids', - key: 'grid' - }, - border: { - label: 'Borders', - key: 'border' - }, - breakpoint: { - label: 'Breakpoints', - key: 'breakpoint' - }, - radius: { - label: 'Radii', - key: 'radius' - }, - size: { - label: 'Sizes', - key: 'size' - }, - spacing: { - label: 'Spacing', - key: 'spacing' - }, - motion: { - label: 'Motion', - key: 'motion' - } -}; - - -/***/ }), - -/***/ "./src/extractor/extractBorders.ts": -/*!*****************************************!*\ - !*** ./src/extractor/extractBorders.ts ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utilities/roundWithDecimals */ "./src/utilities/roundWithDecimals.ts"); -/* harmony import */ var _config_tokenTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @config/tokenTypes */ "./src/config/tokenTypes.ts"); -/* harmony import */ var _extractUtilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./extractUtilities */ "./src/extractor/extractUtilities.ts"); - - - -const strokeJoins = { - MITER: 'miter', - BEVEL: 'bevel', - ROUND: 'round' -}; -const strokeAligns = { - CENTER: 'center', - INSIDE: 'inside', - OUTSIDE: 'outside' -}; -const extractBorders = (tokenNodes, prefixArray) => { - // return as object - return tokenNodes.filter(Object(_extractUtilities__WEBPACK_IMPORTED_MODULE_2__["filterByPrefix"])(prefixArray)) - // remove nodes with no border property - .filter(node => node.strokes.length > 0) - // convert borders - .map(node => ({ - name: node.name, - category: 'border', - exportKey: _config_tokenTypes__WEBPACK_IMPORTED_MODULE_1__["tokenTypes"].border.key, - description: node.description || null, - values: { - strokeAlign: { - value: strokeAligns[node.strokeAlign], - type: 'string' - }, - dashPattern: { - value: node.dashPattern.toString(), - type: 'string' - }, - strokeCap: { - value: ((typeof node.strokeCap === 'string') ? node.strokeCap.toLowerCase() : 'mixed'), - type: 'string' - }, - strokeJoin: { - value: strokeJoins[node.strokeJoin], - type: 'string' - }, - strokeMiterLimit: { - value: Object(_utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_0__["default"])(node.strokeMiterLimit), - unit: 'degree', - type: 'number' - }, - // strokeStyleId: { - // value: node.strokeStyleId - // }, - strokeWeight: { - value: node.strokeWeight, - unit: 'pixel', - type: 'number' - }, - stroke: { - value: node.strokes[0], - type: 'color' - } - } - })); -}; -/* harmony default export */ __webpack_exports__["default"] = (extractBorders); - - -/***/ }), - -/***/ "./src/extractor/extractBreakpoints.ts": -/*!*********************************************!*\ - !*** ./src/extractor/extractBreakpoints.ts ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @config/tokenTypes */ "./src/config/tokenTypes.ts"); -/* harmony import */ var _utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utilities/roundWithDecimals */ "./src/utilities/roundWithDecimals.ts"); -/* harmony import */ var _extractUtilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./extractUtilities */ "./src/extractor/extractUtilities.ts"); - - - -const extractBreakpoints = (tokenNodes, prefixArray) => { - // return as object - return tokenNodes.filter(Object(_extractUtilities__WEBPACK_IMPORTED_MODULE_2__["filterByPrefix"])(prefixArray)).map(node => ({ - name: node.name, - category: 'breakpoint', - exportKey: _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__["tokenTypes"].breakpoint.key, - description: node.description || null, - values: { - width: { - value: Object(_utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__["default"])(node.width, 2), - unit: 'pixel', - type: 'number' - } - } - })); -}; -/* harmony default export */ __webpack_exports__["default"] = (extractBreakpoints); - - -/***/ }), - -/***/ "./src/extractor/extractColors.ts": -/*!****************************************!*\ - !*** ./src/extractor/extractColors.ts ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @config/tokenTypes */ "./src/config/tokenTypes.ts"); -/* harmony import */ var _utilities_convertColor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utilities/convertColor */ "./src/utilities/convertColor.ts"); -/* harmony import */ var _utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utilities/roundWithDecimals */ "./src/utilities/roundWithDecimals.ts"); - - - -const gradientType = { - GRADIENT_LINEAR: 'linear', - GRADIENT_RADIAL: 'radial', - GRADIENT_ANGULAR: 'angular', - GRADIENT_DIAMOND: 'diamond' -}; -const isGradient = (paint) => ['GRADIENT_LINEAR', 'GRADIENT_RADIAL', 'GRADIENT_ANGULAR', 'GRADIENT_DIAMOND'].includes(paint.type); -const extractFills = (paint) => { - if (paint.type === 'SOLID') { - return { - fill: { - value: Object(_utilities_convertColor__WEBPACK_IMPORTED_MODULE_1__["convertPaintToRgba"])(paint), - type: 'color' - } - }; - } - if (['GRADIENT_LINEAR', 'GRADIENT_RADIAL', 'GRADIENT_ANGULAR', 'GRADIENT_DIAMOND'].includes(paint.type)) { - return { - gradientType: { - value: gradientType[paint.type], - type: 'string' - }, - stops: paint.gradientStops.map(stop => ({ - position: { - value: Object(_utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_2__["default"])(stop.position), - type: 'number' - }, - color: { - value: Object(_utilities_convertColor__WEBPACK_IMPORTED_MODULE_1__["roundRgba"])(stop.color), - type: 'color' - } - })), - opacity: { - value: Object(_utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_2__["default"])(paint.opacity), - type: 'number' - } - }; - } - // return null if no matching type - /* istanbul ignore next */ - return null; -}; -const extractColors = (tokenNodes, prefixArray) => { - // get all paint styles - return tokenNodes - // remove images fills from tokens - .map(node => { - node.paints = node.paints.filter(paint => paint.type !== 'IMAGE'); - return node; - }) - // remove tokens with no fill - .filter(node => node.paints.length > 0) - // transform style - .map(node => ({ - name: `${isGradient(node.paints[0]) ? prefixArray.gradient[0] : prefixArray.color[0]}/${node.name}`, - category: isGradient(node.paints[0]) ? 'gradient' : 'color', - exportKey: isGradient(node.paints[0]) ? _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__["tokenTypes"].gradient.key : _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__["tokenTypes"].color.key, - description: node.description || null, - values: node.paints.map(paint => extractFills(paint)) - })); -}; -/* harmony default export */ __webpack_exports__["default"] = (extractColors); - - -/***/ }), - -/***/ "./src/extractor/extractEffects.ts": -/*!*****************************************!*\ - !*** ./src/extractor/extractEffects.ts ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @config/tokenTypes */ "./src/config/tokenTypes.ts"); -/* harmony import */ var _utilities_convertColor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utilities/convertColor */ "./src/utilities/convertColor.ts"); - - -const effectType = { - LAYER_BLUR: 'layerBlur', - BACKGROUND_BLUR: 'backgroundBlur', - DROP_SHADOW: 'dropShadow', - INNER_SHADOW: 'innerShadow' -}; -const blurValues = (effect) => ({ - type: { - value: effectType[effect.type], - type: 'string' - }, - radius: { - value: effect.radius, - unit: 'pixel', - type: 'number' - } -}); -const shadowValues = effect => ({ - type: { - value: effectType[effect.type], - type: 'string' - }, - radius: { - value: effect.radius, - unit: 'pixel', - type: 'number' - }, - color: { - value: Object(_utilities_convertColor__WEBPACK_IMPORTED_MODULE_1__["roundRgba"])(effect.color), - type: 'color' - }, - offset: { - x: { - value: effect.offset.x, - unit: 'pixel', - type: 'number' - }, - y: { - value: effect.offset.y, - unit: 'pixel', - type: 'number' - } - }, - spread: { - value: effect.spread, - unit: 'pixel', - type: 'number' - } -}); -const extractEffects = (tokenNodes, prefixArray) => { - // get effect styles - return tokenNodes - // remove tokens with no grid - .filter(node => node.effects.length > 0) - // build - .map(node => ({ - name: `${prefixArray[0]}/${node.name}`, - category: 'effect', - exportKey: _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__["tokenTypes"].effect.key, - description: node.description || null, - values: node.effects.map((effect) => effect.type === 'LAYER_BLUR' || effect.type === 'BACKGROUND_BLUR' - ? blurValues(effect) - : shadowValues(effect)) - })); -}; -/* harmony default export */ __webpack_exports__["default"] = (extractEffects); - - -/***/ }), - -/***/ "./src/extractor/extractFonts.ts": -/*!***************************************!*\ - !*** ./src/extractor/extractFonts.ts ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @config/tokenTypes */ "./src/config/tokenTypes.ts"); -/* harmony import */ var _utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utilities/roundWithDecimals */ "./src/utilities/roundWithDecimals.ts"); - - -const textDecorations = { - NONE: 'none', - UNDERLINE: 'underline', - STRIKETHROUGH: 'line-through' -}; -const textCases = { - ORIGINAL: 'none', - UPPER: 'uppercase', - LOWER: 'lowercase', - TITLE: 'capitalize' -}; -const fontWeights = { - thin: 100, - extralight: 200, - ultralight: 200, - light: 300, - normal: 400, - regular: 400, - medium: 500, - semibold: 600, - demibold: 600, - bold: 700, - extrabold: 800, - ultabold: 800, - black: 900, - heavy: 900, - super: 900 -}; -const fontStretch = { - normal: 'normal', - condensed: 'condensed', - expanded: 'expanded', - extended: 'expanded' -}; -const fontStyles = { - normal: 'normal', - italic: 'italic', - oblique: 'oblique' -}; -const parseFontWeight = (fontStyle) => { - const parts = fontStyle.toLowerCase().split(' '); - let weight = parts[0]; - // merge if space after extra - if (['extra', 'ultra', 'semi', 'demi'].includes(parts[0]) && ['bold', 'light'].includes(parts[1])) { - weight = `${parts[0]}${parts[1]}`; - } - return fontWeights[weight] || 400; -}; -const parseFontStretch = (fontStyle) => { - const parts = fontStyle.toLowerCase().split(' '); - return fontStretch[parts[parts.length - 1]] || fontStretch[parts[parts.length - 2]] || 'normal'; -}; -const parseFontStyle = (fontStyle) => { - const part = fontStyle.toLowerCase().split(' ').pop(); - return fontStyles[part] || 'normal'; -}; -const extractFonts = (tokenNodes, prefixArray) => { - // get raw text styles - return tokenNodes.map(node => ({ - name: `${prefixArray[0]}/${node.name}`, - category: 'font', - exportKey: _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__["tokenTypes"].font.key, - description: node.description || undefined, - values: { - fontSize: { - value: node.fontSize, - unit: 'pixel', - type: 'number' - }, - textDecoration: { - value: textDecorations[node.textDecoration], - type: 'string' - }, - fontFamily: { - value: node.fontName.family, - type: 'string' - }, - fontWeight: { - value: parseFontWeight(node.fontName.style), - type: 'number' - }, - fontStyle: { - value: parseFontStyle(node.fontName.style), - type: 'string' - }, - fontStretch: { - value: parseFontStretch(node.fontName.style), - type: 'string' - }, - _fontStyleOld: { - value: node.fontName.style, - type: 'string' - }, - letterSpacing: { - value: Object(_utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__["default"])(node.letterSpacing.value), - unit: node.letterSpacing.unit.toLowerCase(), - type: 'number' - }, - lineHeight: { - // @ts-ignore - value: Object(_utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__["default"])(node.lineHeight.value) || 'normal', - unit: node.lineHeight.unit.toLowerCase() === 'pixels' ? 'pixel' : node.lineHeight.unit.toLowerCase(), - type: (Object.prototype.hasOwnProperty.call(node.lineHeight, 'value') ? 'number' : 'string') - }, - paragraphIndent: { - value: node.paragraphIndent, - unit: 'pixel', - type: 'number' - }, - paragraphSpacing: { - value: node.paragraphSpacing, - unit: 'pixel', - type: 'number' - }, - textCase: { - value: textCases[node.textCase], - type: 'string' - } - } - })); -}; -/* harmony default export */ __webpack_exports__["default"] = (extractFonts); - - -/***/ }), - -/***/ "./src/extractor/extractGrids.ts": -/*!***************************************!*\ - !*** ./src/extractor/extractGrids.ts ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @config/tokenTypes */ "./src/config/tokenTypes.ts"); - -const gridValues = (grid) => ({ - pattern: { - value: grid.pattern.toLowerCase(), - type: 'string' - }, - sectionSize: { - value: grid.sectionSize, - unit: 'pixel', - type: 'number' - } -}); -const getCount = count => { - if (count === Infinity) { - return { - value: 'auto', - type: 'string' - }; - } - return { - value: count, - type: 'number' - }; -}; -const rowColumnValues = (grid) => (Object.assign(Object.assign(Object.assign({ pattern: { - value: grid.pattern.toLowerCase(), - type: 'string' - } }, (grid.sectionSize !== undefined && { - sectionSize: { - value: grid.sectionSize, - unit: 'pixel', - type: 'number' - } -})), { gutterSize: { - value: grid.gutterSize, - unit: 'pixel', - type: 'number' - }, alignment: { - value: grid.alignment.toLowerCase(), - type: 'string' - }, count: getCount(grid.count) }), (grid.offset !== undefined && { - offset: { - value: grid.offset, - unit: 'pixel', - type: 'number' - } -}))); -const extractGrids = (tokenNodes, prefixArray) => { - // get grid styles - return tokenNodes - // remove tokens with no grid - .filter(node => node.layoutGrids.length > 0) - // build - .map(node => ({ - name: `${prefixArray[0]}/${node.name}`, - category: 'grid', - exportKey: _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__["tokenTypes"].grid.key, - description: node.description || null, - values: node.layoutGrids.map((grid) => grid.pattern === 'GRID' ? gridValues(grid) : rowColumnValues(grid)) - })); -}; -/* harmony default export */ __webpack_exports__["default"] = (extractGrids); - - -/***/ }), - -/***/ "./src/extractor/extractMotion.ts": -/*!****************************************!*\ - !*** ./src/extractor/extractMotion.ts ***! - \****************************************/ -/*! exports provided: default, __testing */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__testing", function() { return __testing; }); -/* harmony import */ var _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @config/tokenTypes */ "./src/config/tokenTypes.ts"); -/* harmony import */ var _extractUtilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./extractUtilities */ "./src/extractor/extractUtilities.ts"); - - -const direction = (transition) => { - if (Object.prototype.hasOwnProperty.call(transition, 'direction')) { - return { - direction: { - value: transition.direction.toLowerCase(), - type: 'string' - } - }; - } -}; -const easings = { - CUSTOM_CUBIC_BEZIER: {}, - LINEAR: { - type: 'linear', - easingFunctionCubicBezier: { - x1: 0, - y1: 0, - x2: 1, - y2: 1 - } - }, - EASE_IN: { - type: 'ease-in', - easingFunctionCubicBezier: { - x1: 0.41999998688697815, - y1: 0, - x2: 1, - y2: 1 - } - }, - EASE_OUT: { - type: 'ease-out', - easingFunctionCubicBezier: { - x1: 0, - y1: 0, - x2: 0.5799999833106995, - y2: 1 - } - }, - EASE_IN_AND_OUT: { - type: 'ease-in-out', - easingFunctionCubicBezier: { - x1: 0.41999998688697815, - y1: 0, - x2: 0.5799999833106995, - y2: 1 - } - }, - EASE_IN_BACK: { - type: 'ease-in-back', - easingFunctionCubicBezier: { - x1: 0.30000001192092896, - y1: -0.05000000074505806, - x2: 0.699999988079071, - y2: -0.5 - } - }, - EASE_OUT_BACK: { - type: 'ease-out-back', - easingFunctionCubicBezier: { - x1: 0.44999998807907104, - y1: 1.4500000476837158, - x2: 0.800000011920929, - y2: 1 - } - }, - EASE_IN_AND_OUT_BACK: { - type: 'ease-in-out-back', - easingFunctionCubicBezier: { - x1: 0.699999988079071, - y1: -0.4000000059604645, - x2: 0.4000000059604645, - y2: 1.399999976158142 - } - } -}; -const easing = (easing) => { - // abort if invalif easing type - if (!('type' in easing) || easings[easing.type] === undefined) { - return undefined; - } - // return custom easing - // @ts-ignore - if (easing.type === 'CUSTOM_CUBIC_BEZIER') { - easings.CUSTOM_CUBIC_BEZIER = { - type: 'cubic-bezier', - easingFunctionCubicBezier: { - x1: easing.easingFunctionCubicBezier.x1, - y1: easing.easingFunctionCubicBezier.y1, - x2: easing.easingFunctionCubicBezier.x2, - y2: easing.easingFunctionCubicBezier.y2 - } - }; - } - return { - easing: { - value: easings[easing.type].type, - type: 'string' - }, - easingFunction: { - x1: { - value: easings[easing.type].easingFunctionCubicBezier.x1, - type: 'number' - }, - x2: { - value: easings[easing.type].easingFunctionCubicBezier.x2, - type: 'number' - }, - y1: { - value: easings[easing.type].easingFunctionCubicBezier.y1, - type: 'number' - }, - y2: { - value: easings[easing.type].easingFunctionCubicBezier.y2, - type: 'number' - } - } - }; -}; -const extractMotion = (tokenNodes, prefixArray) => { - // return as object - return tokenNodes.filter(Object(_extractUtilities__WEBPACK_IMPORTED_MODULE_1__["filterByPrefix"])(prefixArray)) - // filter to only include items which have a transition property - .filter(node => { - var _a; - if (node.reactions.length > 0 && ((_a = node.reactions[0].action) === null || _a === void 0 ? void 0 : _a.type) === 'NODE' && node.reactions[0].action.transition !== null) { - return true; - } - return false; - }) - // retrieve values - .map((node) => ({ - name: node.name, - category: 'motion', - exportKey: _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__["tokenTypes"].motion.key, - description: node.description || null, - values: Object.assign(Object.assign({ type: { - value: node.reactions[0].action.transition.type.toLocaleLowerCase(), - type: 'string' - }, duration: { - value: Math.round((node.reactions[0].action.transition.duration + Number.EPSILON) * 1000) / 1000, - unit: 's', - type: 'number' - } }, easing(node.reactions[0].action.transition.easing)), direction(node.reactions[0].action.transition)) - })); -}; -/* harmony default export */ __webpack_exports__["default"] = (extractMotion); -const __testing = { - easing: easing -}; - - -/***/ }), - -/***/ "./src/extractor/extractRadii.ts": -/*!***************************************!*\ - !*** ./src/extractor/extractRadii.ts ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @config/tokenTypes */ "./src/config/tokenTypes.ts"); -/* harmony import */ var _utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utilities/roundWithDecimals */ "./src/utilities/roundWithDecimals.ts"); -/* harmony import */ var _extractUtilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./extractUtilities */ "./src/extractor/extractUtilities.ts"); - - - -const extractRadii = (tokenNodes, prefixArray) => { - // get the type of the corner radius - const getRadiusType = radius => { - if (typeof radius === 'number') { - return 'single'; - } - return 'mixed'; - }; - // get the individual radii - const getRadii = (node) => ({ - topLeft: { - value: node.topLeftRadius || 0, - unit: 'pixel', - type: 'number' - }, - topRight: { - value: node.topRightRadius || 0, - unit: 'pixel', - type: 'number' - }, - bottomRight: { - value: node.bottomRightRadius || 0, - unit: 'pixel', - type: 'number' - }, - bottomLeft: { - value: node.bottomLeftRadius || 0, - unit: 'pixel', - type: 'number' - } - }); - // return as object - return tokenNodes.filter(Object(_extractUtilities__WEBPACK_IMPORTED_MODULE_2__["filterByPrefix"])(prefixArray)) - .map(node => ({ - name: node.name, - category: 'radius', - exportKey: _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__["tokenTypes"].radius.key, - description: node.description || null, - values: Object.assign(Object.assign({}, (typeof node.cornerRadius === 'number' && { - radius: { - value: node.cornerRadius, - unit: 'pixel', - type: 'number' - } - })), { radiusType: { - value: getRadiusType(node.cornerRadius), - type: 'string' - }, radii: getRadii(node), smoothing: { - value: Object(_utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__["default"])(node.cornerSmoothing, 2), - comment: 'Percent as decimal from 0.0 - 1.0', - type: 'number' - } }) - })); -}; -/* harmony default export */ __webpack_exports__["default"] = (extractRadii); - - -/***/ }), - -/***/ "./src/extractor/extractSizes.ts": -/*!***************************************!*\ - !*** ./src/extractor/extractSizes.ts ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @config/tokenTypes */ "./src/config/tokenTypes.ts"); -/* harmony import */ var _utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utilities/roundWithDecimals */ "./src/utilities/roundWithDecimals.ts"); -/* harmony import */ var _extractUtilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./extractUtilities */ "./src/extractor/extractUtilities.ts"); - - - -const extractSizes = (tokenNodes, prefixArray) => { - // return as object - return tokenNodes.filter(Object(_extractUtilities__WEBPACK_IMPORTED_MODULE_2__["filterByPrefix"])(prefixArray)).map(node => ({ - name: node.name, - category: 'size', - exportKey: _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__["tokenTypes"].size.key, - description: node.description || null, - values: { - width: { - value: Object(_utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__["default"])(node.width, 2), - unit: 'pixel', - type: 'number' - }, - height: { - value: Object(_utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__["default"])(node.height, 2), - unit: 'pixel', - type: 'number' - } - } - })); -}; -/* harmony default export */ __webpack_exports__["default"] = (extractSizes); - - -/***/ }), - -/***/ "./src/extractor/extractSpacing.ts": -/*!*****************************************!*\ - !*** ./src/extractor/extractSpacing.ts ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @config/tokenTypes */ "./src/config/tokenTypes.ts"); -/* harmony import */ var _utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utilities/roundWithDecimals */ "./src/utilities/roundWithDecimals.ts"); -/* harmony import */ var _extractUtilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./extractUtilities */ "./src/extractor/extractUtilities.ts"); - - - -const extractSpacing = (tokenNodes, prefixArray) => { - // return as object - return tokenNodes.filter(Object(_extractUtilities__WEBPACK_IMPORTED_MODULE_2__["filterByPrefix"])(prefixArray)) - .map(node => ({ - name: node.name, - category: 'spacing', - exportKey: _config_tokenTypes__WEBPACK_IMPORTED_MODULE_0__["tokenTypes"].spacing.key, - description: node.description || null, - values: { - top: { - value: Object(_utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__["default"])(node.paddingTop, 2), - unit: 'pixel', - type: 'number' - }, - right: { - value: Object(_utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__["default"])(node.paddingRight, 2), - unit: 'pixel', - type: 'number' - }, - bottom: { - value: Object(_utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__["default"])(node.paddingBottom, 2), - unit: 'pixel', - type: 'number' - }, - left: { - value: Object(_utilities_roundWithDecimals__WEBPACK_IMPORTED_MODULE_1__["default"])(node.paddingLeft, 2), - unit: 'pixel', - type: 'number' - } - } - })); -}; -/* harmony default export */ __webpack_exports__["default"] = (extractSpacing); - - -/***/ }), - -/***/ "./src/extractor/extractUtilities.ts": -/*!*******************************************!*\ - !*** ./src/extractor/extractUtilities.ts ***! - \*******************************************/ -/*! exports provided: filterByPrefix */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "filterByPrefix", function() { return filterByPrefix; }); -const filterByPrefix = (prefixArray) => node => { - return prefixArray.includes(node.name.substr(0, node.name.indexOf('/')).replace(/\s+/g, '')); -}; - - -/***/ }), - -/***/ "./src/index.ts": -/*!**********************!*\ - !*** ./src/index.ts ***! - \**********************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _utilities_settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utilities/settings */ "./src/utilities/settings.ts"); -/* harmony import */ var _utilities_accessToken__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utilities/accessToken */ "./src/utilities/accessToken.ts"); -/* harmony import */ var _config_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @config/config */ "./src/config/config.ts"); -/* harmony import */ var _config_commands__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @config/commands */ "./src/config/commands.ts"); -/* harmony import */ var _utilities_getVersionDifference__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utilities/getVersionDifference */ "./src/utilities/getVersionDifference.ts"); -/* harmony import */ var _utilities_getFileId__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utilities/getFileId */ "./src/utilities/getFileId.ts"); -/* harmony import */ var _utilities_getTokenJson__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utilities/getTokenJson */ "./src/utilities/getTokenJson.ts"); -/* harmony import */ var _utilities_stringifyJson__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utilities/stringifyJson */ "./src/utilities/stringifyJson.ts"); -var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; - - - - - - - - -// initiate UI -figma.showUI(__html__, { - visible: false -}); -// --------------------------------- -// open UI -if ([_config_commands__WEBPACK_IMPORTED_MODULE_3__["commands"].export, _config_commands__WEBPACK_IMPORTED_MODULE_3__["commands"].urlExport, _config_commands__WEBPACK_IMPORTED_MODULE_3__["commands"].generalSettings].includes(figma.command)) { - // wrap in function because of async client Storage - const openUi = () => __awaiter(void 0, void 0, void 0, function* () { - // Get the user settings - const userSettings = Object(_utilities_settings__WEBPACK_IMPORTED_MODULE_0__["getSettings"])(); - // get the current version differences to the last time the plugin was opened - const versionDifference = yield Object(_utilities_getVersionDifference__WEBPACK_IMPORTED_MODULE_4__["default"])(figma); - // resize UI if needed - figma.ui.resize(_config_config__WEBPACK_IMPORTED_MODULE_2__["default"].ui[figma.command].width, _config_config__WEBPACK_IMPORTED_MODULE_2__["default"].ui[figma.command].height); - if (versionDifference !== undefined && versionDifference !== 'patch') { - figma.ui.resize(_config_config__WEBPACK_IMPORTED_MODULE_2__["default"].ui[figma.command].width, _config_config__WEBPACK_IMPORTED_MODULE_2__["default"].ui[figma.command].height + 60); - } - // write tokens to json file - figma.ui.postMessage({ - command: figma.command, - payload: { - settings: Object.assign(Object.assign({}, userSettings), { accessToken: yield Object(_utilities_accessToken__WEBPACK_IMPORTED_MODULE_1__["getAccessToken"])(Object(_utilities_getFileId__WEBPACK_IMPORTED_MODULE_5__["default"])(figma)) }), - data: Object(_utilities_stringifyJson__WEBPACK_IMPORTED_MODULE_7__["stringifyJson"])(Object(_utilities_getTokenJson__WEBPACK_IMPORTED_MODULE_6__["exportRawTokenArray"])(figma, userSettings)), - versionDifference: versionDifference, - metadata: { - filename: figma.root.name - } - } - }); - // register the settings UI - figma.ui.show(); - }); - // run function - openUi(); -} -/** - * Open Help - * Open github help page - */ -if (figma.command === _config_commands__WEBPACK_IMPORTED_MODULE_3__["commands"].help) { - figma.ui.postMessage({ - command: _config_commands__WEBPACK_IMPORTED_MODULE_3__["commands"].help - }); -} -/** - * Open Demo File - */ -if (figma.command === _config_commands__WEBPACK_IMPORTED_MODULE_3__["commands"].demo) { - figma.ui.postMessage({ - command: _config_commands__WEBPACK_IMPORTED_MODULE_3__["commands"].demo - }); -} -/** - * Open Demo File - */ -if (figma.command === _config_commands__WEBPACK_IMPORTED_MODULE_3__["commands"].reset) { - Object(_utilities_settings__WEBPACK_IMPORTED_MODULE_0__["resetSettings"])(); - // semd message - figma.notify('⚙️ Settings have been reset.'); - figma.closePlugin(); -} -/** - * React to messages - */ -figma.ui.onmessage = (message) => __awaiter(void 0, void 0, void 0, function* () { - const { command, payload } = message; - /** - * on closePlugin - * close plugin and show notification if available - */ - if (command === _config_commands__WEBPACK_IMPORTED_MODULE_3__["commands"].closePlugin) { - // show notification if send - if ((payload === null || payload === void 0 ? void 0 : payload.notification) !== undefined && (payload === null || payload === void 0 ? void 0 : payload.notification) !== '') { - figma.notify(payload.notification); - } - // close plugin - figma.ui.hide(); - figma.closePlugin(); - } - /** - * on saveSettings - * save settings, access token and close plugin - */ - if (command === _config_commands__WEBPACK_IMPORTED_MODULE_3__["commands"].saveSettings) { - // store settings - Object(_utilities_settings__WEBPACK_IMPORTED_MODULE_0__["setSettings"])(payload.settings); - // accessToken - yield Object(_utilities_accessToken__WEBPACK_IMPORTED_MODULE_1__["setAccessToken"])(Object(_utilities_getFileId__WEBPACK_IMPORTED_MODULE_5__["default"])(figma), payload.accessToken); - // close plugin - if (payload.closePlugin && payload.closePlugin === true) { - figma.closePlugin(); - } - } -}); - - -/***/ }), - -/***/ "./src/utilities/accessToken.ts": -/*!**************************************!*\ - !*** ./src/utilities/accessToken.ts ***! - \**************************************/ -/*! exports provided: getAccessToken, setAccessToken */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAccessToken", function() { return getAccessToken; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setAccessToken", function() { return setAccessToken; }); -var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -/** - * @name getAccessToken - * @description returns the access token for the current file or undefined - * @param fileId {string} — ID of the current file - */ -const getAccessToken = (fileId) => __awaiter(void 0, void 0, void 0, function* () { - // get all access tokens - const accessTokens = yield figma.clientStorage.getAsync('accessTokens'); - // if access tokens object is present - if (accessTokens !== undefined && accessTokens instanceof Object) { - // retrieve the access token from the cache - const accessToken = accessTokens[fileId]; - // return the access token or an empty string - return accessToken || ''; - } - // return empty string if no token is stored - return ''; -}); -/** - * @name setAccessToken - * @description store the access token for the current fiven file in the user clientStorage - * @param fileId {string} — ID of the current file - * @param fileId {string} — access token - */ -/* istanbul ignore next */ -const setAccessToken = (fileId, accessToken) => __awaiter(void 0, void 0, void 0, function* () { - // get the access token object - const accessTokens = (yield figma.clientStorage.getAsync('accessTokens')) || {}; - // merge tokens - const mergedTokens = Object.assign(Object.assign({}, accessTokens), { [fileId]: accessToken }); - // merge the new token into the object - return yield figma.clientStorage.setAsync('accessTokens', mergedTokens); -}); - - - -/***/ }), - -/***/ "./src/utilities/buildFigmaData.ts": -/*!*****************************************!*\ - !*** ./src/utilities/buildFigmaData.ts ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _filterByNameProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filterByNameProperty */ "./src/utilities/filterByNameProperty.ts"); -/* harmony import */ var _getPaintStyles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getPaintStyles */ "./src/utilities/getPaintStyles.ts"); -/* harmony import */ var _getGridStyles__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getGridStyles */ "./src/utilities/getGridStyles.ts"); -/* harmony import */ var _getTokenNodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getTokenNodes */ "./src/utilities/getTokenNodes.ts"); -/* harmony import */ var _getTextStyles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getTextStyles */ "./src/utilities/getTextStyles.ts"); -/* harmony import */ var _getEffectStyles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getEffectStyles */ "./src/utilities/getEffectStyles.ts"); - - - - - - -/** - * @function buildFigmaData – return an object with all styles & frame to use for export - * @param {PluginAPI} figma — the figma PluginAPI object - * @param options – options object - */ -const buildFigmaData = (figma, settings) => { - // use spread operator because the original is readOnly - const tokenFrames = Object(_getTokenNodes__WEBPACK_IMPORTED_MODULE_3__["default"])([...figma.root.children]); - // get user exclusion prefixes - const userExclusionPrefixes = settings.exclusionPrefix.split(',').map(item => item.replace(/\s+/g, '')); - // get data from figma - return { - tokenFrames: tokenFrames, - paintStyles: Object(_getPaintStyles__WEBPACK_IMPORTED_MODULE_1__["default"])(figma.getLocalPaintStyles()).filter(item => Object(_filterByNameProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(item, userExclusionPrefixes)), - gridStyles: Object(_getGridStyles__WEBPACK_IMPORTED_MODULE_2__["default"])(figma.getLocalGridStyles()).filter(item => Object(_filterByNameProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(item, userExclusionPrefixes)), - textStyles: Object(_getTextStyles__WEBPACK_IMPORTED_MODULE_4__["default"])(figma.getLocalTextStyles()).filter(item => Object(_filterByNameProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(item, userExclusionPrefixes)), - effectStyles: Object(_getEffectStyles__WEBPACK_IMPORTED_MODULE_5__["default"])(figma.getLocalEffectStyles()).filter(item => Object(_filterByNameProperty__WEBPACK_IMPORTED_MODULE_0__["default"])(item, userExclusionPrefixes)) - }; -}; -/* harmony default export */ __webpack_exports__["default"] = (buildFigmaData); - - -/***/ }), - -/***/ "./src/utilities/convertColor.ts": -/*!***************************************!*\ - !*** ./src/utilities/convertColor.ts ***! - \***************************************/ -/*! exports provided: roundRgba, convertPaintToRgba, convertRgbaObjectToString */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "roundRgba", function() { return roundRgba; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "convertPaintToRgba", function() { return convertPaintToRgba; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "convertRgbaObjectToString", function() { return convertRgbaObjectToString; }); -/* harmony import */ var _roundWithDecimals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./roundWithDecimals */ "./src/utilities/roundWithDecimals.ts"); - -const roundRgba = (rgba, opacity) => ({ - r: Object(_roundWithDecimals__WEBPACK_IMPORTED_MODULE_0__["default"])(rgba.r * 255, 0), - g: Object(_roundWithDecimals__WEBPACK_IMPORTED_MODULE_0__["default"])(rgba.g * 255, 0), - b: Object(_roundWithDecimals__WEBPACK_IMPORTED_MODULE_0__["default"])(rgba.b * 255, 0), - a: Object(_roundWithDecimals__WEBPACK_IMPORTED_MODULE_0__["default"])(opacity || rgba.a || 1) -}); -const convertPaintToRgba = (paint) => { - if (paint.type === 'SOLID' && paint.visible === true) { - return roundRgba(paint.color, (paint.opacity || null)); - } - return null; -}; -const convertRgbaObjectToString = (rgbaObject) => `rgba(${rgbaObject.r}, ${rgbaObject.g}, ${rgbaObject.b}, ${rgbaObject.a})`; - - -/***/ }), - -/***/ "./src/utilities/extractTokenNodeValues.ts": -/*!*************************************************!*\ - !*** ./src/utilities/extractTokenNodeValues.ts ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _convertColor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./convertColor */ "./src/utilities/convertColor.ts"); - -/** - * Return an array of solid stroke colors - */ -const getSolidStrokes = (paints) => { - // clone without reference - return [...paints] - .map(paint => Object(_convertColor__WEBPACK_IMPORTED_MODULE_0__["convertPaintToRgba"])(paint)) - .filter(paint => paint != null); -}; -/** - * extractTokenNodeValues - * @param node: SceneNode - * @returns node object - */ -const extractTokenNodeValues = (node) => ({ - name: node.name, - // @ts-ignore - description: node.description || undefined, - bottomLeftRadius: node.bottomLeftRadius, - bottomRightRadius: node.bottomRightRadius, - topLeftRadius: node.topLeftRadius, - topRightRadius: node.topRightRadius, - cornerRadius: node.cornerRadius || undefined, - cornerSmoothing: node.cornerSmoothing, - strokes: getSolidStrokes(node.strokes), - strokeWeight: node.strokeWeight, - strokeStyleId: node.strokeStyleId, - strokeMiterLimit: node.strokeMiterLimit, - strokeJoin: node.strokeJoin, - strokeCap: node.strokeCap, - dashPattern: node.dashPattern, - strokeAlign: node.strokeAlign, - width: node.width, - height: node.height, - reactions: node.reactions || undefined, - // @ts-ignore - paddingTop: node.paddingTop || 0, - // @ts-ignore - paddingRight: node.paddingRight || 0, - // @ts-ignore - paddingBottom: node.paddingBottom || 0, - // @ts-ignore - paddingLeft: node.paddingLeft || 0 -}); -/* harmony default export */ __webpack_exports__["default"] = (extractTokenNodeValues); - - -/***/ }), - -/***/ "./src/utilities/filterByNameProperty.ts": -/*!***********************************************!*\ - !*** ./src/utilities/filterByNameProperty.ts ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _config_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @config/config */ "./src/config/config.ts"); - -const exclusionPrefix = (exclusionPrefixStrings) => { - return [ - ..._config_config__WEBPACK_IMPORTED_MODULE_0__["default"].exclusionPrefixDefault, - ...exclusionPrefixStrings - ]; -}; -const filterByPropertyName = (object, exclusionPrefixStrings) => !exclusionPrefix(exclusionPrefixStrings).includes(object.name.trim().substr(0, 1)); -/* harmony default export */ __webpack_exports__["default"] = (filterByPropertyName); - - -/***/ }), - -/***/ "./src/utilities/getEffectStyles.ts": -/*!******************************************!*\ - !*** ./src/utilities/getEffectStyles.ts ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * @function getEffectStyles - * @param {Array} styles – the effectStyle from the figma file - */ -const getEffectStyles = (styles) => { - // init styleArray - const styleArray = []; - // loop through Figma styles and add to array - styles.forEach(style => { - styleArray.push({ - name: style.name, - description: style.description, - effects: style.effects - }); - }); - // return array - return styleArray; -}; -/* harmony default export */ __webpack_exports__["default"] = (getEffectStyles); - - -/***/ }), - -/***/ "./src/utilities/getFileId.ts": -/*!************************************!*\ - !*** ./src/utilities/getFileId.ts ***! - \************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _config_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @config/config */ "./src/config/config.ts"); - -const getFileId = (figma) => { - let fileId = figma.root.getPluginData(_config_config__WEBPACK_IMPORTED_MODULE_0__["default"].key.fileId); - // set plugin id if it does not exist - if (fileId === undefined || fileId === '') { - figma.root.setPluginData(_config_config__WEBPACK_IMPORTED_MODULE_0__["default"].key.fileId, figma.root.name + ' ' + Math.floor(Math.random() * 1000000000)); - // grab file ID - fileId = figma.root.getPluginData(_config_config__WEBPACK_IMPORTED_MODULE_0__["default"].key.fileId); - } - return fileId; -}; -/* harmony default export */ __webpack_exports__["default"] = (getFileId); - - -/***/ }), - -/***/ "./src/utilities/getGridStyles.ts": -/*!****************************************!*\ - !*** ./src/utilities/getGridStyles.ts ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * @function getGridStyles - * @param {Array} gridStyles – the gridStyles from the figma file - */ -const getGridStyles = (styles) => { - // init styleArray - const styleArray = []; - // loop through Figma styles and add to array - styles.forEach(style => { - styleArray.push({ - name: style.name, - description: style.description, - layoutGrids: style.layoutGrids - }); - }); - // return array - return styleArray; -}; -/* harmony default export */ __webpack_exports__["default"] = (getGridStyles); - - -/***/ }), - -/***/ "./src/utilities/getPaintStyles.ts": -/*!*****************************************!*\ - !*** ./src/utilities/getPaintStyles.ts ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * @function getPaintStyles - * @param {Array} paintStyles – the paintStyles from the figma file (somehow still connected) - */ -const getPaintStyles = (styles) => { - // init styleArray - const styleArray = []; - // loop through Figma styles and add to array - styles.forEach(style => { - styleArray.push({ - name: style.name, - description: style.description, - paints: style.paints - }); - }); - // return array - return styleArray; -}; -/* harmony default export */ __webpack_exports__["default"] = (getPaintStyles); - - -/***/ }), - -/***/ "./src/utilities/getTextStyles.ts": -/*!****************************************!*\ - !*** ./src/utilities/getTextStyles.ts ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * @function getTextStyles - * @param {Array} styles – the paintStyles from the figma file (somehow still connected) - */ -const getTextStyles = (styles) => { - // init styleArray - const styleArray = []; - // loop through Figma styles and add to array - styles.forEach(style => { - styleArray.push({ - name: style.name, - description: style.description, - fontSize: style.fontSize, - textDecoration: style.textDecoration, - fontName: style.fontName, - letterSpacing: style.letterSpacing, - lineHeight: style.lineHeight, - paragraphIndent: style.paragraphIndent, - paragraphSpacing: style.paragraphSpacing, - textCase: style.textCase - }); - }); - // return array - return styleArray; -}; -/* harmony default export */ __webpack_exports__["default"] = (getTextStyles); - - -/***/ }), - -/***/ "./src/utilities/getTokenJson.ts": -/*!***************************************!*\ - !*** ./src/utilities/getTokenJson.ts ***! - \***************************************/ -/*! exports provided: exportRawTokenArray */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "exportRawTokenArray", function() { return exportRawTokenArray; }); -/* harmony import */ var _extractor_extractColors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../extractor/extractColors */ "./src/extractor/extractColors.ts"); -/* harmony import */ var _extractor_extractGrids__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../extractor/extractGrids */ "./src/extractor/extractGrids.ts"); -/* harmony import */ var _extractor_extractFonts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../extractor/extractFonts */ "./src/extractor/extractFonts.ts"); -/* harmony import */ var _extractor_extractEffects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../extractor/extractEffects */ "./src/extractor/extractEffects.ts"); -/* harmony import */ var _extractor_extractMotion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../extractor/extractMotion */ "./src/extractor/extractMotion.ts"); -/* harmony import */ var _extractor_extractSizes__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../extractor/extractSizes */ "./src/extractor/extractSizes.ts"); -/* harmony import */ var _extractor_extractSpacing__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../extractor/extractSpacing */ "./src/extractor/extractSpacing.ts"); -/* harmony import */ var _extractor_extractBorders__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../extractor/extractBorders */ "./src/extractor/extractBorders.ts"); -/* harmony import */ var _extractor_extractRadii__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../extractor/extractRadii */ "./src/extractor/extractRadii.ts"); -/* harmony import */ var _extractor_extractBreakpoints__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../extractor/extractBreakpoints */ "./src/extractor/extractBreakpoints.ts"); -/* harmony import */ var _buildFigmaData__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./buildFigmaData */ "./src/utilities/buildFigmaData.ts"); - - - - - - - - - - - -const getPrefixArray = (prefixString) => prefixString.split(',').map(item => item.replace(/\s+/g, '')); -const exportRawTokenArray = (figma, settings) => { - const figmaData = Object(_buildFigmaData__WEBPACK_IMPORTED_MODULE_10__["default"])(figma, settings); - // get tokens - return [ - ...Object(_extractor_extractSizes__WEBPACK_IMPORTED_MODULE_5__["default"])(figmaData.tokenFrames, getPrefixArray(settings.prefix.size)), - ...Object(_extractor_extractBreakpoints__WEBPACK_IMPORTED_MODULE_9__["default"])(figmaData.tokenFrames, getPrefixArray(settings.prefix.breakpoint)), - ...Object(_extractor_extractSpacing__WEBPACK_IMPORTED_MODULE_6__["default"])(figmaData.tokenFrames, getPrefixArray(settings.prefix.spacing)), - ...Object(_extractor_extractBorders__WEBPACK_IMPORTED_MODULE_7__["default"])(figmaData.tokenFrames, getPrefixArray(settings.prefix.border)), - ...Object(_extractor_extractRadii__WEBPACK_IMPORTED_MODULE_8__["default"])(figmaData.tokenFrames, getPrefixArray(settings.prefix.radius)), - ...Object(_extractor_extractMotion__WEBPACK_IMPORTED_MODULE_4__["default"])(figmaData.tokenFrames, getPrefixArray(settings.prefix.motion)), - ...Object(_extractor_extractColors__WEBPACK_IMPORTED_MODULE_0__["default"])(figmaData.paintStyles, { color: getPrefixArray(settings.prefix.color), gradient: getPrefixArray(settings.prefix.gradient) }), - ...Object(_extractor_extractGrids__WEBPACK_IMPORTED_MODULE_1__["default"])(figmaData.gridStyles, getPrefixArray(settings.prefix.grid)), - ...Object(_extractor_extractFonts__WEBPACK_IMPORTED_MODULE_2__["default"])(figmaData.textStyles, getPrefixArray(settings.prefix.font)), - ...Object(_extractor_extractEffects__WEBPACK_IMPORTED_MODULE_3__["default"])(figmaData.effectStyles, getPrefixArray(settings.prefix.effect)) - ]; -}; - - -/***/ }), - -/***/ "./src/utilities/getTokenNodes.ts": -/*!****************************************!*\ - !*** ./src/utilities/getTokenNodes.ts ***! - \****************************************/ -/*! exports provided: default, __testing */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__testing", function() { return __testing; }); -/* harmony import */ var _extractTokenNodeValues__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./extractTokenNodeValues */ "./src/utilities/extractTokenNodeValues.ts"); -/* harmony import */ var _isTokenNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isTokenNode */ "./src/utilities/isTokenNode.ts"); - - -// the name that token frames have -const tokenFrameName = '_tokens'; -// check if a frame is a _token frame -const isTokenFrame = (node) => node.type === 'FRAME' && node.name.trim().toLowerCase().substr(0, tokenFrameName.length) === tokenFrameName; -// return only nodes that are frames -const getFrameNodes = (nodes) => [...nodes.map(page => page.findChildren(node => isTokenFrame(node))).reduce((flatten, arr) => [...flatten, ...arr])]; -/** - * getVariantName - * creates the variant name of the parent and child name - */ -const getVariantName = (parentName, childName) => { - // split into array - childName = childName.split(',') - // remove hidden names - .filter(part => !['_', '.'].includes(part.trim().substr(0, 1))) - // cleanup names, only return value part - .map(part => part.split('=')[1]) - // combine - .join('/'); - // return full name - return `${parentName}/${childName}`; -}; -/** - * Returns all frames from the file that have a name that starts with _tokens or the user defined token specifier - * - * @param pages PageNodes - */ -const getTokenNodes = (pages) => { - // get token frames - const tokenFrames = getFrameNodes(pages); - // get all children of token frames - return tokenFrames.map(frame => frame - // check if children are of valide types - .findAll( - /* istanbul ignore next */ - node => Object(_isTokenNode__WEBPACK_IMPORTED_MODULE_1__["default"])(node))) - // merges all children into one array - .reduce((flatten, arr) => [...flatten, ...arr], []) - // unpack variants & warn about deprecated types - .map((item) => { - if (item.type === 'RECTANGLE' || item.type === 'FRAME') { - console.warn('Please use only main components and variants, other types may be deprecated as tokens in the future'); - } - // unpack variants - if (item.type === 'COMPONENT_SET') { - // TODO: Name is overwriting real object in figma - // -> create clone and move to new array to return - return item.children.map((child) => (Object.assign(Object.assign({}, Object(_extractTokenNodeValues__WEBPACK_IMPORTED_MODULE_0__["default"])(child)), { name: getVariantName(item.name, child.name) }))); - } - // return normal item as array to unpack later - // @ts-ignore - return [Object(_extractTokenNodeValues__WEBPACK_IMPORTED_MODULE_0__["default"])(item)]; - }) - // merges the variant children into one array - .reduce((flatten, arr) => [...flatten, ...arr], []); -}; -/* harmony default export */ __webpack_exports__["default"] = (getTokenNodes); -const __testing = { - isTokenNode: _isTokenNode__WEBPACK_IMPORTED_MODULE_1__["default"], - isTokenFrame: isTokenFrame -}; - - -/***/ }), - -/***/ "./src/utilities/getVersionDifference.ts": -/*!***********************************************!*\ - !*** ./src/utilities/getVersionDifference.ts ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _semVerDifference__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./semVerDifference */ "./src/utilities/semVerDifference.ts"); -/* harmony import */ var _version__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./version */ "./src/utilities/version.ts"); -/* harmony import */ var _config_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @config/config */ "./src/config/config.ts"); -var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; - - - -const getVersionDifference = (figma) => __awaiter(void 0, void 0, void 0, function* () { - // get version & version difference - const lastVersionSettingsOpened = yield figma.clientStorage.getAsync(_config_config__WEBPACK_IMPORTED_MODULE_2__["default"].key.lastVersionSettingsOpened); - const versionDifference = Object(_semVerDifference__WEBPACK_IMPORTED_MODULE_0__["default"])(_version__WEBPACK_IMPORTED_MODULE_1__["default"], lastVersionSettingsOpened); - // update version - if (!lastVersionSettingsOpened || lastVersionSettingsOpened !== _version__WEBPACK_IMPORTED_MODULE_1__["default"]) { - yield figma.clientStorage.setAsync(_config_config__WEBPACK_IMPORTED_MODULE_2__["default"].key.lastVersionSettingsOpened, _version__WEBPACK_IMPORTED_MODULE_1__["default"]); - } - // return version Difference - return versionDifference; -}); -/* harmony default export */ __webpack_exports__["default"] = (getVersionDifference); - - -/***/ }), - -/***/ "./src/utilities/isTokenNode.ts": -/*!**************************************!*\ - !*** ./src/utilities/isTokenNode.ts ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -// the node types that can be used for tokens -const tokenNodeTypes = [ - 'COMPONENT', - 'COMPONENT_SET', - 'RECTANGLE', - 'FRAME' -]; -/** - * check if a node is a valid token node type - * Currently: 'COMPONENT', 'FRAME or 'RECTANGLE' - * @param SceneNode node - */ -const isTokenNode = (node) => { - return node.parent.type !== 'COMPONENT_SET' && tokenNodeTypes.includes(node.type); -}; -/* harmony default export */ __webpack_exports__["default"] = (isTokenNode); - - -/***/ }), - -/***/ "./src/utilities/roundWithDecimals.ts": -/*!********************************************!*\ - !*** ./src/utilities/roundWithDecimals.ts ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * If the provided value is a number - * it is rounded to 3 decimal positions - * otherwise it is returned as is - * @param value number - * @param decimalPlaces int - */ -const roundWithDecimals = (value, decimalPlaces = 2) => { - // exit if value is undefined - if (value === undefined) { - return; - } - // check for correct inputs - if (typeof value !== 'number' || typeof decimalPlaces !== 'number') { - throw new Error(`Invalid parameters, both value "${value}" (${typeof value}) and decimalPlaces "${decimalPlaces}" (${typeof decimalPlaces}) must be of type number`); - } - // set decimal places - const factorOfTen = Math.pow(10, decimalPlaces); - // round result and return - return Math.round(value * factorOfTen) / factorOfTen; -}; -/* harmony default export */ __webpack_exports__["default"] = (roundWithDecimals); - - -/***/ }), - -/***/ "./src/utilities/semVerDifference.ts": -/*!*******************************************!*\ - !*** ./src/utilities/semVerDifference.ts ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony default export */ __webpack_exports__["default"] = ((currentSemVer, prevSemVers = '1.0.0') => { - const [pMajor, pMinor, pPatch] = prevSemVers.split('.'); - const [cMajor, cMinor, cPatch] = currentSemVer.split('.'); - if (pMajor < cMajor) { - return 'major'; - } - if (pMinor < cMinor) { - return 'minor'; - } - if (pPatch < cPatch) { - return 'patch'; - } -}); - - -/***/ }), - -/***/ "./src/utilities/settings.ts": -/*!***********************************!*\ - !*** ./src/utilities/settings.ts ***! - \***********************************/ -/*! exports provided: getSettings, setSettings, resetSettings */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getSettings", function() { return getSettings; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setSettings", function() { return setSettings; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "resetSettings", function() { return resetSettings; }); -/* harmony import */ var _config_defaultSettings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @config/defaultSettings */ "./src/config/defaultSettings.ts"); -/* harmony import */ var _config_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @config/config */ "./src/config/config.ts"); -/* harmony import */ var _stringifyJson__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./stringifyJson */ "./src/utilities/stringifyJson.ts"); - - - -/** - * get the current users settings - * for settings that are not set, the defaults will be used - * @return object - */ -const getSettings = () => { - let storedSettings = figma.root.getPluginData(_config_config__WEBPACK_IMPORTED_MODULE_1__["default"].key.settings); - // return defaults if no settings are present - if (storedSettings === '') { - return _config_defaultSettings__WEBPACK_IMPORTED_MODULE_0__["defaultSettings"]; - } - // parse stored settings - storedSettings = JSON.parse(storedSettings); - return Object.fromEntries(Object.entries(_config_defaultSettings__WEBPACK_IMPORTED_MODULE_0__["defaultSettings"]).map(([key, value]) => { - if (value !== undefined && typeof storedSettings[key] !== typeof value) { - return [key, _config_defaultSettings__WEBPACK_IMPORTED_MODULE_0__["defaultSettings"][key]]; - } - return [key, storedSettings[key]]; - })); -}; -/** - * @name saveSettings - * @description save the user settings to the "cache" - * @param {UserSettings} settings - */ -const setSettings = (settings) => { - settings = Object.assign(Object.assign({}, _config_defaultSettings__WEBPACK_IMPORTED_MODULE_0__["defaultSettings"]), settings); - // store public settings that should be shared across org - figma.root.setPluginData(_config_config__WEBPACK_IMPORTED_MODULE_1__["default"].key.settings, Object(_stringifyJson__WEBPACK_IMPORTED_MODULE_2__["stringifyJson"])(settings)); -}; -/** - * @name resetSettings - * @description resetSettings the user settings to the "cache" - */ -const resetSettings = () => figma.root.setPluginData(_config_config__WEBPACK_IMPORTED_MODULE_1__["default"].key.settings, Object(_stringifyJson__WEBPACK_IMPORTED_MODULE_2__["stringifyJson"])(_config_defaultSettings__WEBPACK_IMPORTED_MODULE_0__["defaultSettings"])); -// exports - - - -/***/ }), - -/***/ "./src/utilities/stringifyJson.ts": -/*!****************************************!*\ - !*** ./src/utilities/stringifyJson.ts ***! - \****************************************/ -/*! exports provided: stringifyJson */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "stringifyJson", function() { return stringifyJson; }); -const stringifyJson = (object, compression = true) => { - if (compression === true) { - return JSON.stringify(object); - } - // return uncompressed json - return JSON.stringify(object, null, 2); -}; - - -/***/ }), - -/***/ "./src/utilities/version.ts": -/*!**********************************!*\ - !*** ./src/utilities/version.ts ***! - \**********************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* istanbul ignore file */ -const version = '5.1.0'; -/* harmony default export */ __webpack_exports__["default"] = (version); - - -/***/ }) - -/******/ }); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbmZpZy9jb21tYW5kcy50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29uZmlnL2NvbmZpZy50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29uZmlnL2RlZmF1bHRTZXR0aW5ncy50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29uZmlnL3Rva2VuVHlwZXMudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V4dHJhY3Rvci9leHRyYWN0Qm9yZGVycy50cyIsIndlYnBhY2s6Ly8vLi9zcmMvZXh0cmFjdG9yL2V4dHJhY3RCcmVha3BvaW50cy50cyIsIndlYnBhY2s6Ly8vLi9zcmMvZXh0cmFjdG9yL2V4dHJhY3RDb2xvcnMudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V4dHJhY3Rvci9leHRyYWN0RWZmZWN0cy50cyIsIndlYnBhY2s6Ly8vLi9zcmMvZXh0cmFjdG9yL2V4dHJhY3RGb250cy50cyIsIndlYnBhY2s6Ly8vLi9zcmMvZXh0cmFjdG9yL2V4dHJhY3RHcmlkcy50cyIsIndlYnBhY2s6Ly8vLi9zcmMvZXh0cmFjdG9yL2V4dHJhY3RNb3Rpb24udHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V4dHJhY3Rvci9leHRyYWN0UmFkaWkudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V4dHJhY3Rvci9leHRyYWN0U2l6ZXMudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2V4dHJhY3Rvci9leHRyYWN0U3BhY2luZy50cyIsIndlYnBhY2s6Ly8vLi9zcmMvZXh0cmFjdG9yL2V4dHJhY3RVdGlsaXRpZXMudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2luZGV4LnRzIiwid2VicGFjazovLy8uL3NyYy91dGlsaXRpZXMvYWNjZXNzVG9rZW4udHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3V0aWxpdGllcy9idWlsZEZpZ21hRGF0YS50cyIsIndlYnBhY2s6Ly8vLi9zcmMvdXRpbGl0aWVzL2NvbnZlcnRDb2xvci50cyIsIndlYnBhY2s6Ly8vLi9zcmMvdXRpbGl0aWVzL2V4dHJhY3RUb2tlbk5vZGVWYWx1ZXMudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3V0aWxpdGllcy9maWx0ZXJCeU5hbWVQcm9wZXJ0eS50cyIsIndlYnBhY2s6Ly8vLi9zcmMvdXRpbGl0aWVzL2dldEVmZmVjdFN0eWxlcy50cyIsIndlYnBhY2s6Ly8vLi9zcmMvdXRpbGl0aWVzL2dldEZpbGVJZC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvdXRpbGl0aWVzL2dldEdyaWRTdHlsZXMudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3V0aWxpdGllcy9nZXRQYWludFN0eWxlcy50cyIsIndlYnBhY2s6Ly8vLi9zcmMvdXRpbGl0aWVzL2dldFRleHRTdHlsZXMudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3V0aWxpdGllcy9nZXRUb2tlbkpzb24udHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3V0aWxpdGllcy9nZXRUb2tlbk5vZGVzLnRzIiwid2VicGFjazovLy8uL3NyYy91dGlsaXRpZXMvZ2V0VmVyc2lvbkRpZmZlcmVuY2UudHMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3V0aWxpdGllcy9pc1Rva2VuTm9kZS50cyIsIndlYnBhY2s6Ly8vLi9zcmMvdXRpbGl0aWVzL3JvdW5kV2l0aERlY2ltYWxzLnRzIiwid2VicGFjazovLy8uL3NyYy91dGlsaXRpZXMvc2VtVmVyRGlmZmVyZW5jZS50cyIsIndlYnBhY2s6Ly8vLi9zcmMvdXRpbGl0aWVzL3NldHRpbmdzLnRzIiwid2VicGFjazovLy8uL3NyYy91dGlsaXRpZXMvc3RyaW5naWZ5SnNvbi50cyIsIndlYnBhY2s6Ly8vLi9zcmMvdXRpbGl0aWVzL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtRQUFBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBOzs7UUFHQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0EsMENBQTBDLGdDQUFnQztRQUMxRTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLHdEQUF3RCxrQkFBa0I7UUFDMUU7UUFDQSxpREFBaUQsY0FBYztRQUMvRDs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0EseUNBQXlDLGlDQUFpQztRQUMxRSxnSEFBZ0gsbUJBQW1CLEVBQUU7UUFDckk7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSwyQkFBMkIsMEJBQTBCLEVBQUU7UUFDdkQsaUNBQWlDLGVBQWU7UUFDaEQ7UUFDQTtRQUNBOztRQUVBO1FBQ0Esc0RBQXNELCtEQUErRDs7UUFFckg7UUFDQTs7O1FBR0E7UUFDQTs7Ozs7Ozs7Ozs7OztBQ2xGQTtBQUFBO0FBQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQ1ZBO0FBQUE7QUFDZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMsRUFBQzs7Ozs7Ozs7Ozs7OztBQ3RCRjtBQUFBO0FBQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDeENBO0FBQUE7QUFBQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUM5Q0E7QUFBQTtBQUFBO0FBQUE7QUFBK0Q7QUFDZjtBQUNJO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qix3RUFBYztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsNkRBQVU7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLHVCQUF1Qiw0RUFBaUI7QUFDeEM7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDZSw2RUFBYyxFQUFDOzs7Ozs7Ozs7Ozs7O0FDN0Q5QjtBQUFBO0FBQUE7QUFBQTtBQUFnRDtBQUNlO0FBQ1g7QUFDcEQ7QUFDQTtBQUNBLDZCQUE2Qix3RUFBYztBQUMzQztBQUNBO0FBQ0EsbUJBQW1CLDZEQUFVO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qiw0RUFBaUI7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDZSxpRkFBa0IsRUFBQzs7Ozs7Ozs7Ozs7OztBQ25CbEM7QUFBQTtBQUFBO0FBQUE7QUFBZ0Q7QUFDMEI7QUFDWDtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLGtGQUFrQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLDJCQUEyQiw0RUFBaUI7QUFDNUM7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSwyQkFBMkIseUVBQVM7QUFDcEM7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLHVCQUF1Qiw0RUFBaUI7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLDRFQUE0RSxHQUFHLFVBQVU7QUFDMUc7QUFDQSxnREFBZ0QsNkRBQVUsZ0JBQWdCLDZEQUFVO0FBQ3BGO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDZSw0RUFBYSxFQUFDOzs7Ozs7Ozs7Ozs7O0FDaEU3QjtBQUFBO0FBQUE7QUFBZ0Q7QUFDTTtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsZUFBZSx5RUFBUztBQUN4QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixlQUFlLEdBQUcsVUFBVTtBQUM3QztBQUNBLG1CQUFtQiw2REFBVTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNlLDZFQUFjLEVBQUM7Ozs7Ozs7Ozs7Ozs7QUNuRTlCO0FBQUE7QUFBQTtBQUFnRDtBQUNlO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsU0FBUyxFQUFFLFNBQVM7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixlQUFlLEdBQUcsVUFBVTtBQUM3QztBQUNBLG1CQUFtQiw2REFBVTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSx1QkFBdUIsNEVBQWlCO0FBQ3hDO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLHVCQUF1Qiw0RUFBaUI7QUFDeEM7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ2UsMkVBQVksRUFBQzs7Ozs7Ozs7Ozs7OztBQzNINUI7QUFBQTtBQUFnRDtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhFQUE4RTtBQUM5RTtBQUNBO0FBQ0EsS0FBSyxFQUFFO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsS0FBSztBQUNOO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSywrQkFBK0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixlQUFlLEdBQUcsVUFBVTtBQUM3QztBQUNBLG1CQUFtQiw2REFBVTtBQUM3QjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ2UsMkVBQVksRUFBQzs7Ozs7Ozs7Ozs7OztBQzdENUI7QUFBQTtBQUFBO0FBQUE7QUFBZ0Q7QUFDSTtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsd0VBQWM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsNkRBQVU7QUFDN0I7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxhQUFhLEVBQUU7QUFDZixLQUFLO0FBQ0w7QUFDZSw0RUFBYSxFQUFDO0FBQ3RCO0FBQ1A7QUFDQTs7Ozs7Ozs7Ozs7OztBQ3ZKQTtBQUFBO0FBQUE7QUFBQTtBQUFnRDtBQUNlO0FBQ1g7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsNkJBQTZCLHdFQUFjO0FBQzNDO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQiw2REFBVTtBQUM3QjtBQUNBLDhDQUE4QztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxLQUFLO0FBQ2Q7QUFDQTtBQUNBLGFBQWE7QUFDYix1QkFBdUIsNEVBQWlCO0FBQ3hDO0FBQ0E7QUFDQSxhQUFhLEVBQUU7QUFDZixLQUFLO0FBQ0w7QUFDZSwyRUFBWSxFQUFDOzs7Ozs7Ozs7Ozs7O0FDekQ1QjtBQUFBO0FBQUE7QUFBQTtBQUFnRDtBQUNlO0FBQ1g7QUFDcEQ7QUFDQTtBQUNBLDZCQUE2Qix3RUFBYztBQUMzQztBQUNBO0FBQ0EsbUJBQW1CLDZEQUFVO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qiw0RUFBaUI7QUFDeEM7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLHVCQUF1Qiw0RUFBaUI7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDZSwyRUFBWSxFQUFDOzs7Ozs7Ozs7Ozs7O0FDeEI1QjtBQUFBO0FBQUE7QUFBQTtBQUFnRDtBQUNlO0FBQ1g7QUFDcEQ7QUFDQTtBQUNBLDZCQUE2Qix3RUFBYztBQUMzQztBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsNkRBQVU7QUFDN0I7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLDRFQUFpQjtBQUN4QztBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsdUJBQXVCLDRFQUFpQjtBQUN4QztBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsdUJBQXVCLDRFQUFpQjtBQUN4QztBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsdUJBQXVCLDRFQUFpQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNlLDZFQUFjLEVBQUM7Ozs7Ozs7Ozs7Ozs7QUNuQzlCO0FBQUE7QUFBTztBQUNQO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUNGQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxpQkFBaUIsU0FBSSxJQUFJLFNBQUk7QUFDN0IsMkJBQTJCLCtEQUErRCxnQkFBZ0IsRUFBRSxFQUFFO0FBQzlHO0FBQ0EsbUNBQW1DLE1BQU0sNkJBQTZCLEVBQUUsWUFBWSxXQUFXLEVBQUU7QUFDakcsa0NBQWtDLE1BQU0saUNBQWlDLEVBQUUsWUFBWSxXQUFXLEVBQUU7QUFDcEcsK0JBQStCLHFGQUFxRjtBQUNwSDtBQUNBLEtBQUs7QUFDTDtBQUMrRTtBQUNOO0FBQ3JDO0FBQ1E7QUFDd0I7QUFDdEI7QUFDaUI7QUFDTDtBQUMxRDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLEtBQUsseURBQVEsU0FBUyx5REFBUSxZQUFZLHlEQUFRO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qix1RUFBVztBQUN4QztBQUNBLHdDQUF3QywrRUFBb0I7QUFDNUQ7QUFDQSx3QkFBd0Isc0RBQU0sMEJBQTBCLHNEQUFNO0FBQzlEO0FBQ0EsNEJBQTRCLHNEQUFNLDBCQUEwQixzREFBTTtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0RBQXdELGtCQUFrQixvQkFBb0IsNkVBQWMsQ0FBQyxvRUFBUyxVQUFVO0FBQ2hJLHNCQUFzQiw4RUFBYSxDQUFDLG1GQUFtQjtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IseURBQVE7QUFDOUI7QUFDQSxpQkFBaUIseURBQVE7QUFDekIsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHlEQUFRO0FBQzlCO0FBQ0EsaUJBQWlCLHlEQUFRO0FBQ3pCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQix5REFBUTtBQUM5QixJQUFJLHlFQUFhO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLG1CQUFtQjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQix5REFBUTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IseURBQVE7QUFDNUI7QUFDQSxRQUFRLHVFQUFXO0FBQ25CO0FBQ0EsY0FBYyw2RUFBYyxDQUFDLG9FQUFTO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOzs7Ozs7Ozs7Ozs7O0FDL0dEO0FBQUE7QUFBQTtBQUFBLGlCQUFpQixTQUFJLElBQUksU0FBSTtBQUM3QiwyQkFBMkIsK0RBQStELGdCQUFnQixFQUFFLEVBQUU7QUFDOUc7QUFDQSxtQ0FBbUMsTUFBTSw2QkFBNkIsRUFBRSxZQUFZLFdBQVcsRUFBRTtBQUNqRyxrQ0FBa0MsTUFBTSxpQ0FBaUMsRUFBRSxZQUFZLFdBQVcsRUFBRTtBQUNwRywrQkFBK0IscUZBQXFGO0FBQ3BIO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLE9BQU87QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLE9BQU87QUFDekIsa0JBQWtCLE9BQU87QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVELGtCQUFrQix3QkFBd0I7QUFDakc7QUFDQTtBQUNBLENBQUM7QUFDeUM7Ozs7Ozs7Ozs7Ozs7QUMxQzFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTBEO0FBQ1o7QUFDRjtBQUNBO0FBQ0E7QUFDSTtBQUNoRDtBQUNBO0FBQ0EsV0FBVyxVQUFVO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDhEQUFhO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsK0RBQWMsNkNBQTZDLHFFQUFvQjtBQUNwRyxvQkFBb0IsOERBQWEsNENBQTRDLHFFQUFvQjtBQUNqRyxvQkFBb0IsOERBQWEsNENBQTRDLHFFQUFvQjtBQUNqRyxzQkFBc0IsZ0VBQWUsOENBQThDLHFFQUFvQjtBQUN2RztBQUNBO0FBQ2UsNkVBQWMsRUFBQzs7Ozs7Ozs7Ozs7OztBQ3pCOUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFvRDtBQUM3QztBQUNQLE9BQU8sa0VBQWlCO0FBQ3hCLE9BQU8sa0VBQWlCO0FBQ3hCLE9BQU8sa0VBQWlCO0FBQ3hCLE9BQU8sa0VBQWlCO0FBQ3hCLENBQUM7QUFDTTtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTywwREFBMEQsYUFBYSxJQUFJLGFBQWEsSUFBSSxhQUFhLElBQUksYUFBYTs7Ozs7Ozs7Ozs7OztBQ2JqSTtBQUFBO0FBQW9EO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQix3RUFBa0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNjLHFGQUFzQixFQUFDOzs7Ozs7Ozs7Ozs7O0FDN0N0QztBQUFBO0FBQW9DO0FBQ3BDO0FBQ0E7QUFDQSxXQUFXLHNEQUFNO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsbUZBQW9CLEVBQUM7Ozs7Ozs7Ozs7Ozs7QUNScEM7QUFBQTtBQUNBO0FBQ0EsV0FBVyxtQkFBbUI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNlLDhFQUFlLEVBQUM7Ozs7Ozs7Ozs7Ozs7QUNsQi9CO0FBQUE7QUFBb0M7QUFDcEM7QUFDQSwwQ0FBMEMsc0RBQU07QUFDaEQ7QUFDQTtBQUNBLGlDQUFpQyxzREFBTTtBQUN2QztBQUNBLDBDQUEwQyxzREFBTTtBQUNoRDtBQUNBO0FBQ0E7QUFDZSx3RUFBUyxFQUFDOzs7Ozs7Ozs7Ozs7O0FDWHpCO0FBQUE7QUFDQTtBQUNBLFdBQVcsTUFBTTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ2UsNEVBQWEsRUFBQzs7Ozs7Ozs7Ozs7OztBQ2xCN0I7QUFBQTtBQUNBO0FBQ0EsV0FBVyxNQUFNO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDZSw2RUFBYyxFQUFDOzs7Ozs7Ozs7Ozs7O0FDbEI5QjtBQUFBO0FBQ0E7QUFDQSxXQUFXLGlCQUFpQjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDZSw0RUFBYSxFQUFDOzs7Ozs7Ozs7Ozs7O0FDekI3QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF1RDtBQUNGO0FBQ0E7QUFDSTtBQUNGO0FBQ0Y7QUFDSTtBQUNBO0FBQ0o7QUFDWTtBQUNuQjtBQUM5QztBQUNPO0FBQ1Asc0JBQXNCLGdFQUFjO0FBQ3BDO0FBQ0E7QUFDQSxXQUFXLHVFQUFZO0FBQ3ZCLFdBQVcsNkVBQWtCO0FBQzdCLFdBQVcseUVBQWM7QUFDekIsV0FBVyx5RUFBYztBQUN6QixXQUFXLHVFQUFZO0FBQ3ZCLFdBQVcsd0VBQWE7QUFDeEIsV0FBVyx3RUFBYSx5QkFBeUIsbUdBQW1HO0FBQ3BKLFdBQVcsdUVBQVk7QUFDdkIsV0FBVyx1RUFBWTtBQUN2QixXQUFXLHlFQUFjO0FBQ3pCO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUMzQkE7QUFBQTtBQUFBO0FBQUE7QUFBOEQ7QUFDdEI7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsV0FBVyxHQUFHLFVBQVU7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksNERBQVc7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtFQUErRSxFQUFFLHVFQUFzQixXQUFXLDhDQUE4QztBQUNoSztBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsdUVBQXNCO0FBQ3RDLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDZSw0RUFBYSxFQUFDO0FBQ3RCO0FBQ1AsaUJBQWlCLG9EQUFXO0FBQzVCO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUM5REE7QUFBQTtBQUFBO0FBQUE7QUFBQSxpQkFBaUIsU0FBSSxJQUFJLFNBQUk7QUFDN0IsMkJBQTJCLCtEQUErRCxnQkFBZ0IsRUFBRSxFQUFFO0FBQzlHO0FBQ0EsbUNBQW1DLE1BQU0sNkJBQTZCLEVBQUUsWUFBWSxXQUFXLEVBQUU7QUFDakcsa0NBQWtDLE1BQU0saUNBQWlDLEVBQUUsWUFBWSxXQUFXLEVBQUU7QUFDcEcsK0JBQStCLHFGQUFxRjtBQUNwSDtBQUNBLEtBQUs7QUFDTDtBQUNrRDtBQUNYO0FBQ0g7QUFDcEM7QUFDQTtBQUNBLHlFQUF5RSxzREFBTTtBQUMvRSw4QkFBOEIsaUVBQWdCLENBQUMsZ0RBQWM7QUFDN0Q7QUFDQSxvRUFBb0UsZ0RBQWM7QUFDbEYsMkNBQTJDLHNEQUFNLGdDQUFnQyxnREFBYztBQUMvRjtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ2MsbUZBQW9CLEVBQUM7Ozs7Ozs7Ozs7Ozs7QUN2QnBDO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsMEVBQVcsRUFBQzs7Ozs7Ozs7Ozs7OztBQ2YzQjtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQsTUFBTSxLQUFLLGFBQWEsdUJBQXVCLGNBQWMsS0FBSyxxQkFBcUI7QUFDbEo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsZ0ZBQWlCLEVBQUM7Ozs7Ozs7Ozs7Ozs7QUNyQmpDO0FBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDOzs7Ozs7Ozs7Ozs7O0FDWkY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMEQ7QUFDdEI7QUFDWTtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Qsc0RBQU07QUFDeEQ7QUFDQTtBQUNBLGVBQWUsdUVBQWU7QUFDOUI7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDLHVFQUFlO0FBQzVEO0FBQ0EseUJBQXlCLHVFQUFlO0FBQ3hDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGFBQWE7QUFDeEI7QUFDQTtBQUNBLDZDQUE2QyxFQUFFLHVFQUFlO0FBQzlEO0FBQ0EsNkJBQTZCLHNEQUFNLGVBQWUsb0VBQWE7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRCxzREFBTSxlQUFlLG9FQUFhLENBQUMsdUVBQWU7QUFDdkc7QUFDbUQ7Ozs7Ozs7Ozs7Ozs7QUN2Q25EO0FBQUE7QUFBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQ05BO0FBQUE7QUFDQTtBQUNlLHNFQUFPLEVBQUMiLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IFwiLi9zcmMvaW5kZXgudHNcIik7XG4iLCJleHBvcnQgY29uc3QgY29tbWFuZHMgPSB7XG4gICAgZ2VuZXJhbFNldHRpbmdzOiAnZ2VuZXJhbFNldHRpbmdzJyxcbiAgICBleHBvcnQ6ICdleHBvcnQnLFxuICAgIHNlbmRTZXR0aW5nczogJ3NlbmRTZXR0aW5ncycsXG4gICAgdXJsRXhwb3J0OiAndXJsRXhwb3J0JyxcbiAgICBoZWxwOiAnaGVscCcsXG4gICAgZGVtbzogJ2RlbW8nLFxuICAgIHJlc2V0OiAncmVzZXQnLFxuICAgIHNhdmVTZXR0aW5nczogJ3NhdmVTZXR0aW5ncycsXG4gICAgY2xvc2VQbHVnaW46ICdjbG9zZVBsdWdpbidcbn07XG4iLCIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuZXhwb3J0IGRlZmF1bHQge1xuICAgIHVpOiB7XG4gICAgICAgIGdlbmVyYWxTZXR0aW5nczoge1xuICAgICAgICAgICAgd2lkdGg6IDU1MCxcbiAgICAgICAgICAgIGhlaWdodDogNjc1XG4gICAgICAgIH0sXG4gICAgICAgIGV4cG9ydDoge1xuICAgICAgICAgICAgd2lkdGg6IDU1MCxcbiAgICAgICAgICAgIGhlaWdodDogNDIwXG4gICAgICAgIH0sXG4gICAgICAgIHVybEV4cG9ydDoge1xuICAgICAgICAgICAgd2lkdGg6IDU1MCxcbiAgICAgICAgICAgIGhlaWdodDogNTk1XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGtleToge1xuICAgICAgICBsYXN0VmVyc2lvblNldHRpbmdzT3BlbmVkOiAnbGFzdFZlcnNpb25TZXR0aW5nc09wZW5lZCcsXG4gICAgICAgIGZpbGVJZDogJ2ZpbGVJZCcsXG4gICAgICAgIHNldHRpbmdzOiAnc2V0dGluZ3MnXG4gICAgfSxcbiAgICBleGNsdXNpb25QcmVmaXhEZWZhdWx0OiBbJ18nLCAnLiddXG59O1xuIiwiZXhwb3J0IGNvbnN0IGRlZmF1bHRTZXR0aW5ncyA9IHtcbiAgICBmaWxlbmFtZTogJ2Rlc2lnbi10b2tlbnMnLFxuICAgIGV4dGVuc2lvbjogJy5qc29uJyxcbiAgICBuYW1lQ29udmVyc2lvbjogJ2RlZmF1bHQnLFxuICAgIGNvbXByZXNzaW9uOiBmYWxzZSxcbiAgICB1cmxKc29uQ29tcHJlc3Npb246IHRydWUsXG4gICAgc2VydmVyVXJsOiB1bmRlZmluZWQsXG4gICAgZXZlbnRUeXBlOiAndXBkYXRlLXRva2VucycsXG4gICAgYWNjZXNzVG9rZW46IHVuZGVmaW5lZCxcbiAgICBhY2NlcHRIZWFkZXI6ICdhcHBsaWNhdGlvbi92bmQuZ2l0aHViLmV2ZXJlc3QtcHJldmlldytqc29uJyxcbiAgICBhdXRoVHlwZTogJ3Rva2VuJyxcbiAgICBleGNsdXNpb25QcmVmaXg6ICcnLFxuICAgIGtleUluTmFtZTogZmFsc2UsXG4gICAgcHJlZml4SW5OYW1lOiB0cnVlLFxuICAgIHByZWZpeDoge1xuICAgICAgICBjb2xvcjogJ2NvbG9yJyxcbiAgICAgICAgZ3JhZGllbnQ6ICdncmFkaWVudCcsXG4gICAgICAgIGZvbnQ6ICdmb250JyxcbiAgICAgICAgZWZmZWN0OiAnZWZmZWN0JyxcbiAgICAgICAgZ3JpZDogJ2dyaWQnLFxuICAgICAgICBib3JkZXI6ICdib3JkZXIsIGJvcmRlcnMnLFxuICAgICAgICBicmVha3BvaW50OiAnYnJlYWtwb2ludCwgYnJlYWtwb2ludHMnLFxuICAgICAgICByYWRpdXM6ICdyYWRpdXMsIHJhZGlpJyxcbiAgICAgICAgc2l6ZTogJ3NpemUsIHNpemVzJyxcbiAgICAgICAgc3BhY2luZzogJ3NwYWNpbmcnLFxuICAgICAgICBtb3Rpb246ICdtb3Rpb24nXG4gICAgfSxcbiAgICBleHBvcnRzOiB7XG4gICAgICAgIGNvbG9yOiB0cnVlLFxuICAgICAgICBncmFkaWVudDogdHJ1ZSxcbiAgICAgICAgZm9udDogdHJ1ZSxcbiAgICAgICAgZWZmZWN0OiB0cnVlLFxuICAgICAgICBncmlkOiB0cnVlLFxuICAgICAgICBib3JkZXI6IHRydWUsXG4gICAgICAgIGJyZWFrcG9pbnQ6IHRydWUsXG4gICAgICAgIHJhZGl1czogdHJ1ZSxcbiAgICAgICAgc2l6ZTogdHJ1ZSxcbiAgICAgICAgc3BhY2luZzogdHJ1ZSxcbiAgICAgICAgbW90aW9uOiB0cnVlXG4gICAgfVxufTtcbiIsIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG5leHBvcnQgY29uc3QgdG9rZW5UeXBlcyA9IHtcbiAgICBjb2xvcjoge1xuICAgICAgICBsYWJlbDogJ0NvbG9ycycsXG4gICAgICAgIGtleTogJ2NvbG9yJ1xuICAgIH0sXG4gICAgZ3JhZGllbnQ6IHtcbiAgICAgICAgbGFiZWw6ICdHcmFkaWVudHMnLFxuICAgICAgICBrZXk6ICdncmFkaWVudCdcbiAgICB9LFxuICAgIGZvbnQ6IHtcbiAgICAgICAgbGFiZWw6ICdGb250cycsXG4gICAgICAgIGtleTogJ2ZvbnQnXG4gICAgfSxcbiAgICBlZmZlY3Q6IHtcbiAgICAgICAgbGFiZWw6ICdFZmZlY3RzJyxcbiAgICAgICAga2V5OiAnZWZmZWN0J1xuICAgIH0sXG4gICAgZ3JpZDoge1xuICAgICAgICBsYWJlbDogJ0dyaWRzJyxcbiAgICAgICAga2V5OiAnZ3JpZCdcbiAgICB9LFxuICAgIGJvcmRlcjoge1xuICAgICAgICBsYWJlbDogJ0JvcmRlcnMnLFxuICAgICAgICBrZXk6ICdib3JkZXInXG4gICAgfSxcbiAgICBicmVha3BvaW50OiB7XG4gICAgICAgIGxhYmVsOiAnQnJlYWtwb2ludHMnLFxuICAgICAgICBrZXk6ICdicmVha3BvaW50J1xuICAgIH0sXG4gICAgcmFkaXVzOiB7XG4gICAgICAgIGxhYmVsOiAnUmFkaWknLFxuICAgICAgICBrZXk6ICdyYWRpdXMnXG4gICAgfSxcbiAgICBzaXplOiB7XG4gICAgICAgIGxhYmVsOiAnU2l6ZXMnLFxuICAgICAgICBrZXk6ICdzaXplJ1xuICAgIH0sXG4gICAgc3BhY2luZzoge1xuICAgICAgICBsYWJlbDogJ1NwYWNpbmcnLFxuICAgICAgICBrZXk6ICdzcGFjaW5nJ1xuICAgIH0sXG4gICAgbW90aW9uOiB7XG4gICAgICAgIGxhYmVsOiAnTW90aW9uJyxcbiAgICAgICAga2V5OiAnbW90aW9uJ1xuICAgIH1cbn07XG4iLCJpbXBvcnQgcm91bmRXaXRoRGVjaW1hbHMgZnJvbSAnLi4vdXRpbGl0aWVzL3JvdW5kV2l0aERlY2ltYWxzJztcbmltcG9ydCB7IHRva2VuVHlwZXMgfSBmcm9tICdAY29uZmlnL3Rva2VuVHlwZXMnO1xuaW1wb3J0IHsgZmlsdGVyQnlQcmVmaXggfSBmcm9tICcuL2V4dHJhY3RVdGlsaXRpZXMnO1xuY29uc3Qgc3Ryb2tlSm9pbnMgPSB7XG4gICAgTUlURVI6ICdtaXRlcicsXG4gICAgQkVWRUw6ICdiZXZlbCcsXG4gICAgUk9VTkQ6ICdyb3VuZCdcbn07XG5jb25zdCBzdHJva2VBbGlnbnMgPSB7XG4gICAgQ0VOVEVSOiAnY2VudGVyJyxcbiAgICBJTlNJREU6ICdpbnNpZGUnLFxuICAgIE9VVFNJREU6ICdvdXRzaWRlJ1xufTtcbmNvbnN0IGV4dHJhY3RCb3JkZXJzID0gKHRva2VuTm9kZXMsIHByZWZpeEFycmF5KSA9PiB7XG4gICAgLy8gcmV0dXJuIGFzIG9iamVjdFxuICAgIHJldHVybiB0b2tlbk5vZGVzLmZpbHRlcihmaWx0ZXJCeVByZWZpeChwcmVmaXhBcnJheSkpXG4gICAgICAgIC8vIHJlbW92ZSBub2RlcyB3aXRoIG5vIGJvcmRlciBwcm9wZXJ0eVxuICAgICAgICAuZmlsdGVyKG5vZGUgPT4gbm9kZS5zdHJva2VzLmxlbmd0aCA+IDApXG4gICAgICAgIC8vIGNvbnZlcnQgYm9yZGVyc1xuICAgICAgICAubWFwKG5vZGUgPT4gKHtcbiAgICAgICAgbmFtZTogbm9kZS5uYW1lLFxuICAgICAgICBjYXRlZ29yeTogJ2JvcmRlcicsXG4gICAgICAgIGV4cG9ydEtleTogdG9rZW5UeXBlcy5ib3JkZXIua2V5LFxuICAgICAgICBkZXNjcmlwdGlvbjogbm9kZS5kZXNjcmlwdGlvbiB8fCBudWxsLFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgIHN0cm9rZUFsaWduOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHN0cm9rZUFsaWduc1tub2RlLnN0cm9rZUFsaWduXSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRhc2hQYXR0ZXJuOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IG5vZGUuZGFzaFBhdHRlcm4udG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN0cm9rZUNhcDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiAoKHR5cGVvZiBub2RlLnN0cm9rZUNhcCA9PT0gJ3N0cmluZycpID8gbm9kZS5zdHJva2VDYXAudG9Mb3dlckNhc2UoKSA6ICdtaXhlZCcpLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3Ryb2tlSm9pbjoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBzdHJva2VKb2luc1tub2RlLnN0cm9rZUpvaW5dLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3Ryb2tlTWl0ZXJMaW1pdDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiByb3VuZFdpdGhEZWNpbWFscyhub2RlLnN0cm9rZU1pdGVyTGltaXQpLFxuICAgICAgICAgICAgICAgIHVuaXQ6ICdkZWdyZWUnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8gc3Ryb2tlU3R5bGVJZDoge1xuICAgICAgICAgICAgLy8gICB2YWx1ZTogbm9kZS5zdHJva2VTdHlsZUlkXG4gICAgICAgICAgICAvLyB9LFxuICAgICAgICAgICAgc3Ryb2tlV2VpZ2h0OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IG5vZGUuc3Ryb2tlV2VpZ2h0LFxuICAgICAgICAgICAgICAgIHVuaXQ6ICdwaXhlbCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ251bWJlcidcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdHJva2U6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogbm9kZS5zdHJva2VzWzBdLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdjb2xvcidcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pKTtcbn07XG5leHBvcnQgZGVmYXVsdCBleHRyYWN0Qm9yZGVycztcbiIsImltcG9ydCB7IHRva2VuVHlwZXMgfSBmcm9tICdAY29uZmlnL3Rva2VuVHlwZXMnO1xuaW1wb3J0IHJvdW5kV2l0aERlY2ltYWxzIGZyb20gJy4uL3V0aWxpdGllcy9yb3VuZFdpdGhEZWNpbWFscyc7XG5pbXBvcnQgeyBmaWx0ZXJCeVByZWZpeCB9IGZyb20gJy4vZXh0cmFjdFV0aWxpdGllcyc7XG5jb25zdCBleHRyYWN0QnJlYWtwb2ludHMgPSAodG9rZW5Ob2RlcywgcHJlZml4QXJyYXkpID0+IHtcbiAgICAvLyByZXR1cm4gYXMgb2JqZWN0XG4gICAgcmV0dXJuIHRva2VuTm9kZXMuZmlsdGVyKGZpbHRlckJ5UHJlZml4KHByZWZpeEFycmF5KSkubWFwKG5vZGUgPT4gKHtcbiAgICAgICAgbmFtZTogbm9kZS5uYW1lLFxuICAgICAgICBjYXRlZ29yeTogJ2JyZWFrcG9pbnQnLFxuICAgICAgICBleHBvcnRLZXk6IHRva2VuVHlwZXMuYnJlYWtwb2ludC5rZXksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBub2RlLmRlc2NyaXB0aW9uIHx8IG51bGwsXG4gICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgd2lkdGg6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogcm91bmRXaXRoRGVjaW1hbHMobm9kZS53aWR0aCwgMiksXG4gICAgICAgICAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IGV4dHJhY3RCcmVha3BvaW50cztcbiIsImltcG9ydCB7IHRva2VuVHlwZXMgfSBmcm9tICdAY29uZmlnL3Rva2VuVHlwZXMnO1xuaW1wb3J0IHsgY29udmVydFBhaW50VG9SZ2JhLCByb3VuZFJnYmEgfSBmcm9tICcuLi91dGlsaXRpZXMvY29udmVydENvbG9yJztcbmltcG9ydCByb3VuZFdpdGhEZWNpbWFscyBmcm9tICcuLi91dGlsaXRpZXMvcm91bmRXaXRoRGVjaW1hbHMnO1xuY29uc3QgZ3JhZGllbnRUeXBlID0ge1xuICAgIEdSQURJRU5UX0xJTkVBUjogJ2xpbmVhcicsXG4gICAgR1JBRElFTlRfUkFESUFMOiAncmFkaWFsJyxcbiAgICBHUkFESUVOVF9BTkdVTEFSOiAnYW5ndWxhcicsXG4gICAgR1JBRElFTlRfRElBTU9ORDogJ2RpYW1vbmQnXG59O1xuY29uc3QgaXNHcmFkaWVudCA9IChwYWludCkgPT4gWydHUkFESUVOVF9MSU5FQVInLCAnR1JBRElFTlRfUkFESUFMJywgJ0dSQURJRU5UX0FOR1VMQVInLCAnR1JBRElFTlRfRElBTU9ORCddLmluY2x1ZGVzKHBhaW50LnR5cGUpO1xuY29uc3QgZXh0cmFjdEZpbGxzID0gKHBhaW50KSA9PiB7XG4gICAgaWYgKHBhaW50LnR5cGUgPT09ICdTT0xJRCcpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZpbGw6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogY29udmVydFBhaW50VG9SZ2JhKHBhaW50KSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnY29sb3InXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmIChbJ0dSQURJRU5UX0xJTkVBUicsICdHUkFESUVOVF9SQURJQUwnLCAnR1JBRElFTlRfQU5HVUxBUicsICdHUkFESUVOVF9ESUFNT05EJ10uaW5jbHVkZXMocGFpbnQudHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGdyYWRpZW50VHlwZToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBncmFkaWVudFR5cGVbcGFpbnQudHlwZV0sXG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdG9wczogcGFpbnQuZ3JhZGllbnRTdG9wcy5tYXAoc3RvcCA9PiAoe1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiByb3VuZFdpdGhEZWNpbWFscyhzdG9wLnBvc2l0aW9uKSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ251bWJlcidcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiByb3VuZFJnYmEoc3RvcC5jb2xvciksXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdjb2xvcidcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBvcGFjaXR5OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHJvdW5kV2l0aERlY2ltYWxzKHBhaW50Lm9wYWNpdHkpLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIC8vIHJldHVybiBudWxsIGlmIG5vIG1hdGNoaW5nIHR5cGVcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiBudWxsO1xufTtcbmNvbnN0IGV4dHJhY3RDb2xvcnMgPSAodG9rZW5Ob2RlcywgcHJlZml4QXJyYXkpID0+IHtcbiAgICAvLyBnZXQgYWxsIHBhaW50IHN0eWxlc1xuICAgIHJldHVybiB0b2tlbk5vZGVzXG4gICAgICAgIC8vIHJlbW92ZSBpbWFnZXMgZmlsbHMgZnJvbSB0b2tlbnNcbiAgICAgICAgLm1hcChub2RlID0+IHtcbiAgICAgICAgbm9kZS5wYWludHMgPSBub2RlLnBhaW50cy5maWx0ZXIocGFpbnQgPT4gcGFpbnQudHlwZSAhPT0gJ0lNQUdFJyk7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH0pXG4gICAgICAgIC8vIHJlbW92ZSB0b2tlbnMgd2l0aCBubyBmaWxsXG4gICAgICAgIC5maWx0ZXIobm9kZSA9PiBub2RlLnBhaW50cy5sZW5ndGggPiAwKVxuICAgICAgICAvLyB0cmFuc2Zvcm0gc3R5bGVcbiAgICAgICAgLm1hcChub2RlID0+ICh7XG4gICAgICAgIG5hbWU6IGAke2lzR3JhZGllbnQobm9kZS5wYWludHNbMF0pID8gcHJlZml4QXJyYXkuZ3JhZGllbnRbMF0gOiBwcmVmaXhBcnJheS5jb2xvclswXX0vJHtub2RlLm5hbWV9YCxcbiAgICAgICAgY2F0ZWdvcnk6IGlzR3JhZGllbnQobm9kZS5wYWludHNbMF0pID8gJ2dyYWRpZW50JyA6ICdjb2xvcicsXG4gICAgICAgIGV4cG9ydEtleTogaXNHcmFkaWVudChub2RlLnBhaW50c1swXSkgPyB0b2tlblR5cGVzLmdyYWRpZW50LmtleSA6IHRva2VuVHlwZXMuY29sb3Iua2V5LFxuICAgICAgICBkZXNjcmlwdGlvbjogbm9kZS5kZXNjcmlwdGlvbiB8fCBudWxsLFxuICAgICAgICB2YWx1ZXM6IG5vZGUucGFpbnRzLm1hcChwYWludCA9PiBleHRyYWN0RmlsbHMocGFpbnQpKVxuICAgIH0pKTtcbn07XG5leHBvcnQgZGVmYXVsdCBleHRyYWN0Q29sb3JzO1xuIiwiaW1wb3J0IHsgdG9rZW5UeXBlcyB9IGZyb20gJ0Bjb25maWcvdG9rZW5UeXBlcyc7XG5pbXBvcnQgeyByb3VuZFJnYmEgfSBmcm9tICcuLi91dGlsaXRpZXMvY29udmVydENvbG9yJztcbmNvbnN0IGVmZmVjdFR5cGUgPSB7XG4gICAgTEFZRVJfQkxVUjogJ2xheWVyQmx1cicsXG4gICAgQkFDS0dST1VORF9CTFVSOiAnYmFja2dyb3VuZEJsdXInLFxuICAgIERST1BfU0hBRE9XOiAnZHJvcFNoYWRvdycsXG4gICAgSU5ORVJfU0hBRE9XOiAnaW5uZXJTaGFkb3cnXG59O1xuY29uc3QgYmx1clZhbHVlcyA9IChlZmZlY3QpID0+ICh7XG4gICAgdHlwZToge1xuICAgICAgICB2YWx1ZTogZWZmZWN0VHlwZVtlZmZlY3QudHlwZV0sXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXG4gICAgfSxcbiAgICByYWRpdXM6IHtcbiAgICAgICAgdmFsdWU6IGVmZmVjdC5yYWRpdXMsXG4gICAgICAgIHVuaXQ6ICdwaXhlbCcsXG4gICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgfVxufSk7XG5jb25zdCBzaGFkb3dWYWx1ZXMgPSBlZmZlY3QgPT4gKHtcbiAgICB0eXBlOiB7XG4gICAgICAgIHZhbHVlOiBlZmZlY3RUeXBlW2VmZmVjdC50eXBlXSxcbiAgICAgICAgdHlwZTogJ3N0cmluZydcbiAgICB9LFxuICAgIHJhZGl1czoge1xuICAgICAgICB2YWx1ZTogZWZmZWN0LnJhZGl1cyxcbiAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgdHlwZTogJ251bWJlcidcbiAgICB9LFxuICAgIGNvbG9yOiB7XG4gICAgICAgIHZhbHVlOiByb3VuZFJnYmEoZWZmZWN0LmNvbG9yKSxcbiAgICAgICAgdHlwZTogJ2NvbG9yJ1xuICAgIH0sXG4gICAgb2Zmc2V0OiB7XG4gICAgICAgIHg6IHtcbiAgICAgICAgICAgIHZhbHVlOiBlZmZlY3Qub2Zmc2V0LngsXG4gICAgICAgICAgICB1bml0OiAncGl4ZWwnLFxuICAgICAgICAgICAgdHlwZTogJ251bWJlcidcbiAgICAgICAgfSxcbiAgICAgICAgeToge1xuICAgICAgICAgICAgdmFsdWU6IGVmZmVjdC5vZmZzZXQueSxcbiAgICAgICAgICAgIHVuaXQ6ICdwaXhlbCcsXG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBzcHJlYWQ6IHtcbiAgICAgICAgdmFsdWU6IGVmZmVjdC5zcHJlYWQsXG4gICAgICAgIHVuaXQ6ICdwaXhlbCcsXG4gICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgfVxufSk7XG5jb25zdCBleHRyYWN0RWZmZWN0cyA9ICh0b2tlbk5vZGVzLCBwcmVmaXhBcnJheSkgPT4ge1xuICAgIC8vIGdldCBlZmZlY3Qgc3R5bGVzXG4gICAgcmV0dXJuIHRva2VuTm9kZXNcbiAgICAgICAgLy8gcmVtb3ZlIHRva2VucyB3aXRoIG5vIGdyaWRcbiAgICAgICAgLmZpbHRlcihub2RlID0+IG5vZGUuZWZmZWN0cy5sZW5ndGggPiAwKVxuICAgICAgICAvLyBidWlsZFxuICAgICAgICAubWFwKG5vZGUgPT4gKHtcbiAgICAgICAgbmFtZTogYCR7cHJlZml4QXJyYXlbMF19LyR7bm9kZS5uYW1lfWAsXG4gICAgICAgIGNhdGVnb3J5OiAnZWZmZWN0JyxcbiAgICAgICAgZXhwb3J0S2V5OiB0b2tlblR5cGVzLmVmZmVjdC5rZXksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBub2RlLmRlc2NyaXB0aW9uIHx8IG51bGwsXG4gICAgICAgIHZhbHVlczogbm9kZS5lZmZlY3RzLm1hcCgoZWZmZWN0KSA9PiBlZmZlY3QudHlwZSA9PT0gJ0xBWUVSX0JMVVInIHx8IGVmZmVjdC50eXBlID09PSAnQkFDS0dST1VORF9CTFVSJ1xuICAgICAgICAgICAgPyBibHVyVmFsdWVzKGVmZmVjdClcbiAgICAgICAgICAgIDogc2hhZG93VmFsdWVzKGVmZmVjdCkpXG4gICAgfSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IGV4dHJhY3RFZmZlY3RzO1xuIiwiaW1wb3J0IHsgdG9rZW5UeXBlcyB9IGZyb20gJ0Bjb25maWcvdG9rZW5UeXBlcyc7XG5pbXBvcnQgcm91bmRXaXRoRGVjaW1hbHMgZnJvbSAnLi4vdXRpbGl0aWVzL3JvdW5kV2l0aERlY2ltYWxzJztcbmNvbnN0IHRleHREZWNvcmF0aW9ucyA9IHtcbiAgICBOT05FOiAnbm9uZScsXG4gICAgVU5ERVJMSU5FOiAndW5kZXJsaW5lJyxcbiAgICBTVFJJS0VUSFJPVUdIOiAnbGluZS10aHJvdWdoJ1xufTtcbmNvbnN0IHRleHRDYXNlcyA9IHtcbiAgICBPUklHSU5BTDogJ25vbmUnLFxuICAgIFVQUEVSOiAndXBwZXJjYXNlJyxcbiAgICBMT1dFUjogJ2xvd2VyY2FzZScsXG4gICAgVElUTEU6ICdjYXBpdGFsaXplJ1xufTtcbmNvbnN0IGZvbnRXZWlnaHRzID0ge1xuICAgIHRoaW46IDEwMCxcbiAgICBleHRyYWxpZ2h0OiAyMDAsXG4gICAgdWx0cmFsaWdodDogMjAwLFxuICAgIGxpZ2h0OiAzMDAsXG4gICAgbm9ybWFsOiA0MDAsXG4gICAgcmVndWxhcjogNDAwLFxuICAgIG1lZGl1bTogNTAwLFxuICAgIHNlbWlib2xkOiA2MDAsXG4gICAgZGVtaWJvbGQ6IDYwMCxcbiAgICBib2xkOiA3MDAsXG4gICAgZXh0cmFib2xkOiA4MDAsXG4gICAgdWx0YWJvbGQ6IDgwMCxcbiAgICBibGFjazogOTAwLFxuICAgIGhlYXZ5OiA5MDAsXG4gICAgc3VwZXI6IDkwMFxufTtcbmNvbnN0IGZvbnRTdHJldGNoID0ge1xuICAgIG5vcm1hbDogJ25vcm1hbCcsXG4gICAgY29uZGVuc2VkOiAnY29uZGVuc2VkJyxcbiAgICBleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgICBleHRlbmRlZDogJ2V4cGFuZGVkJ1xufTtcbmNvbnN0IGZvbnRTdHlsZXMgPSB7XG4gICAgbm9ybWFsOiAnbm9ybWFsJyxcbiAgICBpdGFsaWM6ICdpdGFsaWMnLFxuICAgIG9ibGlxdWU6ICdvYmxpcXVlJ1xufTtcbmNvbnN0IHBhcnNlRm9udFdlaWdodCA9IChmb250U3R5bGUpID0+IHtcbiAgICBjb25zdCBwYXJ0cyA9IGZvbnRTdHlsZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCcgJyk7XG4gICAgbGV0IHdlaWdodCA9IHBhcnRzWzBdO1xuICAgIC8vIG1lcmdlIGlmIHNwYWNlIGFmdGVyIGV4dHJhXG4gICAgaWYgKFsnZXh0cmEnLCAndWx0cmEnLCAnc2VtaScsICdkZW1pJ10uaW5jbHVkZXMocGFydHNbMF0pICYmIFsnYm9sZCcsICdsaWdodCddLmluY2x1ZGVzKHBhcnRzWzFdKSkge1xuICAgICAgICB3ZWlnaHQgPSBgJHtwYXJ0c1swXX0ke3BhcnRzWzFdfWA7XG4gICAgfVxuICAgIHJldHVybiBmb250V2VpZ2h0c1t3ZWlnaHRdIHx8IDQwMDtcbn07XG5jb25zdCBwYXJzZUZvbnRTdHJldGNoID0gKGZvbnRTdHlsZSkgPT4ge1xuICAgIGNvbnN0IHBhcnRzID0gZm9udFN0eWxlLnRvTG93ZXJDYXNlKCkuc3BsaXQoJyAnKTtcbiAgICByZXR1cm4gZm9udFN0cmV0Y2hbcGFydHNbcGFydHMubGVuZ3RoIC0gMV1dIHx8IGZvbnRTdHJldGNoW3BhcnRzW3BhcnRzLmxlbmd0aCAtIDJdXSB8fCAnbm9ybWFsJztcbn07XG5jb25zdCBwYXJzZUZvbnRTdHlsZSA9IChmb250U3R5bGUpID0+IHtcbiAgICBjb25zdCBwYXJ0ID0gZm9udFN0eWxlLnRvTG93ZXJDYXNlKCkuc3BsaXQoJyAnKS5wb3AoKTtcbiAgICByZXR1cm4gZm9udFN0eWxlc1twYXJ0XSB8fCAnbm9ybWFsJztcbn07XG5jb25zdCBleHRyYWN0Rm9udHMgPSAodG9rZW5Ob2RlcywgcHJlZml4QXJyYXkpID0+IHtcbiAgICAvLyBnZXQgcmF3IHRleHQgc3R5bGVzXG4gICAgcmV0dXJuIHRva2VuTm9kZXMubWFwKG5vZGUgPT4gKHtcbiAgICAgICAgbmFtZTogYCR7cHJlZml4QXJyYXlbMF19LyR7bm9kZS5uYW1lfWAsXG4gICAgICAgIGNhdGVnb3J5OiAnZm9udCcsXG4gICAgICAgIGV4cG9ydEtleTogdG9rZW5UeXBlcy5mb250LmtleSxcbiAgICAgICAgZGVzY3JpcHRpb246IG5vZGUuZGVzY3JpcHRpb24gfHwgdW5kZWZpbmVkLFxuICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgIGZvbnRTaXplOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IG5vZGUuZm9udFNpemUsXG4gICAgICAgICAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRleHREZWNvcmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHRleHREZWNvcmF0aW9uc1tub2RlLnRleHREZWNvcmF0aW9uXSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogbm9kZS5mb250TmFtZS5mYW1pbHksXG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmb250V2VpZ2h0OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHBhcnNlRm9udFdlaWdodChub2RlLmZvbnROYW1lLnN0eWxlKSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvbnRTdHlsZToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBwYXJzZUZvbnRTdHlsZShub2RlLmZvbnROYW1lLnN0eWxlKSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvbnRTdHJldGNoOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHBhcnNlRm9udFN0cmV0Y2gobm9kZS5mb250TmFtZS5zdHlsZSksXG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfZm9udFN0eWxlT2xkOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IG5vZGUuZm9udE5hbWUuc3R5bGUsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHJvdW5kV2l0aERlY2ltYWxzKG5vZGUubGV0dGVyU3BhY2luZy52YWx1ZSksXG4gICAgICAgICAgICAgICAgdW5pdDogbm9kZS5sZXR0ZXJTcGFjaW5nLnVuaXQudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxpbmVIZWlnaHQ6IHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJvdW5kV2l0aERlY2ltYWxzKG5vZGUubGluZUhlaWdodC52YWx1ZSkgfHwgJ25vcm1hbCcsXG4gICAgICAgICAgICAgICAgdW5pdDogbm9kZS5saW5lSGVpZ2h0LnVuaXQudG9Mb3dlckNhc2UoKSA9PT0gJ3BpeGVscycgPyAncGl4ZWwnIDogbm9kZS5saW5lSGVpZ2h0LnVuaXQudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICAgICAgICB0eXBlOiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG5vZGUubGluZUhlaWdodCwgJ3ZhbHVlJykgPyAnbnVtYmVyJyA6ICdzdHJpbmcnKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhcmFncmFwaEluZGVudDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBub2RlLnBhcmFncmFwaEluZGVudCxcbiAgICAgICAgICAgICAgICB1bml0OiAncGl4ZWwnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGFyYWdyYXBoU3BhY2luZzoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBub2RlLnBhcmFncmFwaFNwYWNpbmcsXG4gICAgICAgICAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRleHRDYXNlOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHRleHRDYXNlc1tub2RlLnRleHRDYXNlXSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IGV4dHJhY3RGb250cztcbiIsImltcG9ydCB7IHRva2VuVHlwZXMgfSBmcm9tICdAY29uZmlnL3Rva2VuVHlwZXMnO1xuY29uc3QgZ3JpZFZhbHVlcyA9IChncmlkKSA9PiAoe1xuICAgIHBhdHRlcm46IHtcbiAgICAgICAgdmFsdWU6IGdyaWQucGF0dGVybi50b0xvd2VyQ2FzZSgpLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xuICAgIH0sXG4gICAgc2VjdGlvblNpemU6IHtcbiAgICAgICAgdmFsdWU6IGdyaWQuc2VjdGlvblNpemUsXG4gICAgICAgIHVuaXQ6ICdwaXhlbCcsXG4gICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgfVxufSk7XG5jb25zdCBnZXRDb3VudCA9IGNvdW50ID0+IHtcbiAgICBpZiAoY291bnQgPT09IEluZmluaXR5KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTogJ2F1dG8nLFxuICAgICAgICAgICAgdHlwZTogJ3N0cmluZydcbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWU6IGNvdW50LFxuICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgIH07XG59O1xuY29uc3Qgcm93Q29sdW1uVmFsdWVzID0gKGdyaWQpID0+IChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7IHBhdHRlcm46IHtcbiAgICAgICAgdmFsdWU6IGdyaWQucGF0dGVybi50b0xvd2VyQ2FzZSgpLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJ1xuICAgIH0gfSwgKGdyaWQuc2VjdGlvblNpemUgIT09IHVuZGVmaW5lZCAmJiB7XG4gICAgc2VjdGlvblNpemU6IHtcbiAgICAgICAgdmFsdWU6IGdyaWQuc2VjdGlvblNpemUsXG4gICAgICAgIHVuaXQ6ICdwaXhlbCcsXG4gICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgfVxufSkpLCB7IGd1dHRlclNpemU6IHtcbiAgICAgICAgdmFsdWU6IGdyaWQuZ3V0dGVyU2l6ZSxcbiAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgdHlwZTogJ251bWJlcidcbiAgICB9LCBhbGlnbm1lbnQ6IHtcbiAgICAgICAgdmFsdWU6IGdyaWQuYWxpZ25tZW50LnRvTG93ZXJDYXNlKCksXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnXG4gICAgfSwgY291bnQ6IGdldENvdW50KGdyaWQuY291bnQpIH0pLCAoZ3JpZC5vZmZzZXQgIT09IHVuZGVmaW5lZCAmJiB7XG4gICAgb2Zmc2V0OiB7XG4gICAgICAgIHZhbHVlOiBncmlkLm9mZnNldCxcbiAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgdHlwZTogJ251bWJlcidcbiAgICB9XG59KSkpO1xuY29uc3QgZXh0cmFjdEdyaWRzID0gKHRva2VuTm9kZXMsIHByZWZpeEFycmF5KSA9PiB7XG4gICAgLy8gZ2V0IGdyaWQgc3R5bGVzXG4gICAgcmV0dXJuIHRva2VuTm9kZXNcbiAgICAgICAgLy8gcmVtb3ZlIHRva2VucyB3aXRoIG5vIGdyaWRcbiAgICAgICAgLmZpbHRlcihub2RlID0+IG5vZGUubGF5b3V0R3JpZHMubGVuZ3RoID4gMClcbiAgICAgICAgLy8gYnVpbGRcbiAgICAgICAgLm1hcChub2RlID0+ICh7XG4gICAgICAgIG5hbWU6IGAke3ByZWZpeEFycmF5WzBdfS8ke25vZGUubmFtZX1gLFxuICAgICAgICBjYXRlZ29yeTogJ2dyaWQnLFxuICAgICAgICBleHBvcnRLZXk6IHRva2VuVHlwZXMuZ3JpZC5rZXksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBub2RlLmRlc2NyaXB0aW9uIHx8IG51bGwsXG4gICAgICAgIHZhbHVlczogbm9kZS5sYXlvdXRHcmlkcy5tYXAoKGdyaWQpID0+IGdyaWQucGF0dGVybiA9PT0gJ0dSSUQnID8gZ3JpZFZhbHVlcyhncmlkKSA6IHJvd0NvbHVtblZhbHVlcyhncmlkKSlcbiAgICB9KSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgZXh0cmFjdEdyaWRzO1xuIiwiaW1wb3J0IHsgdG9rZW5UeXBlcyB9IGZyb20gJ0Bjb25maWcvdG9rZW5UeXBlcyc7XG5pbXBvcnQgeyBmaWx0ZXJCeVByZWZpeCB9IGZyb20gJy4vZXh0cmFjdFV0aWxpdGllcyc7XG5jb25zdCBkaXJlY3Rpb24gPSAodHJhbnNpdGlvbikgPT4ge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodHJhbnNpdGlvbiwgJ2RpcmVjdGlvbicpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkaXJlY3Rpb246IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogdHJhbnNpdGlvbi5kaXJlY3Rpb24udG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbn07XG5jb25zdCBlYXNpbmdzID0ge1xuICAgIENVU1RPTV9DVUJJQ19CRVpJRVI6IHt9LFxuICAgIExJTkVBUjoge1xuICAgICAgICB0eXBlOiAnbGluZWFyJyxcbiAgICAgICAgZWFzaW5nRnVuY3Rpb25DdWJpY0Jlemllcjoge1xuICAgICAgICAgICAgeDE6IDAsXG4gICAgICAgICAgICB5MTogMCxcbiAgICAgICAgICAgIHgyOiAxLFxuICAgICAgICAgICAgeTI6IDFcbiAgICAgICAgfVxuICAgIH0sXG4gICAgRUFTRV9JTjoge1xuICAgICAgICB0eXBlOiAnZWFzZS1pbicsXG4gICAgICAgIGVhc2luZ0Z1bmN0aW9uQ3ViaWNCZXppZXI6IHtcbiAgICAgICAgICAgIHgxOiAwLjQxOTk5OTk4Njg4Njk3ODE1LFxuICAgICAgICAgICAgeTE6IDAsXG4gICAgICAgICAgICB4MjogMSxcbiAgICAgICAgICAgIHkyOiAxXG4gICAgICAgIH1cbiAgICB9LFxuICAgIEVBU0VfT1VUOiB7XG4gICAgICAgIHR5cGU6ICdlYXNlLW91dCcsXG4gICAgICAgIGVhc2luZ0Z1bmN0aW9uQ3ViaWNCZXppZXI6IHtcbiAgICAgICAgICAgIHgxOiAwLFxuICAgICAgICAgICAgeTE6IDAsXG4gICAgICAgICAgICB4MjogMC41Nzk5OTk5ODMzMTA2OTk1LFxuICAgICAgICAgICAgeTI6IDFcbiAgICAgICAgfVxuICAgIH0sXG4gICAgRUFTRV9JTl9BTkRfT1VUOiB7XG4gICAgICAgIHR5cGU6ICdlYXNlLWluLW91dCcsXG4gICAgICAgIGVhc2luZ0Z1bmN0aW9uQ3ViaWNCZXppZXI6IHtcbiAgICAgICAgICAgIHgxOiAwLjQxOTk5OTk4Njg4Njk3ODE1LFxuICAgICAgICAgICAgeTE6IDAsXG4gICAgICAgICAgICB4MjogMC41Nzk5OTk5ODMzMTA2OTk1LFxuICAgICAgICAgICAgeTI6IDFcbiAgICAgICAgfVxuICAgIH0sXG4gICAgRUFTRV9JTl9CQUNLOiB7XG4gICAgICAgIHR5cGU6ICdlYXNlLWluLWJhY2snLFxuICAgICAgICBlYXNpbmdGdW5jdGlvbkN1YmljQmV6aWVyOiB7XG4gICAgICAgICAgICB4MTogMC4zMDAwMDAwMTE5MjA5Mjg5NixcbiAgICAgICAgICAgIHkxOiAtMC4wNTAwMDAwMDA3NDUwNTgwNixcbiAgICAgICAgICAgIHgyOiAwLjY5OTk5OTk4ODA3OTA3MSxcbiAgICAgICAgICAgIHkyOiAtMC41XG4gICAgICAgIH1cbiAgICB9LFxuICAgIEVBU0VfT1VUX0JBQ0s6IHtcbiAgICAgICAgdHlwZTogJ2Vhc2Utb3V0LWJhY2snLFxuICAgICAgICBlYXNpbmdGdW5jdGlvbkN1YmljQmV6aWVyOiB7XG4gICAgICAgICAgICB4MTogMC40NDk5OTk5ODgwNzkwNzEwNCxcbiAgICAgICAgICAgIHkxOiAxLjQ1MDAwMDA0NzY4MzcxNTgsXG4gICAgICAgICAgICB4MjogMC44MDAwMDAwMTE5MjA5MjksXG4gICAgICAgICAgICB5MjogMVxuICAgICAgICB9XG4gICAgfSxcbiAgICBFQVNFX0lOX0FORF9PVVRfQkFDSzoge1xuICAgICAgICB0eXBlOiAnZWFzZS1pbi1vdXQtYmFjaycsXG4gICAgICAgIGVhc2luZ0Z1bmN0aW9uQ3ViaWNCZXppZXI6IHtcbiAgICAgICAgICAgIHgxOiAwLjY5OTk5OTk4ODA3OTA3MSxcbiAgICAgICAgICAgIHkxOiAtMC40MDAwMDAwMDU5NjA0NjQ1LFxuICAgICAgICAgICAgeDI6IDAuNDAwMDAwMDA1OTYwNDY0NSxcbiAgICAgICAgICAgIHkyOiAxLjM5OTk5OTk3NjE1ODE0MlxuICAgICAgICB9XG4gICAgfVxufTtcbmNvbnN0IGVhc2luZyA9IChlYXNpbmcpID0+IHtcbiAgICAvLyBhYm9ydCBpZiBpbnZhbGlmIGVhc2luZyB0eXBlXG4gICAgaWYgKCEoJ3R5cGUnIGluIGVhc2luZykgfHwgZWFzaW5nc1tlYXNpbmcudHlwZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICAvLyByZXR1cm4gY3VzdG9tIGVhc2luZ1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoZWFzaW5nLnR5cGUgPT09ICdDVVNUT01fQ1VCSUNfQkVaSUVSJykge1xuICAgICAgICBlYXNpbmdzLkNVU1RPTV9DVUJJQ19CRVpJRVIgPSB7XG4gICAgICAgICAgICB0eXBlOiAnY3ViaWMtYmV6aWVyJyxcbiAgICAgICAgICAgIGVhc2luZ0Z1bmN0aW9uQ3ViaWNCZXppZXI6IHtcbiAgICAgICAgICAgICAgICB4MTogZWFzaW5nLmVhc2luZ0Z1bmN0aW9uQ3ViaWNCZXppZXIueDEsXG4gICAgICAgICAgICAgICAgeTE6IGVhc2luZy5lYXNpbmdGdW5jdGlvbkN1YmljQmV6aWVyLnkxLFxuICAgICAgICAgICAgICAgIHgyOiBlYXNpbmcuZWFzaW5nRnVuY3Rpb25DdWJpY0Jlemllci54MixcbiAgICAgICAgICAgICAgICB5MjogZWFzaW5nLmVhc2luZ0Z1bmN0aW9uQ3ViaWNCZXppZXIueTJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZWFzaW5nOiB7XG4gICAgICAgICAgICB2YWx1ZTogZWFzaW5nc1tlYXNpbmcudHlwZV0udHlwZSxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnXG4gICAgICAgIH0sXG4gICAgICAgIGVhc2luZ0Z1bmN0aW9uOiB7XG4gICAgICAgICAgICB4MToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBlYXNpbmdzW2Vhc2luZy50eXBlXS5lYXNpbmdGdW5jdGlvbkN1YmljQmV6aWVyLngxLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeDI6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogZWFzaW5nc1tlYXNpbmcudHlwZV0uZWFzaW5nRnVuY3Rpb25DdWJpY0Jlemllci54MixcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHkxOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGVhc2luZ3NbZWFzaW5nLnR5cGVdLmVhc2luZ0Z1bmN0aW9uQ3ViaWNCZXppZXIueTEsXG4gICAgICAgICAgICAgICAgdHlwZTogJ251bWJlcidcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB5Mjoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBlYXNpbmdzW2Vhc2luZy50eXBlXS5lYXNpbmdGdW5jdGlvbkN1YmljQmV6aWVyLnkyLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufTtcbmNvbnN0IGV4dHJhY3RNb3Rpb24gPSAodG9rZW5Ob2RlcywgcHJlZml4QXJyYXkpID0+IHtcbiAgICAvLyByZXR1cm4gYXMgb2JqZWN0XG4gICAgcmV0dXJuIHRva2VuTm9kZXMuZmlsdGVyKGZpbHRlckJ5UHJlZml4KHByZWZpeEFycmF5KSlcbiAgICAgICAgLy8gZmlsdGVyIHRvIG9ubHkgaW5jbHVkZSBpdGVtcyB3aGljaCBoYXZlIGEgdHJhbnNpdGlvbiBwcm9wZXJ0eVxuICAgICAgICAuZmlsdGVyKG5vZGUgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChub2RlLnJlYWN0aW9ucy5sZW5ndGggPiAwICYmICgoX2EgPSBub2RlLnJlYWN0aW9uc1swXS5hY3Rpb24pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50eXBlKSA9PT0gJ05PREUnICYmIG5vZGUucmVhY3Rpb25zWzBdLmFjdGlvbi50cmFuc2l0aW9uICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSlcbiAgICAgICAgLy8gcmV0cmlldmUgdmFsdWVzXG4gICAgICAgIC5tYXAoKG5vZGUpID0+ICh7XG4gICAgICAgIG5hbWU6IG5vZGUubmFtZSxcbiAgICAgICAgY2F0ZWdvcnk6ICdtb3Rpb24nLFxuICAgICAgICBleHBvcnRLZXk6IHRva2VuVHlwZXMubW90aW9uLmtleSxcbiAgICAgICAgZGVzY3JpcHRpb246IG5vZGUuZGVzY3JpcHRpb24gfHwgbnVsbCxcbiAgICAgICAgdmFsdWVzOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oeyB0eXBlOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IG5vZGUucmVhY3Rpb25zWzBdLmFjdGlvbi50cmFuc2l0aW9uLnR5cGUudG9Mb2NhbGVMb3dlckNhc2UoKSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJ1xuICAgICAgICAgICAgfSwgZHVyYXRpb246IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogTWF0aC5yb3VuZCgobm9kZS5yZWFjdGlvbnNbMF0uYWN0aW9uLnRyYW5zaXRpb24uZHVyYXRpb24gKyBOdW1iZXIuRVBTSUxPTikgKiAxMDAwKSAvIDEwMDAsXG4gICAgICAgICAgICAgICAgdW5pdDogJ3MnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgICAgICB9IH0sIGVhc2luZyhub2RlLnJlYWN0aW9uc1swXS5hY3Rpb24udHJhbnNpdGlvbi5lYXNpbmcpKSwgZGlyZWN0aW9uKG5vZGUucmVhY3Rpb25zWzBdLmFjdGlvbi50cmFuc2l0aW9uKSlcbiAgICB9KSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgZXh0cmFjdE1vdGlvbjtcbmV4cG9ydCBjb25zdCBfX3Rlc3RpbmcgPSB7XG4gICAgZWFzaW5nOiBlYXNpbmdcbn07XG4iLCJpbXBvcnQgeyB0b2tlblR5cGVzIH0gZnJvbSAnQGNvbmZpZy90b2tlblR5cGVzJztcbmltcG9ydCByb3VuZFdpdGhEZWNpbWFscyBmcm9tICcuLi91dGlsaXRpZXMvcm91bmRXaXRoRGVjaW1hbHMnO1xuaW1wb3J0IHsgZmlsdGVyQnlQcmVmaXggfSBmcm9tICcuL2V4dHJhY3RVdGlsaXRpZXMnO1xuY29uc3QgZXh0cmFjdFJhZGlpID0gKHRva2VuTm9kZXMsIHByZWZpeEFycmF5KSA9PiB7XG4gICAgLy8gZ2V0IHRoZSB0eXBlIG9mIHRoZSBjb3JuZXIgcmFkaXVzXG4gICAgY29uc3QgZ2V0UmFkaXVzVHlwZSA9IHJhZGl1cyA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgcmFkaXVzID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgcmV0dXJuICdzaW5nbGUnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnbWl4ZWQnO1xuICAgIH07XG4gICAgLy8gZ2V0IHRoZSBpbmRpdmlkdWFsIHJhZGlpXG4gICAgY29uc3QgZ2V0UmFkaWkgPSAobm9kZSkgPT4gKHtcbiAgICAgICAgdG9wTGVmdDoge1xuICAgICAgICAgICAgdmFsdWU6IG5vZGUudG9wTGVmdFJhZGl1cyB8fCAwLFxuICAgICAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgIH0sXG4gICAgICAgIHRvcFJpZ2h0OiB7XG4gICAgICAgICAgICB2YWx1ZTogbm9kZS50b3BSaWdodFJhZGl1cyB8fCAwLFxuICAgICAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgIH0sXG4gICAgICAgIGJvdHRvbVJpZ2h0OiB7XG4gICAgICAgICAgICB2YWx1ZTogbm9kZS5ib3R0b21SaWdodFJhZGl1cyB8fCAwLFxuICAgICAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgIH0sXG4gICAgICAgIGJvdHRvbUxlZnQ6IHtcbiAgICAgICAgICAgIHZhbHVlOiBub2RlLmJvdHRvbUxlZnRSYWRpdXMgfHwgMCxcbiAgICAgICAgICAgIHVuaXQ6ICdwaXhlbCcsXG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgLy8gcmV0dXJuIGFzIG9iamVjdFxuICAgIHJldHVybiB0b2tlbk5vZGVzLmZpbHRlcihmaWx0ZXJCeVByZWZpeChwcmVmaXhBcnJheSkpXG4gICAgICAgIC5tYXAobm9kZSA9PiAoe1xuICAgICAgICBuYW1lOiBub2RlLm5hbWUsXG4gICAgICAgIGNhdGVnb3J5OiAncmFkaXVzJyxcbiAgICAgICAgZXhwb3J0S2V5OiB0b2tlblR5cGVzLnJhZGl1cy5rZXksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBub2RlLmRlc2NyaXB0aW9uIHx8IG51bGwsXG4gICAgICAgIHZhbHVlczogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCAodHlwZW9mIG5vZGUuY29ybmVyUmFkaXVzID09PSAnbnVtYmVyJyAmJiB7XG4gICAgICAgICAgICByYWRpdXM6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogbm9kZS5jb3JuZXJSYWRpdXMsXG4gICAgICAgICAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSksIHsgcmFkaXVzVHlwZToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBnZXRSYWRpdXNUeXBlKG5vZGUuY29ybmVyUmFkaXVzKSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJ1xuICAgICAgICAgICAgfSwgcmFkaWk6IGdldFJhZGlpKG5vZGUpLCBzbW9vdGhpbmc6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogcm91bmRXaXRoRGVjaW1hbHMobm9kZS5jb3JuZXJTbW9vdGhpbmcsIDIpLFxuICAgICAgICAgICAgICAgIGNvbW1lbnQ6ICdQZXJjZW50IGFzIGRlY2ltYWwgZnJvbSAwLjAgLSAxLjAnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgICAgICB9IH0pXG4gICAgfSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IGV4dHJhY3RSYWRpaTtcbiIsImltcG9ydCB7IHRva2VuVHlwZXMgfSBmcm9tICdAY29uZmlnL3Rva2VuVHlwZXMnO1xuaW1wb3J0IHJvdW5kV2l0aERlY2ltYWxzIGZyb20gJy4uL3V0aWxpdGllcy9yb3VuZFdpdGhEZWNpbWFscyc7XG5pbXBvcnQgeyBmaWx0ZXJCeVByZWZpeCB9IGZyb20gJy4vZXh0cmFjdFV0aWxpdGllcyc7XG5jb25zdCBleHRyYWN0U2l6ZXMgPSAodG9rZW5Ob2RlcywgcHJlZml4QXJyYXkpID0+IHtcbiAgICAvLyByZXR1cm4gYXMgb2JqZWN0XG4gICAgcmV0dXJuIHRva2VuTm9kZXMuZmlsdGVyKGZpbHRlckJ5UHJlZml4KHByZWZpeEFycmF5KSkubWFwKG5vZGUgPT4gKHtcbiAgICAgICAgbmFtZTogbm9kZS5uYW1lLFxuICAgICAgICBjYXRlZ29yeTogJ3NpemUnLFxuICAgICAgICBleHBvcnRLZXk6IHRva2VuVHlwZXMuc2l6ZS5rZXksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBub2RlLmRlc2NyaXB0aW9uIHx8IG51bGwsXG4gICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgd2lkdGg6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogcm91bmRXaXRoRGVjaW1hbHMobm9kZS53aWR0aCwgMiksXG4gICAgICAgICAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGhlaWdodDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiByb3VuZFdpdGhEZWNpbWFscyhub2RlLmhlaWdodCwgMiksXG4gICAgICAgICAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IGV4dHJhY3RTaXplcztcbiIsImltcG9ydCB7IHRva2VuVHlwZXMgfSBmcm9tICdAY29uZmlnL3Rva2VuVHlwZXMnO1xuaW1wb3J0IHJvdW5kV2l0aERlY2ltYWxzIGZyb20gJy4uL3V0aWxpdGllcy9yb3VuZFdpdGhEZWNpbWFscyc7XG5pbXBvcnQgeyBmaWx0ZXJCeVByZWZpeCB9IGZyb20gJy4vZXh0cmFjdFV0aWxpdGllcyc7XG5jb25zdCBleHRyYWN0U3BhY2luZyA9ICh0b2tlbk5vZGVzLCBwcmVmaXhBcnJheSkgPT4ge1xuICAgIC8vIHJldHVybiBhcyBvYmplY3RcbiAgICByZXR1cm4gdG9rZW5Ob2Rlcy5maWx0ZXIoZmlsdGVyQnlQcmVmaXgocHJlZml4QXJyYXkpKVxuICAgICAgICAubWFwKG5vZGUgPT4gKHtcbiAgICAgICAgbmFtZTogbm9kZS5uYW1lLFxuICAgICAgICBjYXRlZ29yeTogJ3NwYWNpbmcnLFxuICAgICAgICBleHBvcnRLZXk6IHRva2VuVHlwZXMuc3BhY2luZy5rZXksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBub2RlLmRlc2NyaXB0aW9uIHx8IG51bGwsXG4gICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgdG9wOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHJvdW5kV2l0aERlY2ltYWxzKG5vZGUucGFkZGluZ1RvcCwgMiksXG4gICAgICAgICAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJpZ2h0OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHJvdW5kV2l0aERlY2ltYWxzKG5vZGUucGFkZGluZ1JpZ2h0LCAyKSxcbiAgICAgICAgICAgICAgICB1bml0OiAncGl4ZWwnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYm90dG9tOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHJvdW5kV2l0aERlY2ltYWxzKG5vZGUucGFkZGluZ0JvdHRvbSwgMiksXG4gICAgICAgICAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxlZnQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogcm91bmRXaXRoRGVjaW1hbHMobm9kZS5wYWRkaW5nTGVmdCwgMiksXG4gICAgICAgICAgICAgICAgdW5pdDogJ3BpeGVsJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IGV4dHJhY3RTcGFjaW5nO1xuIiwiZXhwb3J0IGNvbnN0IGZpbHRlckJ5UHJlZml4ID0gKHByZWZpeEFycmF5KSA9PiBub2RlID0+IHtcbiAgICByZXR1cm4gcHJlZml4QXJyYXkuaW5jbHVkZXMobm9kZS5uYW1lLnN1YnN0cigwLCBub2RlLm5hbWUuaW5kZXhPZignLycpKS5yZXBsYWNlKC9cXHMrL2csICcnKSk7XG59O1xuIiwidmFyIF9fYXdhaXRlciA9ICh0aGlzICYmIHRoaXMuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG5pbXBvcnQgeyBnZXRTZXR0aW5ncywgcmVzZXRTZXR0aW5ncywgc2V0U2V0dGluZ3MgfSBmcm9tICcuL3V0aWxpdGllcy9zZXR0aW5ncyc7XG5pbXBvcnQgeyBnZXRBY2Nlc3NUb2tlbiwgc2V0QWNjZXNzVG9rZW4gfSBmcm9tICcuL3V0aWxpdGllcy9hY2Nlc3NUb2tlbic7XG5pbXBvcnQgY29uZmlnIGZyb20gJ0Bjb25maWcvY29uZmlnJztcbmltcG9ydCB7IGNvbW1hbmRzIH0gZnJvbSAnQGNvbmZpZy9jb21tYW5kcyc7XG5pbXBvcnQgZ2V0VmVyc2lvbkRpZmZlcmVuY2UgZnJvbSAnLi91dGlsaXRpZXMvZ2V0VmVyc2lvbkRpZmZlcmVuY2UnO1xuaW1wb3J0IGdldEZpbGVJZCBmcm9tICcuL3V0aWxpdGllcy9nZXRGaWxlSWQnO1xuaW1wb3J0IHsgZXhwb3J0UmF3VG9rZW5BcnJheSB9IGZyb20gJy4vdXRpbGl0aWVzL2dldFRva2VuSnNvbic7XG5pbXBvcnQgeyBzdHJpbmdpZnlKc29uIH0gZnJvbSAnLi91dGlsaXRpZXMvc3RyaW5naWZ5SnNvbic7XG4vLyBpbml0aWF0ZSBVSVxuZmlnbWEuc2hvd1VJKF9faHRtbF9fLCB7XG4gICAgdmlzaWJsZTogZmFsc2Vcbn0pO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBvcGVuIFVJXG5pZiAoW2NvbW1hbmRzLmV4cG9ydCwgY29tbWFuZHMudXJsRXhwb3J0LCBjb21tYW5kcy5nZW5lcmFsU2V0dGluZ3NdLmluY2x1ZGVzKGZpZ21hLmNvbW1hbmQpKSB7XG4gICAgLy8gd3JhcCBpbiBmdW5jdGlvbiBiZWNhdXNlIG9mIGFzeW5jIGNsaWVudCBTdG9yYWdlXG4gICAgY29uc3Qgb3BlblVpID0gKCkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIC8vIEdldCB0aGUgdXNlciBzZXR0aW5nc1xuICAgICAgICBjb25zdCB1c2VyU2V0dGluZ3MgPSBnZXRTZXR0aW5ncygpO1xuICAgICAgICAvLyBnZXQgdGhlIGN1cnJlbnQgdmVyc2lvbiBkaWZmZXJlbmNlcyB0byB0aGUgbGFzdCB0aW1lIHRoZSBwbHVnaW4gd2FzIG9wZW5lZFxuICAgICAgICBjb25zdCB2ZXJzaW9uRGlmZmVyZW5jZSA9IHlpZWxkIGdldFZlcnNpb25EaWZmZXJlbmNlKGZpZ21hKTtcbiAgICAgICAgLy8gcmVzaXplIFVJIGlmIG5lZWRlZFxuICAgICAgICBmaWdtYS51aS5yZXNpemUoY29uZmlnLnVpW2ZpZ21hLmNvbW1hbmRdLndpZHRoLCBjb25maWcudWlbZmlnbWEuY29tbWFuZF0uaGVpZ2h0KTtcbiAgICAgICAgaWYgKHZlcnNpb25EaWZmZXJlbmNlICE9PSB1bmRlZmluZWQgJiYgdmVyc2lvbkRpZmZlcmVuY2UgIT09ICdwYXRjaCcpIHtcbiAgICAgICAgICAgIGZpZ21hLnVpLnJlc2l6ZShjb25maWcudWlbZmlnbWEuY29tbWFuZF0ud2lkdGgsIGNvbmZpZy51aVtmaWdtYS5jb21tYW5kXS5oZWlnaHQgKyA2MCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gd3JpdGUgdG9rZW5zIHRvIGpzb24gZmlsZVxuICAgICAgICBmaWdtYS51aS5wb3N0TWVzc2FnZSh7XG4gICAgICAgICAgICBjb21tYW5kOiBmaWdtYS5jb21tYW5kLFxuICAgICAgICAgICAgcGF5bG9hZDoge1xuICAgICAgICAgICAgICAgIHNldHRpbmdzOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHVzZXJTZXR0aW5ncyksIHsgYWNjZXNzVG9rZW46IHlpZWxkIGdldEFjY2Vzc1Rva2VuKGdldEZpbGVJZChmaWdtYSkpIH0pLFxuICAgICAgICAgICAgICAgIGRhdGE6IHN0cmluZ2lmeUpzb24oZXhwb3J0UmF3VG9rZW5BcnJheShmaWdtYSwgdXNlclNldHRpbmdzKSksXG4gICAgICAgICAgICAgICAgdmVyc2lvbkRpZmZlcmVuY2U6IHZlcnNpb25EaWZmZXJlbmNlLFxuICAgICAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lOiBmaWdtYS5yb290Lm5hbWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyByZWdpc3RlciB0aGUgc2V0dGluZ3MgVUlcbiAgICAgICAgZmlnbWEudWkuc2hvdygpO1xuICAgIH0pO1xuICAgIC8vIHJ1biBmdW5jdGlvblxuICAgIG9wZW5VaSgpO1xufVxuLyoqXG4gKiBPcGVuIEhlbHBcbiAqIE9wZW4gZ2l0aHViIGhlbHAgcGFnZVxuICovXG5pZiAoZmlnbWEuY29tbWFuZCA9PT0gY29tbWFuZHMuaGVscCkge1xuICAgIGZpZ21hLnVpLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgY29tbWFuZDogY29tbWFuZHMuaGVscFxuICAgIH0pO1xufVxuLyoqXG4gKiBPcGVuIERlbW8gRmlsZVxuICovXG5pZiAoZmlnbWEuY29tbWFuZCA9PT0gY29tbWFuZHMuZGVtbykge1xuICAgIGZpZ21hLnVpLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgY29tbWFuZDogY29tbWFuZHMuZGVtb1xuICAgIH0pO1xufVxuLyoqXG4gKiBPcGVuIERlbW8gRmlsZVxuICovXG5pZiAoZmlnbWEuY29tbWFuZCA9PT0gY29tbWFuZHMucmVzZXQpIHtcbiAgICByZXNldFNldHRpbmdzKCk7XG4gICAgLy8gc2VtZCBtZXNzYWdlXG4gICAgZmlnbWEubm90aWZ5KCfimpnvuI8gU2V0dGluZ3MgaGF2ZSBiZWVuIHJlc2V0LicpO1xuICAgIGZpZ21hLmNsb3NlUGx1Z2luKCk7XG59XG4vKipcbiAqIFJlYWN0IHRvIG1lc3NhZ2VzXG4gKi9cbmZpZ21hLnVpLm9ubWVzc2FnZSA9IChtZXNzYWdlKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICBjb25zdCB7IGNvbW1hbmQsIHBheWxvYWQgfSA9IG1lc3NhZ2U7XG4gICAgLyoqXG4gICAgICogb24gY2xvc2VQbHVnaW5cbiAgICAgKiBjbG9zZSBwbHVnaW4gYW5kIHNob3cgbm90aWZpY2F0aW9uIGlmIGF2YWlsYWJsZVxuICAgICAqL1xuICAgIGlmIChjb21tYW5kID09PSBjb21tYW5kcy5jbG9zZVBsdWdpbikge1xuICAgICAgICAvLyBzaG93IG5vdGlmaWNhdGlvbiBpZiBzZW5kXG4gICAgICAgIGlmICgocGF5bG9hZCA9PT0gbnVsbCB8fCBwYXlsb2FkID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXlsb2FkLm5vdGlmaWNhdGlvbikgIT09IHVuZGVmaW5lZCAmJiAocGF5bG9hZCA9PT0gbnVsbCB8fCBwYXlsb2FkID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwYXlsb2FkLm5vdGlmaWNhdGlvbikgIT09ICcnKSB7XG4gICAgICAgICAgICBmaWdtYS5ub3RpZnkocGF5bG9hZC5ub3RpZmljYXRpb24pO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNsb3NlIHBsdWdpblxuICAgICAgICBmaWdtYS51aS5oaWRlKCk7XG4gICAgICAgIGZpZ21hLmNsb3NlUGx1Z2luKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIG9uIHNhdmVTZXR0aW5nc1xuICAgICAqIHNhdmUgc2V0dGluZ3MsIGFjY2VzcyB0b2tlbiBhbmQgY2xvc2UgcGx1Z2luXG4gICAgICovXG4gICAgaWYgKGNvbW1hbmQgPT09IGNvbW1hbmRzLnNhdmVTZXR0aW5ncykge1xuICAgICAgICAvLyBzdG9yZSBzZXR0aW5nc1xuICAgICAgICBzZXRTZXR0aW5ncyhwYXlsb2FkLnNldHRpbmdzKTtcbiAgICAgICAgLy8gYWNjZXNzVG9rZW5cbiAgICAgICAgeWllbGQgc2V0QWNjZXNzVG9rZW4oZ2V0RmlsZUlkKGZpZ21hKSwgcGF5bG9hZC5hY2Nlc3NUb2tlbik7XG4gICAgICAgIC8vIGNsb3NlIHBsdWdpblxuICAgICAgICBpZiAocGF5bG9hZC5jbG9zZVBsdWdpbiAmJiBwYXlsb2FkLmNsb3NlUGx1Z2luID09PSB0cnVlKSB7XG4gICAgICAgICAgICBmaWdtYS5jbG9zZVBsdWdpbigpO1xuICAgICAgICB9XG4gICAgfVxufSk7XG4iLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbi8qKlxuICogQG5hbWUgZ2V0QWNjZXNzVG9rZW5cbiAqIEBkZXNjcmlwdGlvbiByZXR1cm5zIHRoZSBhY2Nlc3MgdG9rZW4gZm9yIHRoZSBjdXJyZW50IGZpbGUgb3IgdW5kZWZpbmVkXG4gKiBAcGFyYW0gZmlsZUlkIHtzdHJpbmd9IOKAlCBJRCBvZiB0aGUgY3VycmVudCBmaWxlXG4gKi9cbmNvbnN0IGdldEFjY2Vzc1Rva2VuID0gKGZpbGVJZCkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgLy8gZ2V0IGFsbCBhY2Nlc3MgdG9rZW5zXG4gICAgY29uc3QgYWNjZXNzVG9rZW5zID0geWllbGQgZmlnbWEuY2xpZW50U3RvcmFnZS5nZXRBc3luYygnYWNjZXNzVG9rZW5zJyk7XG4gICAgLy8gaWYgYWNjZXNzIHRva2VucyBvYmplY3QgaXMgcHJlc2VudFxuICAgIGlmIChhY2Nlc3NUb2tlbnMgIT09IHVuZGVmaW5lZCAmJiBhY2Nlc3NUb2tlbnMgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgLy8gcmV0cmlldmUgdGhlIGFjY2VzcyB0b2tlbiBmcm9tIHRoZSBjYWNoZVxuICAgICAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IGFjY2Vzc1Rva2Vuc1tmaWxlSWRdO1xuICAgICAgICAvLyByZXR1cm4gdGhlIGFjY2VzcyB0b2tlbiBvciBhbiBlbXB0eSBzdHJpbmdcbiAgICAgICAgcmV0dXJuIGFjY2Vzc1Rva2VuIHx8ICcnO1xuICAgIH1cbiAgICAvLyByZXR1cm4gZW1wdHkgc3RyaW5nIGlmIG5vIHRva2VuIGlzIHN0b3JlZFxuICAgIHJldHVybiAnJztcbn0pO1xuLyoqXG4gKiBAbmFtZSBzZXRBY2Nlc3NUb2tlblxuICogQGRlc2NyaXB0aW9uIHN0b3JlIHRoZSBhY2Nlc3MgdG9rZW4gZm9yIHRoZSBjdXJyZW50IGZpdmVuIGZpbGUgaW4gdGhlIHVzZXIgY2xpZW50U3RvcmFnZVxuICogQHBhcmFtIGZpbGVJZCB7c3RyaW5nfSDigJQgSUQgb2YgdGhlIGN1cnJlbnQgZmlsZVxuICogQHBhcmFtIGZpbGVJZCB7c3RyaW5nfSDigJQgYWNjZXNzIHRva2VuXG4gKi9cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5jb25zdCBzZXRBY2Nlc3NUb2tlbiA9IChmaWxlSWQsIGFjY2Vzc1Rva2VuKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAvLyBnZXQgdGhlIGFjY2VzcyB0b2tlbiBvYmplY3RcbiAgICBjb25zdCBhY2Nlc3NUb2tlbnMgPSAoeWllbGQgZmlnbWEuY2xpZW50U3RvcmFnZS5nZXRBc3luYygnYWNjZXNzVG9rZW5zJykpIHx8IHt9O1xuICAgIC8vIG1lcmdlIHRva2Vuc1xuICAgIGNvbnN0IG1lcmdlZFRva2VucyA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgYWNjZXNzVG9rZW5zKSwgeyBbZmlsZUlkXTogYWNjZXNzVG9rZW4gfSk7XG4gICAgLy8gbWVyZ2UgdGhlIG5ldyB0b2tlbiBpbnRvIHRoZSBvYmplY3RcbiAgICByZXR1cm4geWllbGQgZmlnbWEuY2xpZW50U3RvcmFnZS5zZXRBc3luYygnYWNjZXNzVG9rZW5zJywgbWVyZ2VkVG9rZW5zKTtcbn0pO1xuZXhwb3J0IHsgZ2V0QWNjZXNzVG9rZW4sIHNldEFjY2Vzc1Rva2VuIH07XG4iLCJpbXBvcnQgZmlsdGVyQnlQcm9wZXJ0eU5hbWUgZnJvbSAnLi9maWx0ZXJCeU5hbWVQcm9wZXJ0eSc7XG5pbXBvcnQgZ2V0UGFpbnRTdHlsZXMgZnJvbSAnLi9nZXRQYWludFN0eWxlcyc7XG5pbXBvcnQgZ2V0R3JpZFN0eWxlcyBmcm9tICcuL2dldEdyaWRTdHlsZXMnO1xuaW1wb3J0IGdldFRva2VuTm9kZXMgZnJvbSAnLi9nZXRUb2tlbk5vZGVzJztcbmltcG9ydCBnZXRUZXh0U3R5bGVzIGZyb20gJy4vZ2V0VGV4dFN0eWxlcyc7XG5pbXBvcnQgZ2V0RWZmZWN0U3R5bGVzIGZyb20gJy4vZ2V0RWZmZWN0U3R5bGVzJztcbi8qKlxuICogQGZ1bmN0aW9uIGJ1aWxkRmlnbWFEYXRhIOKAkyByZXR1cm4gYW4gb2JqZWN0IHdpdGggYWxsIHN0eWxlcyAmIGZyYW1lIHRvIHVzZSBmb3IgZXhwb3J0XG4gKiBAcGFyYW0ge1BsdWdpbkFQSX0gZmlnbWEg4oCUIHRoZSBmaWdtYSBQbHVnaW5BUEkgb2JqZWN0XG4gKiBAcGFyYW0gb3B0aW9ucyDigJMgb3B0aW9ucyBvYmplY3RcbiAqL1xuY29uc3QgYnVpbGRGaWdtYURhdGEgPSAoZmlnbWEsIHNldHRpbmdzKSA9PiB7XG4gICAgLy8gdXNlIHNwcmVhZCBvcGVyYXRvciBiZWNhdXNlIHRoZSBvcmlnaW5hbCBpcyByZWFkT25seVxuICAgIGNvbnN0IHRva2VuRnJhbWVzID0gZ2V0VG9rZW5Ob2RlcyhbLi4uZmlnbWEucm9vdC5jaGlsZHJlbl0pO1xuICAgIC8vIGdldCB1c2VyIGV4Y2x1c2lvbiBwcmVmaXhlc1xuICAgIGNvbnN0IHVzZXJFeGNsdXNpb25QcmVmaXhlcyA9IHNldHRpbmdzLmV4Y2x1c2lvblByZWZpeC5zcGxpdCgnLCcpLm1hcChpdGVtID0+IGl0ZW0ucmVwbGFjZSgvXFxzKy9nLCAnJykpO1xuICAgIC8vIGdldCBkYXRhIGZyb20gZmlnbWFcbiAgICByZXR1cm4ge1xuICAgICAgICB0b2tlbkZyYW1lczogdG9rZW5GcmFtZXMsXG4gICAgICAgIHBhaW50U3R5bGVzOiBnZXRQYWludFN0eWxlcyhmaWdtYS5nZXRMb2NhbFBhaW50U3R5bGVzKCkpLmZpbHRlcihpdGVtID0+IGZpbHRlckJ5UHJvcGVydHlOYW1lKGl0ZW0sIHVzZXJFeGNsdXNpb25QcmVmaXhlcykpLFxuICAgICAgICBncmlkU3R5bGVzOiBnZXRHcmlkU3R5bGVzKGZpZ21hLmdldExvY2FsR3JpZFN0eWxlcygpKS5maWx0ZXIoaXRlbSA9PiBmaWx0ZXJCeVByb3BlcnR5TmFtZShpdGVtLCB1c2VyRXhjbHVzaW9uUHJlZml4ZXMpKSxcbiAgICAgICAgdGV4dFN0eWxlczogZ2V0VGV4dFN0eWxlcyhmaWdtYS5nZXRMb2NhbFRleHRTdHlsZXMoKSkuZmlsdGVyKGl0ZW0gPT4gZmlsdGVyQnlQcm9wZXJ0eU5hbWUoaXRlbSwgdXNlckV4Y2x1c2lvblByZWZpeGVzKSksXG4gICAgICAgIGVmZmVjdFN0eWxlczogZ2V0RWZmZWN0U3R5bGVzKGZpZ21hLmdldExvY2FsRWZmZWN0U3R5bGVzKCkpLmZpbHRlcihpdGVtID0+IGZpbHRlckJ5UHJvcGVydHlOYW1lKGl0ZW0sIHVzZXJFeGNsdXNpb25QcmVmaXhlcykpXG4gICAgfTtcbn07XG5leHBvcnQgZGVmYXVsdCBidWlsZEZpZ21hRGF0YTtcbiIsImltcG9ydCByb3VuZFdpdGhEZWNpbWFscyBmcm9tICcuL3JvdW5kV2l0aERlY2ltYWxzJztcbmV4cG9ydCBjb25zdCByb3VuZFJnYmEgPSAocmdiYSwgb3BhY2l0eSkgPT4gKHtcbiAgICByOiByb3VuZFdpdGhEZWNpbWFscyhyZ2JhLnIgKiAyNTUsIDApLFxuICAgIGc6IHJvdW5kV2l0aERlY2ltYWxzKHJnYmEuZyAqIDI1NSwgMCksXG4gICAgYjogcm91bmRXaXRoRGVjaW1hbHMocmdiYS5iICogMjU1LCAwKSxcbiAgICBhOiByb3VuZFdpdGhEZWNpbWFscyhvcGFjaXR5IHx8IHJnYmEuYSB8fCAxKVxufSk7XG5leHBvcnQgY29uc3QgY29udmVydFBhaW50VG9SZ2JhID0gKHBhaW50KSA9PiB7XG4gICAgaWYgKHBhaW50LnR5cGUgPT09ICdTT0xJRCcgJiYgcGFpbnQudmlzaWJsZSA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gcm91bmRSZ2JhKHBhaW50LmNvbG9yLCAocGFpbnQub3BhY2l0eSB8fCBudWxsKSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcbmV4cG9ydCBjb25zdCBjb252ZXJ0UmdiYU9iamVjdFRvU3RyaW5nID0gKHJnYmFPYmplY3QpID0+IGByZ2JhKCR7cmdiYU9iamVjdC5yfSwgJHtyZ2JhT2JqZWN0Lmd9LCAke3JnYmFPYmplY3QuYn0sICR7cmdiYU9iamVjdC5hfSlgO1xuIiwiaW1wb3J0IHsgY29udmVydFBhaW50VG9SZ2JhIH0gZnJvbSAnLi9jb252ZXJ0Q29sb3InO1xuLyoqXG4gKiBSZXR1cm4gYW4gYXJyYXkgb2Ygc29saWQgc3Ryb2tlIGNvbG9yc1xuICovXG5jb25zdCBnZXRTb2xpZFN0cm9rZXMgPSAocGFpbnRzKSA9PiB7XG4gICAgLy8gY2xvbmUgd2l0aG91dCByZWZlcmVuY2VcbiAgICByZXR1cm4gWy4uLnBhaW50c11cbiAgICAgICAgLm1hcChwYWludCA9PiBjb252ZXJ0UGFpbnRUb1JnYmEocGFpbnQpKVxuICAgICAgICAuZmlsdGVyKHBhaW50ID0+IHBhaW50ICE9IG51bGwpO1xufTtcbi8qKlxuICogZXh0cmFjdFRva2VuTm9kZVZhbHVlc1xuICogQHBhcmFtIG5vZGU6IFNjZW5lTm9kZVxuICogQHJldHVybnMgbm9kZSBvYmplY3RcbiAqL1xuY29uc3QgZXh0cmFjdFRva2VuTm9kZVZhbHVlcyA9IChub2RlKSA9PiAoe1xuICAgIG5hbWU6IG5vZGUubmFtZSxcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgZGVzY3JpcHRpb246IG5vZGUuZGVzY3JpcHRpb24gfHwgdW5kZWZpbmVkLFxuICAgIGJvdHRvbUxlZnRSYWRpdXM6IG5vZGUuYm90dG9tTGVmdFJhZGl1cyxcbiAgICBib3R0b21SaWdodFJhZGl1czogbm9kZS5ib3R0b21SaWdodFJhZGl1cyxcbiAgICB0b3BMZWZ0UmFkaXVzOiBub2RlLnRvcExlZnRSYWRpdXMsXG4gICAgdG9wUmlnaHRSYWRpdXM6IG5vZGUudG9wUmlnaHRSYWRpdXMsXG4gICAgY29ybmVyUmFkaXVzOiBub2RlLmNvcm5lclJhZGl1cyB8fCB1bmRlZmluZWQsXG4gICAgY29ybmVyU21vb3RoaW5nOiBub2RlLmNvcm5lclNtb290aGluZyxcbiAgICBzdHJva2VzOiBnZXRTb2xpZFN0cm9rZXMobm9kZS5zdHJva2VzKSxcbiAgICBzdHJva2VXZWlnaHQ6IG5vZGUuc3Ryb2tlV2VpZ2h0LFxuICAgIHN0cm9rZVN0eWxlSWQ6IG5vZGUuc3Ryb2tlU3R5bGVJZCxcbiAgICBzdHJva2VNaXRlckxpbWl0OiBub2RlLnN0cm9rZU1pdGVyTGltaXQsXG4gICAgc3Ryb2tlSm9pbjogbm9kZS5zdHJva2VKb2luLFxuICAgIHN0cm9rZUNhcDogbm9kZS5zdHJva2VDYXAsXG4gICAgZGFzaFBhdHRlcm46IG5vZGUuZGFzaFBhdHRlcm4sXG4gICAgc3Ryb2tlQWxpZ246IG5vZGUuc3Ryb2tlQWxpZ24sXG4gICAgd2lkdGg6IG5vZGUud2lkdGgsXG4gICAgaGVpZ2h0OiBub2RlLmhlaWdodCxcbiAgICByZWFjdGlvbnM6IG5vZGUucmVhY3Rpb25zIHx8IHVuZGVmaW5lZCxcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcGFkZGluZ1RvcDogbm9kZS5wYWRkaW5nVG9wIHx8IDAsXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHBhZGRpbmdSaWdodDogbm9kZS5wYWRkaW5nUmlnaHQgfHwgMCxcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcGFkZGluZ0JvdHRvbTogbm9kZS5wYWRkaW5nQm90dG9tIHx8IDAsXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHBhZGRpbmdMZWZ0OiBub2RlLnBhZGRpbmdMZWZ0IHx8IDBcbn0pO1xuZXhwb3J0IGRlZmF1bHQgZXh0cmFjdFRva2VuTm9kZVZhbHVlcztcbiIsImltcG9ydCBjb25maWcgZnJvbSAnQGNvbmZpZy9jb25maWcnO1xuY29uc3QgZXhjbHVzaW9uUHJlZml4ID0gKGV4Y2x1c2lvblByZWZpeFN0cmluZ3MpID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAgICAuLi5jb25maWcuZXhjbHVzaW9uUHJlZml4RGVmYXVsdCxcbiAgICAgICAgLi4uZXhjbHVzaW9uUHJlZml4U3RyaW5nc1xuICAgIF07XG59O1xuY29uc3QgZmlsdGVyQnlQcm9wZXJ0eU5hbWUgPSAob2JqZWN0LCBleGNsdXNpb25QcmVmaXhTdHJpbmdzKSA9PiAhZXhjbHVzaW9uUHJlZml4KGV4Y2x1c2lvblByZWZpeFN0cmluZ3MpLmluY2x1ZGVzKG9iamVjdC5uYW1lLnRyaW0oKS5zdWJzdHIoMCwgMSkpO1xuZXhwb3J0IGRlZmF1bHQgZmlsdGVyQnlQcm9wZXJ0eU5hbWU7XG4iLCIvKipcbiAqIEBmdW5jdGlvbiBnZXRFZmZlY3RTdHlsZXNcbiAqIEBwYXJhbSB7QXJyYXk8RWZmZWN0U3R5bGU+fSBzdHlsZXMg4oCTIHRoZSBlZmZlY3RTdHlsZSBmcm9tIHRoZSBmaWdtYSBmaWxlXG4gKi9cbmNvbnN0IGdldEVmZmVjdFN0eWxlcyA9IChzdHlsZXMpID0+IHtcbiAgICAvLyBpbml0IHN0eWxlQXJyYXlcbiAgICBjb25zdCBzdHlsZUFycmF5ID0gW107XG4gICAgLy8gbG9vcCB0aHJvdWdoIEZpZ21hIHN0eWxlcyBhbmQgYWRkIHRvIGFycmF5XG4gICAgc3R5bGVzLmZvckVhY2goc3R5bGUgPT4ge1xuICAgICAgICBzdHlsZUFycmF5LnB1c2goe1xuICAgICAgICAgICAgbmFtZTogc3R5bGUubmFtZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzdHlsZS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIGVmZmVjdHM6IHN0eWxlLmVmZmVjdHNcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgLy8gcmV0dXJuIGFycmF5XG4gICAgcmV0dXJuIHN0eWxlQXJyYXk7XG59O1xuZXhwb3J0IGRlZmF1bHQgZ2V0RWZmZWN0U3R5bGVzO1xuIiwiaW1wb3J0IGNvbmZpZyBmcm9tICdAY29uZmlnL2NvbmZpZyc7XG5jb25zdCBnZXRGaWxlSWQgPSAoZmlnbWEpID0+IHtcbiAgICBsZXQgZmlsZUlkID0gZmlnbWEucm9vdC5nZXRQbHVnaW5EYXRhKGNvbmZpZy5rZXkuZmlsZUlkKTtcbiAgICAvLyBzZXQgcGx1Z2luIGlkIGlmIGl0IGRvZXMgbm90IGV4aXN0XG4gICAgaWYgKGZpbGVJZCA9PT0gdW5kZWZpbmVkIHx8IGZpbGVJZCA9PT0gJycpIHtcbiAgICAgICAgZmlnbWEucm9vdC5zZXRQbHVnaW5EYXRhKGNvbmZpZy5rZXkuZmlsZUlkLCBmaWdtYS5yb290Lm5hbWUgKyAnICcgKyBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwMDAwKSk7XG4gICAgICAgIC8vIGdyYWIgZmlsZSBJRFxuICAgICAgICBmaWxlSWQgPSBmaWdtYS5yb290LmdldFBsdWdpbkRhdGEoY29uZmlnLmtleS5maWxlSWQpO1xuICAgIH1cbiAgICByZXR1cm4gZmlsZUlkO1xufTtcbmV4cG9ydCBkZWZhdWx0IGdldEZpbGVJZDtcbiIsIi8qKlxuICogQGZ1bmN0aW9uIGdldEdyaWRTdHlsZXNcbiAqIEBwYXJhbSB7QXJyYXl9IGdyaWRTdHlsZXMg4oCTIHRoZSBncmlkU3R5bGVzIGZyb20gdGhlIGZpZ21hIGZpbGVcbiAqL1xuY29uc3QgZ2V0R3JpZFN0eWxlcyA9IChzdHlsZXMpID0+IHtcbiAgICAvLyBpbml0IHN0eWxlQXJyYXlcbiAgICBjb25zdCBzdHlsZUFycmF5ID0gW107XG4gICAgLy8gbG9vcCB0aHJvdWdoIEZpZ21hIHN0eWxlcyBhbmQgYWRkIHRvIGFycmF5XG4gICAgc3R5bGVzLmZvckVhY2goc3R5bGUgPT4ge1xuICAgICAgICBzdHlsZUFycmF5LnB1c2goe1xuICAgICAgICAgICAgbmFtZTogc3R5bGUubmFtZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBzdHlsZS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIGxheW91dEdyaWRzOiBzdHlsZS5sYXlvdXRHcmlkc1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICAvLyByZXR1cm4gYXJyYXlcbiAgICByZXR1cm4gc3R5bGVBcnJheTtcbn07XG5leHBvcnQgZGVmYXVsdCBnZXRHcmlkU3R5bGVzO1xuIiwiLyoqXG4gKiBAZnVuY3Rpb24gZ2V0UGFpbnRTdHlsZXNcbiAqIEBwYXJhbSB7QXJyYXl9IHBhaW50U3R5bGVzIOKAkyB0aGUgcGFpbnRTdHlsZXMgZnJvbSB0aGUgZmlnbWEgZmlsZSAoc29tZWhvdyBzdGlsbCBjb25uZWN0ZWQpXG4gKi9cbmNvbnN0IGdldFBhaW50U3R5bGVzID0gKHN0eWxlcykgPT4ge1xuICAgIC8vIGluaXQgc3R5bGVBcnJheVxuICAgIGNvbnN0IHN0eWxlQXJyYXkgPSBbXTtcbiAgICAvLyBsb29wIHRocm91Z2ggRmlnbWEgc3R5bGVzIGFuZCBhZGQgdG8gYXJyYXlcbiAgICBzdHlsZXMuZm9yRWFjaChzdHlsZSA9PiB7XG4gICAgICAgIHN0eWxlQXJyYXkucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiBzdHlsZS5uYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IHN0eWxlLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgcGFpbnRzOiBzdHlsZS5wYWludHNcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgLy8gcmV0dXJuIGFycmF5XG4gICAgcmV0dXJuIHN0eWxlQXJyYXk7XG59O1xuZXhwb3J0IGRlZmF1bHQgZ2V0UGFpbnRTdHlsZXM7XG4iLCIvKipcbiAqIEBmdW5jdGlvbiBnZXRUZXh0U3R5bGVzXG4gKiBAcGFyYW0ge0FycmF5PFRleHRTdHlsZT59IHN0eWxlcyDigJMgdGhlIHBhaW50U3R5bGVzIGZyb20gdGhlIGZpZ21hIGZpbGUgKHNvbWVob3cgc3RpbGwgY29ubmVjdGVkKVxuICovXG5jb25zdCBnZXRUZXh0U3R5bGVzID0gKHN0eWxlcykgPT4ge1xuICAgIC8vIGluaXQgc3R5bGVBcnJheVxuICAgIGNvbnN0IHN0eWxlQXJyYXkgPSBbXTtcbiAgICAvLyBsb29wIHRocm91Z2ggRmlnbWEgc3R5bGVzIGFuZCBhZGQgdG8gYXJyYXlcbiAgICBzdHlsZXMuZm9yRWFjaChzdHlsZSA9PiB7XG4gICAgICAgIHN0eWxlQXJyYXkucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiBzdHlsZS5uYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IHN0eWxlLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgZm9udFNpemU6IHN0eWxlLmZvbnRTaXplLFxuICAgICAgICAgICAgdGV4dERlY29yYXRpb246IHN0eWxlLnRleHREZWNvcmF0aW9uLFxuICAgICAgICAgICAgZm9udE5hbWU6IHN0eWxlLmZvbnROYW1lLFxuICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogc3R5bGUubGV0dGVyU3BhY2luZyxcbiAgICAgICAgICAgIGxpbmVIZWlnaHQ6IHN0eWxlLmxpbmVIZWlnaHQsXG4gICAgICAgICAgICBwYXJhZ3JhcGhJbmRlbnQ6IHN0eWxlLnBhcmFncmFwaEluZGVudCxcbiAgICAgICAgICAgIHBhcmFncmFwaFNwYWNpbmc6IHN0eWxlLnBhcmFncmFwaFNwYWNpbmcsXG4gICAgICAgICAgICB0ZXh0Q2FzZTogc3R5bGUudGV4dENhc2VcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgLy8gcmV0dXJuIGFycmF5XG4gICAgcmV0dXJuIHN0eWxlQXJyYXk7XG59O1xuZXhwb3J0IGRlZmF1bHQgZ2V0VGV4dFN0eWxlcztcbiIsImltcG9ydCBleHRyYWN0Q29sb3JzIGZyb20gJy4uL2V4dHJhY3Rvci9leHRyYWN0Q29sb3JzJztcbmltcG9ydCBleHRyYWN0R3JpZHMgZnJvbSAnLi4vZXh0cmFjdG9yL2V4dHJhY3RHcmlkcyc7XG5pbXBvcnQgZXh0cmFjdEZvbnRzIGZyb20gJy4uL2V4dHJhY3Rvci9leHRyYWN0Rm9udHMnO1xuaW1wb3J0IGV4dHJhY3RFZmZlY3RzIGZyb20gJy4uL2V4dHJhY3Rvci9leHRyYWN0RWZmZWN0cyc7XG5pbXBvcnQgZXh0cmFjdE1vdGlvbiBmcm9tICcuLi9leHRyYWN0b3IvZXh0cmFjdE1vdGlvbic7XG5pbXBvcnQgZXh0cmFjdFNpemVzIGZyb20gJy4uL2V4dHJhY3Rvci9leHRyYWN0U2l6ZXMnO1xuaW1wb3J0IGV4dHJhY3RTcGFjaW5nIGZyb20gJy4uL2V4dHJhY3Rvci9leHRyYWN0U3BhY2luZyc7XG5pbXBvcnQgZXh0cmFjdEJvcmRlcnMgZnJvbSAnLi4vZXh0cmFjdG9yL2V4dHJhY3RCb3JkZXJzJztcbmltcG9ydCBleHRyYWN0UmFkaWkgZnJvbSAnLi4vZXh0cmFjdG9yL2V4dHJhY3RSYWRpaSc7XG5pbXBvcnQgZXh0cmFjdEJyZWFrcG9pbnRzIGZyb20gJy4uL2V4dHJhY3Rvci9leHRyYWN0QnJlYWtwb2ludHMnO1xuaW1wb3J0IGJ1aWxkRmlnbWFEYXRhIGZyb20gJy4vYnVpbGRGaWdtYURhdGEnO1xuY29uc3QgZ2V0UHJlZml4QXJyYXkgPSAocHJlZml4U3RyaW5nKSA9PiBwcmVmaXhTdHJpbmcuc3BsaXQoJywnKS5tYXAoaXRlbSA9PiBpdGVtLnJlcGxhY2UoL1xccysvZywgJycpKTtcbmV4cG9ydCBjb25zdCBleHBvcnRSYXdUb2tlbkFycmF5ID0gKGZpZ21hLCBzZXR0aW5ncykgPT4ge1xuICAgIGNvbnN0IGZpZ21hRGF0YSA9IGJ1aWxkRmlnbWFEYXRhKGZpZ21hLCBzZXR0aW5ncyk7XG4gICAgLy8gZ2V0IHRva2Vuc1xuICAgIHJldHVybiBbXG4gICAgICAgIC4uLmV4dHJhY3RTaXplcyhmaWdtYURhdGEudG9rZW5GcmFtZXMsIGdldFByZWZpeEFycmF5KHNldHRpbmdzLnByZWZpeC5zaXplKSksXG4gICAgICAgIC4uLmV4dHJhY3RCcmVha3BvaW50cyhmaWdtYURhdGEudG9rZW5GcmFtZXMsIGdldFByZWZpeEFycmF5KHNldHRpbmdzLnByZWZpeC5icmVha3BvaW50KSksXG4gICAgICAgIC4uLmV4dHJhY3RTcGFjaW5nKGZpZ21hRGF0YS50b2tlbkZyYW1lcywgZ2V0UHJlZml4QXJyYXkoc2V0dGluZ3MucHJlZml4LnNwYWNpbmcpKSxcbiAgICAgICAgLi4uZXh0cmFjdEJvcmRlcnMoZmlnbWFEYXRhLnRva2VuRnJhbWVzLCBnZXRQcmVmaXhBcnJheShzZXR0aW5ncy5wcmVmaXguYm9yZGVyKSksXG4gICAgICAgIC4uLmV4dHJhY3RSYWRpaShmaWdtYURhdGEudG9rZW5GcmFtZXMsIGdldFByZWZpeEFycmF5KHNldHRpbmdzLnByZWZpeC5yYWRpdXMpKSxcbiAgICAgICAgLi4uZXh0cmFjdE1vdGlvbihmaWdtYURhdGEudG9rZW5GcmFtZXMsIGdldFByZWZpeEFycmF5KHNldHRpbmdzLnByZWZpeC5tb3Rpb24pKSxcbiAgICAgICAgLi4uZXh0cmFjdENvbG9ycyhmaWdtYURhdGEucGFpbnRTdHlsZXMsIHsgY29sb3I6IGdldFByZWZpeEFycmF5KHNldHRpbmdzLnByZWZpeC5jb2xvciksIGdyYWRpZW50OiBnZXRQcmVmaXhBcnJheShzZXR0aW5ncy5wcmVmaXguZ3JhZGllbnQpIH0pLFxuICAgICAgICAuLi5leHRyYWN0R3JpZHMoZmlnbWFEYXRhLmdyaWRTdHlsZXMsIGdldFByZWZpeEFycmF5KHNldHRpbmdzLnByZWZpeC5ncmlkKSksXG4gICAgICAgIC4uLmV4dHJhY3RGb250cyhmaWdtYURhdGEudGV4dFN0eWxlcywgZ2V0UHJlZml4QXJyYXkoc2V0dGluZ3MucHJlZml4LmZvbnQpKSxcbiAgICAgICAgLi4uZXh0cmFjdEVmZmVjdHMoZmlnbWFEYXRhLmVmZmVjdFN0eWxlcywgZ2V0UHJlZml4QXJyYXkoc2V0dGluZ3MucHJlZml4LmVmZmVjdCkpXG4gICAgXTtcbn07XG4iLCJpbXBvcnQgZXh0cmFjdFRva2VuTm9kZVZhbHVlcyBmcm9tICcuL2V4dHJhY3RUb2tlbk5vZGVWYWx1ZXMnO1xuaW1wb3J0IGlzVG9rZW5Ob2RlIGZyb20gJy4vaXNUb2tlbk5vZGUnO1xuLy8gdGhlIG5hbWUgdGhhdCB0b2tlbiBmcmFtZXMgaGF2ZVxuY29uc3QgdG9rZW5GcmFtZU5hbWUgPSAnX3Rva2Vucyc7XG4vLyBjaGVjayBpZiBhIGZyYW1lIGlzIGEgX3Rva2VuIGZyYW1lXG5jb25zdCBpc1Rva2VuRnJhbWUgPSAobm9kZSkgPT4gbm9kZS50eXBlID09PSAnRlJBTUUnICYmIG5vZGUubmFtZS50cmltKCkudG9Mb3dlckNhc2UoKS5zdWJzdHIoMCwgdG9rZW5GcmFtZU5hbWUubGVuZ3RoKSA9PT0gdG9rZW5GcmFtZU5hbWU7XG4vLyByZXR1cm4gb25seSBub2RlcyB0aGF0IGFyZSBmcmFtZXNcbmNvbnN0IGdldEZyYW1lTm9kZXMgPSAobm9kZXMpID0+IFsuLi5ub2Rlcy5tYXAocGFnZSA9PiBwYWdlLmZpbmRDaGlsZHJlbihub2RlID0+IGlzVG9rZW5GcmFtZShub2RlKSkpLnJlZHVjZSgoZmxhdHRlbiwgYXJyKSA9PiBbLi4uZmxhdHRlbiwgLi4uYXJyXSldO1xuLyoqXG4gKiBnZXRWYXJpYW50TmFtZVxuICogY3JlYXRlcyB0aGUgdmFyaWFudCBuYW1lIG9mIHRoZSBwYXJlbnQgYW5kIGNoaWxkIG5hbWVcbiAqL1xuY29uc3QgZ2V0VmFyaWFudE5hbWUgPSAocGFyZW50TmFtZSwgY2hpbGROYW1lKSA9PiB7XG4gICAgLy8gc3BsaXQgaW50byBhcnJheVxuICAgIGNoaWxkTmFtZSA9IGNoaWxkTmFtZS5zcGxpdCgnLCcpXG4gICAgICAgIC8vIHJlbW92ZSBoaWRkZW4gbmFtZXNcbiAgICAgICAgLmZpbHRlcihwYXJ0ID0+ICFbJ18nLCAnLiddLmluY2x1ZGVzKHBhcnQudHJpbSgpLnN1YnN0cigwLCAxKSkpXG4gICAgICAgIC8vIGNsZWFudXAgbmFtZXMsIG9ubHkgcmV0dXJuIHZhbHVlIHBhcnRcbiAgICAgICAgLm1hcChwYXJ0ID0+IHBhcnQuc3BsaXQoJz0nKVsxXSlcbiAgICAgICAgLy8gY29tYmluZVxuICAgICAgICAuam9pbignLycpO1xuICAgIC8vIHJldHVybiBmdWxsIG5hbWVcbiAgICByZXR1cm4gYCR7cGFyZW50TmFtZX0vJHtjaGlsZE5hbWV9YDtcbn07XG4vKipcbiAqIFJldHVybnMgYWxsIGZyYW1lcyBmcm9tIHRoZSBmaWxlIHRoYXQgaGF2ZSBhIG5hbWUgdGhhdCBzdGFydHMgd2l0aCBfdG9rZW5zIG9yIHRoZSB1c2VyIGRlZmluZWQgdG9rZW4gc3BlY2lmaWVyXG4gKlxuICogQHBhcmFtIHBhZ2VzIFBhZ2VOb2Rlc1xuICovXG5jb25zdCBnZXRUb2tlbk5vZGVzID0gKHBhZ2VzKSA9PiB7XG4gICAgLy8gZ2V0IHRva2VuIGZyYW1lc1xuICAgIGNvbnN0IHRva2VuRnJhbWVzID0gZ2V0RnJhbWVOb2RlcyhwYWdlcyk7XG4gICAgLy8gZ2V0IGFsbCBjaGlsZHJlbiBvZiB0b2tlbiBmcmFtZXNcbiAgICByZXR1cm4gdG9rZW5GcmFtZXMubWFwKGZyYW1lID0+IGZyYW1lXG4gICAgICAgIC8vIGNoZWNrIGlmIGNoaWxkcmVuIGFyZSBvZiB2YWxpZGUgdHlwZXNcbiAgICAgICAgLmZpbmRBbGwoXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBub2RlID0+IGlzVG9rZW5Ob2RlKG5vZGUpKSlcbiAgICAgICAgLy8gbWVyZ2VzIGFsbCBjaGlsZHJlbiBpbnRvIG9uZSBhcnJheVxuICAgICAgICAucmVkdWNlKChmbGF0dGVuLCBhcnIpID0+IFsuLi5mbGF0dGVuLCAuLi5hcnJdLCBbXSlcbiAgICAgICAgLy8gdW5wYWNrIHZhcmlhbnRzICYgd2FybiBhYm91dCBkZXByZWNhdGVkIHR5cGVzXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ1JFQ1RBTkdMRScgfHwgaXRlbS50eXBlID09PSAnRlJBTUUnKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1BsZWFzZSB1c2Ugb25seSBtYWluIGNvbXBvbmVudHMgYW5kIHZhcmlhbnRzLCBvdGhlciB0eXBlcyBtYXkgYmUgZGVwcmVjYXRlZCBhcyB0b2tlbnMgaW4gdGhlIGZ1dHVyZScpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHVucGFjayB2YXJpYW50c1xuICAgICAgICBpZiAoaXRlbS50eXBlID09PSAnQ09NUE9ORU5UX1NFVCcpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IE5hbWUgaXMgb3ZlcndyaXRpbmcgcmVhbCBvYmplY3QgaW4gZmlnbWFcbiAgICAgICAgICAgIC8vIC0+IGNyZWF0ZSBjbG9uZSBhbmQgbW92ZSB0byBuZXcgYXJyYXkgdG8gcmV0dXJuXG4gICAgICAgICAgICByZXR1cm4gaXRlbS5jaGlsZHJlbi5tYXAoKGNoaWxkKSA9PiAoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBleHRyYWN0VG9rZW5Ob2RlVmFsdWVzKGNoaWxkKSksIHsgbmFtZTogZ2V0VmFyaWFudE5hbWUoaXRlbS5uYW1lLCBjaGlsZC5uYW1lKSB9KSkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHJldHVybiBub3JtYWwgaXRlbSBhcyBhcnJheSB0byB1bnBhY2sgbGF0ZXJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZXR1cm4gW2V4dHJhY3RUb2tlbk5vZGVWYWx1ZXMoaXRlbSldO1xuICAgIH0pXG4gICAgICAgIC8vIG1lcmdlcyB0aGUgdmFyaWFudCBjaGlsZHJlbiBpbnRvIG9uZSBhcnJheVxuICAgICAgICAucmVkdWNlKChmbGF0dGVuLCBhcnIpID0+IFsuLi5mbGF0dGVuLCAuLi5hcnJdLCBbXSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgZ2V0VG9rZW5Ob2RlcztcbmV4cG9ydCBjb25zdCBfX3Rlc3RpbmcgPSB7XG4gICAgaXNUb2tlbk5vZGU6IGlzVG9rZW5Ob2RlLFxuICAgIGlzVG9rZW5GcmFtZTogaXNUb2tlbkZyYW1lXG59O1xuIiwidmFyIF9fYXdhaXRlciA9ICh0aGlzICYmIHRoaXMuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG5pbXBvcnQgc2VtVmVyRGlmZmVyZW5jZSBmcm9tICcuL3NlbVZlckRpZmZlcmVuY2UnO1xuaW1wb3J0IGN1cnJlbnRWZXJzaW9uIGZyb20gJy4vdmVyc2lvbic7XG5pbXBvcnQgY29uZmlnIGZyb20gJ0Bjb25maWcvY29uZmlnJztcbmNvbnN0IGdldFZlcnNpb25EaWZmZXJlbmNlID0gKGZpZ21hKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAvLyBnZXQgdmVyc2lvbiAmIHZlcnNpb24gZGlmZmVyZW5jZVxuICAgIGNvbnN0IGxhc3RWZXJzaW9uU2V0dGluZ3NPcGVuZWQgPSB5aWVsZCBmaWdtYS5jbGllbnRTdG9yYWdlLmdldEFzeW5jKGNvbmZpZy5rZXkubGFzdFZlcnNpb25TZXR0aW5nc09wZW5lZCk7XG4gICAgY29uc3QgdmVyc2lvbkRpZmZlcmVuY2UgPSBzZW1WZXJEaWZmZXJlbmNlKGN1cnJlbnRWZXJzaW9uLCBsYXN0VmVyc2lvblNldHRpbmdzT3BlbmVkKTtcbiAgICAvLyB1cGRhdGUgdmVyc2lvblxuICAgIGlmICghbGFzdFZlcnNpb25TZXR0aW5nc09wZW5lZCB8fCBsYXN0VmVyc2lvblNldHRpbmdzT3BlbmVkICE9PSBjdXJyZW50VmVyc2lvbikge1xuICAgICAgICB5aWVsZCBmaWdtYS5jbGllbnRTdG9yYWdlLnNldEFzeW5jKGNvbmZpZy5rZXkubGFzdFZlcnNpb25TZXR0aW5nc09wZW5lZCwgY3VycmVudFZlcnNpb24pO1xuICAgIH1cbiAgICAvLyByZXR1cm4gdmVyc2lvbiBEaWZmZXJlbmNlXG4gICAgcmV0dXJuIHZlcnNpb25EaWZmZXJlbmNlO1xufSk7XG5leHBvcnQgZGVmYXVsdCBnZXRWZXJzaW9uRGlmZmVyZW5jZTtcbiIsIi8vIHRoZSBub2RlIHR5cGVzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHRva2Vuc1xuY29uc3QgdG9rZW5Ob2RlVHlwZXMgPSBbXG4gICAgJ0NPTVBPTkVOVCcsXG4gICAgJ0NPTVBPTkVOVF9TRVQnLFxuICAgICdSRUNUQU5HTEUnLFxuICAgICdGUkFNRSdcbl07XG4vKipcbiAqIGNoZWNrIGlmIGEgbm9kZSBpcyBhIHZhbGlkIHRva2VuIG5vZGUgdHlwZVxuICogQ3VycmVudGx5OiAnQ09NUE9ORU5UJywgJ0ZSQU1FIG9yICdSRUNUQU5HTEUnXG4gKiBAcGFyYW0gU2NlbmVOb2RlIG5vZGVcbiAqL1xuY29uc3QgaXNUb2tlbk5vZGUgPSAobm9kZSkgPT4ge1xuICAgIHJldHVybiBub2RlLnBhcmVudC50eXBlICE9PSAnQ09NUE9ORU5UX1NFVCcgJiYgdG9rZW5Ob2RlVHlwZXMuaW5jbHVkZXMobm9kZS50eXBlKTtcbn07XG5leHBvcnQgZGVmYXVsdCBpc1Rva2VuTm9kZTtcbiIsIi8qKlxuICogSWYgdGhlIHByb3ZpZGVkIHZhbHVlIGlzIGEgbnVtYmVyXG4gKiBpdCBpcyByb3VuZGVkIHRvIDMgZGVjaW1hbCBwb3NpdGlvbnNcbiAqIG90aGVyd2lzZSBpdCBpcyByZXR1cm5lZCBhcyBpc1xuICogQHBhcmFtIHZhbHVlIG51bWJlclxuICogQHBhcmFtIGRlY2ltYWxQbGFjZXMgaW50XG4gKi9cbmNvbnN0IHJvdW5kV2l0aERlY2ltYWxzID0gKHZhbHVlLCBkZWNpbWFsUGxhY2VzID0gMikgPT4ge1xuICAgIC8vIGV4aXQgaWYgdmFsdWUgaXMgdW5kZWZpbmVkXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBjaGVjayBmb3IgY29ycmVjdCBpbnB1dHNcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJyB8fCB0eXBlb2YgZGVjaW1hbFBsYWNlcyAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhcmFtZXRlcnMsIGJvdGggdmFsdWUgXCIke3ZhbHVlfVwiICgke3R5cGVvZiB2YWx1ZX0pIGFuZCBkZWNpbWFsUGxhY2VzIFwiJHtkZWNpbWFsUGxhY2VzfVwiICgke3R5cGVvZiBkZWNpbWFsUGxhY2VzfSkgbXVzdCBiZSBvZiB0eXBlIG51bWJlcmApO1xuICAgIH1cbiAgICAvLyBzZXQgZGVjaW1hbCBwbGFjZXNcbiAgICBjb25zdCBmYWN0b3JPZlRlbiA9IE1hdGgucG93KDEwLCBkZWNpbWFsUGxhY2VzKTtcbiAgICAvLyByb3VuZCByZXN1bHQgYW5kIHJldHVyblxuICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlICogZmFjdG9yT2ZUZW4pIC8gZmFjdG9yT2ZUZW47XG59O1xuZXhwb3J0IGRlZmF1bHQgcm91bmRXaXRoRGVjaW1hbHM7XG4iLCJleHBvcnQgZGVmYXVsdCAoY3VycmVudFNlbVZlciwgcHJldlNlbVZlcnMgPSAnMS4wLjAnKSA9PiB7XG4gICAgY29uc3QgW3BNYWpvciwgcE1pbm9yLCBwUGF0Y2hdID0gcHJldlNlbVZlcnMuc3BsaXQoJy4nKTtcbiAgICBjb25zdCBbY01ham9yLCBjTWlub3IsIGNQYXRjaF0gPSBjdXJyZW50U2VtVmVyLnNwbGl0KCcuJyk7XG4gICAgaWYgKHBNYWpvciA8IGNNYWpvcikge1xuICAgICAgICByZXR1cm4gJ21ham9yJztcbiAgICB9XG4gICAgaWYgKHBNaW5vciA8IGNNaW5vcikge1xuICAgICAgICByZXR1cm4gJ21pbm9yJztcbiAgICB9XG4gICAgaWYgKHBQYXRjaCA8IGNQYXRjaCkge1xuICAgICAgICByZXR1cm4gJ3BhdGNoJztcbiAgICB9XG59O1xuIiwiaW1wb3J0IHsgZGVmYXVsdFNldHRpbmdzIH0gZnJvbSAnQGNvbmZpZy9kZWZhdWx0U2V0dGluZ3MnO1xuaW1wb3J0IGNvbmZpZyBmcm9tICdAY29uZmlnL2NvbmZpZyc7XG5pbXBvcnQgeyBzdHJpbmdpZnlKc29uIH0gZnJvbSAnLi9zdHJpbmdpZnlKc29uJztcbi8qKlxuICogZ2V0IHRoZSBjdXJyZW50IHVzZXJzIHNldHRpbmdzXG4gKiBmb3Igc2V0dGluZ3MgdGhhdCBhcmUgbm90IHNldCwgdGhlIGRlZmF1bHRzIHdpbGwgYmUgdXNlZFxuICogQHJldHVybiBvYmplY3RcbiAqL1xuY29uc3QgZ2V0U2V0dGluZ3MgPSAoKSA9PiB7XG4gICAgbGV0IHN0b3JlZFNldHRpbmdzID0gZmlnbWEucm9vdC5nZXRQbHVnaW5EYXRhKGNvbmZpZy5rZXkuc2V0dGluZ3MpO1xuICAgIC8vIHJldHVybiBkZWZhdWx0cyBpZiBubyBzZXR0aW5ncyBhcmUgcHJlc2VudFxuICAgIGlmIChzdG9yZWRTZXR0aW5ncyA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRTZXR0aW5ncztcbiAgICB9XG4gICAgLy8gcGFyc2Ugc3RvcmVkIHNldHRpbmdzXG4gICAgc3RvcmVkU2V0dGluZ3MgPSBKU09OLnBhcnNlKHN0b3JlZFNldHRpbmdzKTtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGRlZmF1bHRTZXR0aW5ncykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIHN0b3JlZFNldHRpbmdzW2tleV0gIT09IHR5cGVvZiB2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIFtrZXksIGRlZmF1bHRTZXR0aW5nc1trZXldXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2tleSwgc3RvcmVkU2V0dGluZ3Nba2V5XV07XG4gICAgfSkpO1xufTtcbi8qKlxuICogQG5hbWUgc2F2ZVNldHRpbmdzXG4gKiBAZGVzY3JpcHRpb24gc2F2ZSB0aGUgdXNlciBzZXR0aW5ncyB0byB0aGUgXCJjYWNoZVwiXG4gKiBAcGFyYW0ge1VzZXJTZXR0aW5nc30gc2V0dGluZ3NcbiAqL1xuY29uc3Qgc2V0U2V0dGluZ3MgPSAoc2V0dGluZ3MpID0+IHtcbiAgICBzZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFNldHRpbmdzKSwgc2V0dGluZ3MpO1xuICAgIC8vIHN0b3JlIHB1YmxpYyBzZXR0aW5ncyB0aGF0IHNob3VsZCBiZSBzaGFyZWQgYWNyb3NzIG9yZ1xuICAgIGZpZ21hLnJvb3Quc2V0UGx1Z2luRGF0YShjb25maWcua2V5LnNldHRpbmdzLCBzdHJpbmdpZnlKc29uKHNldHRpbmdzKSk7XG59O1xuLyoqXG4gKiBAbmFtZSByZXNldFNldHRpbmdzXG4gKiBAZGVzY3JpcHRpb24gcmVzZXRTZXR0aW5ncyB0aGUgdXNlciBzZXR0aW5ncyB0byB0aGUgXCJjYWNoZVwiXG4gKi9cbmNvbnN0IHJlc2V0U2V0dGluZ3MgPSAoKSA9PiBmaWdtYS5yb290LnNldFBsdWdpbkRhdGEoY29uZmlnLmtleS5zZXR0aW5ncywgc3RyaW5naWZ5SnNvbihkZWZhdWx0U2V0dGluZ3MpKTtcbi8vIGV4cG9ydHNcbmV4cG9ydCB7IGdldFNldHRpbmdzLCBzZXRTZXR0aW5ncywgcmVzZXRTZXR0aW5ncyB9O1xuIiwiZXhwb3J0IGNvbnN0IHN0cmluZ2lmeUpzb24gPSAob2JqZWN0LCBjb21wcmVzc2lvbiA9IHRydWUpID0+IHtcbiAgICBpZiAoY29tcHJlc3Npb24gPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iamVjdCk7XG4gICAgfVxuICAgIC8vIHJldHVybiB1bmNvbXByZXNzZWQganNvblxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmplY3QsIG51bGwsIDIpO1xufTtcbiIsIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG5jb25zdCB2ZXJzaW9uID0gJzUuMS4wJztcbmV4cG9ydCBkZWZhdWx0IHZlcnNpb247XG4iXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file +!function(e){var t={};function i(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.l=!0,a.exports}i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)i.d(n,a,function(t){return e[t]}.bind(null,a));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=62)}({1:function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));const n={generalSettings:"generalSettings",export:"export",sendSettings:"sendSettings",urlExport:"urlExport",help:"help",demo:"demo",reset:"reset",saveSettings:"saveSettings",closePlugin:"closePlugin"}},3:function(e,t,i){"use strict";t.a=(e,t=2)=>{if(void 0===e)return;if("number"!=typeof e||"number"!=typeof t)throw new Error(`Invalid parameters, both value "${e}" (${typeof e}) and decimalPlaces "${t}" (${typeof t}) must be of type number`);const i=Math.pow(10,t);return Math.round(e*i)/i}},4:function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));const n={color:{label:"Colors",key:"color"},gradient:{label:"Gradients",key:"gradient"},font:{label:"Fonts",key:"font"},effect:{label:"Effects",key:"effect"},grid:{label:"Grids",key:"grid"},border:{label:"Borders",key:"border"},breakpoint:{label:"Breakpoints",key:"breakpoint"},radius:{label:"Radii",key:"radius"},size:{label:"Sizes",key:"size"},spacing:{label:"Spacing",key:"spacing"},motion:{label:"Motion",key:"motion"}}},5:function(e,t,i){"use strict";i.d(t,"c",(function(){return a})),i.d(t,"a",(function(){return r})),i.d(t,"b",(function(){return o}));var n=i(3);const a=(e,t)=>({r:Object(n.a)(255*e.r,0),g:Object(n.a)(255*e.g,0),b:Object(n.a)(255*e.b,0),a:Object(n.a)(t||e.a||1)}),r=e=>"SOLID"===e.type&&!0===e.visible?a(e.color,e.opacity||null):null,o=e=>`rgba(${e.r}, ${e.g}, ${e.b}, ${e.a})`},6:function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));const n=(e,t=!0)=>!0===t?JSON.stringify(e):JSON.stringify(e,null,2)},62:function(e,t,i){"use strict";i.r(t);var n=i(7),a={ui:{generalSettings:{width:550,height:675},export:{width:550,height:420},urlExport:{width:550,height:595}},key:{lastVersionSettingsOpened:"lastVersionSettingsOpened",fileId:"fileId",settings:"settings"},exclusionPrefixDefault:["_","."]},r=i(6);var o=function(e,t,i,n){return new(i||(i=Promise))((function(a,r){function o(e){try{u(n.next(e))}catch(e){r(e)}}function s(e){try{u(n.throw(e))}catch(e){r(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))};var s=i(1);var u=function(e,t,i,n){return new(i||(i=Promise))((function(a,r){function o(e){try{u(n.next(e))}catch(e){r(e)}}function s(e){try{u(n.throw(e))}catch(e){r(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))};var l=e=>u(void 0,void 0,void 0,(function*(){const t=yield e.clientStorage.getAsync(a.key.lastVersionSettingsOpened),i=((e,t="1.0.0")=>{const[i,n,a]=t.split("."),[r,o,s]=e.split(".");return i{let t=e.root.getPluginData(a.key.fileId);return void 0!==t&&""!==t||(e.root.setPluginData(a.key.fileId,e.root.name+" "+Math.floor(1e9*Math.random())),t=e.root.getPluginData(a.key.fileId)),t},p=i(4),d=i(5),g=i(3);const m={GRADIENT_LINEAR:"linear",GRADIENT_RADIAL:"radial",GRADIENT_ANGULAR:"angular",GRADIENT_DIAMOND:"diamond"},y=e=>["GRADIENT_LINEAR","GRADIENT_RADIAL","GRADIENT_ANGULAR","GRADIENT_DIAMOND"].includes(e.type);var f=(e,t)=>e.map(e=>(e.paints=e.paints.filter(e=>"IMAGE"!==e.type),e)).filter(e=>e.paints.length>0).map(e=>({name:`${y(e.paints[0])?t.gradient[0]:t.color[0]}/${e.name}`,category:y(e.paints[0])?"gradient":"color",exportKey:y(e.paints[0])?p.a.gradient.key:p.a.color.key,description:e.description||null,values:e.paints.map(e=>(e=>"SOLID"===e.type?{fill:{value:Object(d.a)(e),type:"color"}}:["GRADIENT_LINEAR","GRADIENT_RADIAL","GRADIENT_ANGULAR","GRADIENT_DIAMOND"].includes(e.type)?{gradientType:{value:m[e.type],type:"string"},stops:e.gradientStops.map(e=>({position:{value:Object(g.a)(e.position),type:"number"},color:{value:Object(d.c)(e.color),type:"color"}})),opacity:{value:Object(g.a)(e.opacity),type:"number"}}:null)(e))}));var b=(e,t)=>e.filter(e=>e.layoutGrids.length>0).map(e=>({name:`${t[0]}/${e.name}`,category:"grid",exportKey:p.a.grid.key,description:e.description||null,values:e.layoutGrids.map(e=>"GRID"===e.pattern?(e=>({pattern:{value:e.pattern.toLowerCase(),type:"string"},sectionSize:{value:e.sectionSize,unit:"pixel",type:"number"}}))(e):(e=>{return Object.assign(Object.assign(Object.assign({pattern:{value:e.pattern.toLowerCase(),type:"string"}},void 0!==e.sectionSize&&{sectionSize:{value:e.sectionSize,unit:"pixel",type:"number"}}),{gutterSize:{value:e.gutterSize,unit:"pixel",type:"number"},alignment:{value:e.alignment.toLowerCase(),type:"string"},count:(t=e.count,t===1/0?{value:"auto",type:"string"}:{value:t,type:"number"})}),void 0!==e.offset&&{offset:{value:e.offset,unit:"pixel",type:"number"}});var t})(e))}));const v={NONE:"none",UNDERLINE:"underline",STRIKETHROUGH:"line-through"},h={ORIGINAL:"none",UPPER:"uppercase",LOWER:"lowercase",TITLE:"capitalize"},x={thin:100,extralight:200,ultralight:200,light:300,normal:400,regular:400,medium:500,semibold:600,demibold:600,bold:700,extrabold:800,ultabold:800,black:900,heavy:900,super:900},O={normal:"normal",condensed:"condensed",expanded:"expanded",extended:"expanded"},k={normal:"normal",italic:"italic",oblique:"oblique"},S=e=>{const t=e.toLowerCase().split(" ");let i=t[0];return["extra","ultra","semi","demi"].includes(t[0])&&["bold","light"].includes(t[1])&&(i=`${t[0]}${t[1]}`),x[i]||400},E=e=>{const t=e.toLowerCase().split(" ");return O[t[t.length-1]]||O[t[t.length-2]]||"normal"},R=e=>{const t=e.toLowerCase().split(" ").pop();return k[t]||"normal"};var A=(e,t)=>e.map(e=>({name:`${t[0]}/${e.name}`,category:"font",exportKey:p.a.font.key,description:e.description||void 0,values:{fontSize:{value:e.fontSize,unit:"pixel",type:"number"},textDecoration:{value:v[e.textDecoration],type:"string"},fontFamily:{value:e.fontName.family,type:"string"},fontWeight:{value:S(e.fontName.style),type:"number"},fontStyle:{value:R(e.fontName.style),type:"string"},fontStretch:{value:E(e.fontName.style),type:"string"},_fontStyleOld:{value:e.fontName.style,type:"string"},letterSpacing:{value:Object(g.a)(e.letterSpacing.value),unit:e.letterSpacing.unit.toLowerCase(),type:"number"},lineHeight:{value:Object(g.a)(e.lineHeight.value)||"normal",unit:"pixels"===e.lineHeight.unit.toLowerCase()?"pixel":e.lineHeight.unit.toLowerCase(),type:Object.prototype.hasOwnProperty.call(e.lineHeight,"value")?"number":"string"},paragraphIndent:{value:e.paragraphIndent,unit:"pixel",type:"number"},paragraphSpacing:{value:e.paragraphSpacing,unit:"pixel",type:"number"},textCase:{value:h[e.textCase],type:"string"}}}));const N={LAYER_BLUR:"layerBlur",BACKGROUND_BLUR:"backgroundBlur",DROP_SHADOW:"dropShadow",INNER_SHADOW:"innerShadow"};var C=(e,t)=>e.filter(e=>e.effects.length>0).map(e=>({name:`${t[0]}/${e.name}`,category:"effect",exportKey:p.a.effect.key,description:e.description||null,values:e.effects.map(e=>"LAYER_BLUR"===e.type||"BACKGROUND_BLUR"===e.type?(e=>({type:{value:N[e.type],type:"string"},radius:{value:e.radius,unit:"pixel",type:"number"}}))(e):(e=>({type:{value:N[e.type],type:"string"},radius:{value:e.radius,unit:"pixel",type:"number"},color:{value:Object(d.c)(e.color),type:"color"},offset:{x:{value:e.offset.x,unit:"pixel",type:"number"},y:{value:e.offset.y,unit:"pixel",type:"number"}},spread:{value:e.spread,unit:"pixel",type:"number"}}))(e))}));const I=e=>t=>e.includes(t.name.substr(0,t.name.indexOf("/")).replace(/\s+/g,"")),L=e=>{if(Object.prototype.hasOwnProperty.call(e,"direction"))return{direction:{value:e.direction.toLowerCase(),type:"string"}}},j={CUSTOM_CUBIC_BEZIER:{},LINEAR:{type:"linear",easingFunctionCubicBezier:{x1:0,y1:0,x2:1,y2:1}},EASE_IN:{type:"ease-in",easingFunctionCubicBezier:{x1:.41999998688697815,y1:0,x2:1,y2:1}},EASE_OUT:{type:"ease-out",easingFunctionCubicBezier:{x1:0,y1:0,x2:.5799999833106995,y2:1}},EASE_IN_AND_OUT:{type:"ease-in-out",easingFunctionCubicBezier:{x1:.41999998688697815,y1:0,x2:.5799999833106995,y2:1}},EASE_IN_BACK:{type:"ease-in-back",easingFunctionCubicBezier:{x1:.30000001192092896,y1:-.05000000074505806,x2:.699999988079071,y2:-.5}},EASE_OUT_BACK:{type:"ease-out-back",easingFunctionCubicBezier:{x1:.44999998807907104,y1:1.4500000476837158,x2:.800000011920929,y2:1}},EASE_IN_AND_OUT_BACK:{type:"ease-in-out-back",easingFunctionCubicBezier:{x1:.699999988079071,y1:-.4000000059604645,x2:.4000000059604645,y2:1.399999976158142}}},_=e=>{if("type"in e&&void 0!==j[e.type])return"CUSTOM_CUBIC_BEZIER"===e.type&&(j.CUSTOM_CUBIC_BEZIER={type:"cubic-bezier",easingFunctionCubicBezier:{x1:e.easingFunctionCubicBezier.x1,y1:e.easingFunctionCubicBezier.y1,x2:e.easingFunctionCubicBezier.x2,y2:e.easingFunctionCubicBezier.y2}}),{easing:{value:j[e.type].type,type:"string"},easingFunction:{x1:{value:j[e.type].easingFunctionCubicBezier.x1,type:"number"},x2:{value:j[e.type].easingFunctionCubicBezier.x2,type:"number"},y1:{value:j[e.type].easingFunctionCubicBezier.y1,type:"number"},y2:{value:j[e.type].easingFunctionCubicBezier.y2,type:"number"}}}};var T=(e,t)=>e.filter(I(t)).filter(e=>{var t;return e.reactions.length>0&&"NODE"===(null===(t=e.reactions[0].action)||void 0===t?void 0:t.type)&&null!==e.reactions[0].action.transition}).map(e=>({name:e.name,category:"motion",exportKey:p.a.motion.key,description:e.description||null,values:Object.assign(Object.assign({type:{value:e.reactions[0].action.transition.type.toLocaleLowerCase(),type:"string"},duration:{value:Math.round(1e3*(e.reactions[0].action.transition.duration+Number.EPSILON))/1e3,unit:"s",type:"number"}},_(e.reactions[0].action.transition.easing)),L(e.reactions[0].action.transition))}));var D=(e,t)=>e.filter(I(t)).map(e=>({name:e.name,category:"size",exportKey:p.a.size.key,description:e.description||null,values:{width:{value:Object(g.a)(e.width,2),unit:"pixel",type:"number"},height:{value:Object(g.a)(e.height,2),unit:"pixel",type:"number"}}}));var w=(e,t)=>e.filter(I(t)).map(e=>({name:e.name,category:"spacing",exportKey:p.a.spacing.key,description:e.description||null,values:{top:{value:Object(g.a)(e.paddingTop,2),unit:"pixel",type:"number"},right:{value:Object(g.a)(e.paddingRight,2),unit:"pixel",type:"number"},bottom:{value:Object(g.a)(e.paddingBottom,2),unit:"pixel",type:"number"},left:{value:Object(g.a)(e.paddingLeft,2),unit:"pixel",type:"number"}}}));const P={MITER:"miter",BEVEL:"bevel",ROUND:"round"},z={CENTER:"center",INSIDE:"inside",OUTSIDE:"outside"};var B=(e,t)=>e.filter(I(t)).filter(e=>e.strokes.length>0).map(e=>({name:e.name,category:"border",exportKey:p.a.border.key,description:e.description||null,values:{strokeAlign:{value:z[e.strokeAlign],type:"string"},dashPattern:{value:e.dashPattern.toString(),type:"string"},strokeCap:{value:"string"==typeof e.strokeCap?e.strokeCap.toLowerCase():"mixed",type:"string"},strokeJoin:{value:P[e.strokeJoin],type:"string"},strokeMiterLimit:{value:Object(g.a)(e.strokeMiterLimit),unit:"degree",type:"number"},strokeWeight:{value:e.strokeWeight,unit:"pixel",type:"number"},stroke:{value:e.strokes[0],type:"color"}}}));var M=(e,t)=>{const i=e=>({topLeft:{value:e.topLeftRadius||0,unit:"pixel",type:"number"},topRight:{value:e.topRightRadius||0,unit:"pixel",type:"number"},bottomRight:{value:e.bottomRightRadius||0,unit:"pixel",type:"number"},bottomLeft:{value:e.bottomLeftRadius||0,unit:"pixel",type:"number"}});return e.filter(I(t)).map(e=>{return{name:e.name,category:"radius",exportKey:p.a.radius.key,description:e.description||null,values:Object.assign(Object.assign({},"number"==typeof e.cornerRadius&&{radius:{value:e.cornerRadius,unit:"pixel",type:"number"}}),{radiusType:{value:(t=e.cornerRadius,"number"==typeof t?"single":"mixed"),type:"string"},radii:i(e),smoothing:{value:Object(g.a)(e.cornerSmoothing,2),comment:"Percent as decimal from 0.0 - 1.0",type:"number"}})};var t})};var G=(e,t)=>e.filter(I(t)).map(e=>({name:e.name,category:"breakpoint",exportKey:p.a.breakpoint.key,description:e.description||null,values:{width:{value:Object(g.a)(e.width,2),unit:"pixel",type:"number"}}}));var F=(e,t)=>!(e=>[...a.exclusionPrefixDefault,...e])(t).includes(e.name.trim().substr(0,1));var U=e=>{const t=[];return e.forEach(e=>{t.push({name:e.name,description:e.description,paints:e.paints})}),t};var $=e=>{const t=[];return e.forEach(e=>{t.push({name:e.name,description:e.description,layoutGrids:e.layoutGrids})}),t};var K=e=>{return{name:e.name,description:e.description||void 0,bottomLeftRadius:e.bottomLeftRadius,bottomRightRadius:e.bottomRightRadius,topLeftRadius:e.topLeftRadius,topRightRadius:e.topRightRadius,cornerRadius:e.cornerRadius||void 0,cornerSmoothing:e.cornerSmoothing,strokes:(t=e.strokes,[...t].map(e=>Object(d.a)(e)).filter(e=>null!=e)),strokeWeight:e.strokeWeight,strokeStyleId:e.strokeStyleId,strokeMiterLimit:e.strokeMiterLimit,strokeJoin:e.strokeJoin,strokeCap:e.strokeCap,dashPattern:e.dashPattern,strokeAlign:e.strokeAlign,width:e.width,height:e.height,reactions:e.reactions||void 0,paddingTop:e.paddingTop||0,paddingRight:e.paddingRight||0,paddingBottom:e.paddingBottom||0,paddingLeft:e.paddingLeft||0};var t};const H=["COMPONENT","COMPONENT_SET","RECTANGLE","FRAME"];var J=e=>"COMPONENT_SET"!==e.parent.type&&H.includes(e.type);const W=e=>"FRAME"===e.type&&"_tokens"===e.name.trim().toLowerCase().substr(0,"_tokens".length);var V=e=>[...e.map(e=>e.findChildren(e=>W(e))).reduce((e,t)=>[...e,...t])].map(e=>e.findAll(e=>J(e))).reduce((e,t)=>[...e,...t],[]).map(e=>("RECTANGLE"!==e.type&&"FRAME"!==e.type||console.warn("Please use only main components and variants, other types may be deprecated as tokens in the future"),"COMPONENT_SET"===e.type?e.children.map(t=>{return Object.assign(Object.assign({},K(t)),{name:(i=e.name,n=t.name,`${i}/${n=n.split(",").filter(e=>!["_","."].includes(e.trim().substr(0,1))).map(e=>e.split("=")[1]).join("/")}`)});var i,n}):[K(e)])).reduce((e,t)=>[...e,...t],[]);var Z=e=>{const t=[];return e.forEach(e=>{t.push({name:e.name,description:e.description,fontSize:e.fontSize,textDecoration:e.textDecoration,fontName:e.fontName,letterSpacing:e.letterSpacing,lineHeight:e.lineHeight,paragraphIndent:e.paragraphIndent,paragraphSpacing:e.paragraphSpacing,textCase:e.textCase})}),t};var q=e=>{const t=[];return e.forEach(e=>{t.push({name:e.name,description:e.description,effects:e.effects})}),t};var Y=(e,t)=>{const i=V([...e.root.children]),n=t.exclusionPrefix.split(",").map(e=>e.replace(/\s+/g,""));return{tokenFrames:i,paintStyles:U(e.getLocalPaintStyles()).filter(e=>F(e,n)),gridStyles:$(e.getLocalGridStyles()).filter(e=>F(e,n)),textStyles:Z(e.getLocalTextStyles()).filter(e=>F(e,n)),effectStyles:q(e.getLocalEffectStyles()).filter(e=>F(e,n))}};const Q=e=>e.split(",").map(e=>e.replace(/\s+/g,"")),X=(e,t)=>{const i=Y(e,t);return[...D(i.tokenFrames,Q(t.prefix.size)),...G(i.tokenFrames,Q(t.prefix.breakpoint)),...w(i.tokenFrames,Q(t.prefix.spacing)),...B(i.tokenFrames,Q(t.prefix.border)),...M(i.tokenFrames,Q(t.prefix.radius)),...T(i.tokenFrames,Q(t.prefix.motion)),...f(i.paintStyles,{color:Q(t.prefix.color),gradient:Q(t.prefix.gradient)}),...b(i.gridStyles,Q(t.prefix.grid)),...A(i.textStyles,Q(t.prefix.font)),...C(i.effectStyles,Q(t.prefix.effect))]};var ee=function(e,t,i,n){return new(i||(i=Promise))((function(a,r){function o(e){try{u(n.next(e))}catch(e){r(e)}}function s(e){try{u(n.throw(e))}catch(e){r(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))};if(figma.showUI(__html__,{visible:!1}),[s.a.export,s.a.urlExport,s.a.generalSettings].includes(figma.command)){(()=>ee(void 0,void 0,void 0,(function*(){const e=(()=>{let e=figma.root.getPluginData(a.key.settings);return""===e?n.a:(e=JSON.parse(e),Object.fromEntries(Object.entries(n.a).map(([t,i])=>void 0!==i&&typeof e[t]!=typeof i?[t,n.a[t]]:[t,e[t]])))})(),t=yield l(figma);var i;figma.ui.resize(a.ui[figma.command].width,a.ui[figma.command].height),void 0!==t&&"patch"!==t&&figma.ui.resize(a.ui[figma.command].width,a.ui[figma.command].height+60),figma.ui.postMessage({command:figma.command,payload:{settings:Object.assign(Object.assign({},e),{accessToken:yield(i=c(figma),o(void 0,void 0,void 0,(function*(){const e=yield figma.clientStorage.getAsync("accessTokens");return void 0!==e&&e instanceof Object&&e[i]||""})))}),data:Object(r.a)(X(figma,e)),versionDifference:t,metadata:{filename:figma.root.name}}}),figma.ui.show()})))()}figma.command===s.a.help&&figma.ui.postMessage({command:s.a.help}),figma.command===s.a.demo&&figma.ui.postMessage({command:s.a.demo}),figma.command===s.a.reset&&(figma.root.setPluginData(a.key.settings,Object(r.a)(n.a)),figma.notify("⚙️ Settings have been reset."),figma.closePlugin()),figma.ui.onmessage=e=>ee(void 0,void 0,void 0,(function*(){const{command:t,payload:i}=e;var u,l,p;t===s.a.closePlugin&&(void 0!==(null==i?void 0:i.notification)&&""!==(null==i?void 0:i.notification)&&figma.notify(i.notification),figma.ui.hide(),figma.closePlugin()),t===s.a.saveSettings&&(p=i.settings,p=Object.assign(Object.assign({},n.a),p),figma.root.setPluginData(a.key.settings,Object(r.a)(p)),yield(u=c(figma),l=i.accessToken,o(void 0,void 0,void 0,(function*(){const e=(yield figma.clientStorage.getAsync("accessTokens"))||{},t=Object.assign(Object.assign({},e),{[u]:l});return yield figma.clientStorage.setAsync("accessTokens",t)}))),i.closePlugin&&!0===i.closePlugin&&figma.closePlugin())}))},7:function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));const n={filename:"design-tokens",extension:".json",nameConversion:"default",compression:!1,urlJsonCompression:!0,serverUrl:void 0,eventType:"update-tokens",accessToken:void 0,acceptHeader:"application/vnd.github.everest-preview+json",authType:"token",exclusionPrefix:"",keyInName:!1,prefixInName:!0,prefix:{color:"color",gradient:"gradient",font:"font",effect:"effect",grid:"grid",border:"border, borders",breakpoint:"breakpoint, breakpoints",radius:"radius, radii",size:"size, sizes",spacing:"spacing",motion:"motion"},exports:{color:!0,gradient:!0,font:!0,effect:!0,grid:!0,border:!0,breakpoint:!0,radius:!0,size:!0,spacing:!0,motion:!0}}}}); \ No newline at end of file diff --git a/dist/ui.html b/dist/ui.html index cc1425b8..beea5ce4 100644 --- a/dist/ui.html +++ b/dist/ui.html @@ -1,41186 +1,33 @@ -
\ No newline at end of file +`;a.render(r.createElement(()=>{const[e,n]=Object(r.useState)(null),[t,a]=Object(r.useState)(null),[l,o]=Object(r.useState)(null),[i,s]=Object(r.useState)(null),[u,c]=(d=Kn.a,f=Object(r.useState)((function(){return sn("function"==typeof d?d():d,!0)})),p=f[1],[f[0],Object(r.useCallback)((function(e){p("function"==typeof e?Wn(e):sn(e))}),[])]);var d,f,p;return onmessage=e=>{const{command:t,payload:r}=e.data.pluginMessage;[h.a.urlExport,h.a.export,h.a.generalSettings].includes(t)&&(c(r.settings),n(r.versionDifference),s(r.metadata),o(r.data),a(t)),t===h.a.help&&(window.open("https://github.com/lukasoppermann/design-tokens"),parent.postMessage({pluginMessage:{command:h.a.closePlugin}},"*")),t===h.a.demo&&(window.open("https://www.figma.com/file/2MQ759R5kJtzQn4qSHuqR7/Design-Tokens-for-Figma?node-id=231%3A2"),parent.postMessage({pluginMessage:{command:h.a.closePlugin}},"*"))},r.createElement(g.Provider,{value:{figmaUIApi:mt,figmaMetaData:i}},r.createElement(v.Provider,{value:{settings:u,updateSettings:c}},r.createElement(m.Provider,{value:{tokens:l,setTokens:o}},r.createElement("main",{className:bt,onKeyDown:e=>((e,n)=>{if("Escape"===e.code){if(document.activeElement.classList.contains("select-menu__button--active"))return;n.postMessage({pluginMessage:{command:h.a.closePlugin}},"*")}"Tab"===e.code&&Gn(e)})(e,mt)},r.createElement(Qn,{versionDifference:e}),t===h.a.generalSettings&&r.createElement(Qe,null),t===h.a.export&&r.createElement(ft,null),t===h.a.urlExport&&r.createElement(vt,null)))))},null),document.getElementById("pluginUI"))}]); \ No newline at end of file diff --git a/dist/ui.js b/dist/ui.js index c51f0d14..79aa78bc 100644 --- a/dist/ui.js +++ b/dist/ui.js @@ -1,41186 +1,33 @@ -/******/ (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 = "./src/ui/ui.tsx"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js ***! - \***********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _emotion_sheet__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/sheet */ "./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js"); -/* harmony import */ var stylis__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! stylis */ "./node_modules/stylis/dist/stylis.mjs"); -/* harmony import */ var _emotion_weak_memoize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/weak-memoize */ "./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js"); -/* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/memoize */ "./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js"); - - - - - -var last = function last(arr) { - return arr.length ? arr[arr.length - 1] : null; -}; - -var toRules = function toRules(parsed, points) { - // pretend we've started with a comma - var index = -1; - var character = 44; - - do { - switch (Object(stylis__WEBPACK_IMPORTED_MODULE_1__["token"])(character)) { - case 0: - // &\f - if (character === 38 && Object(stylis__WEBPACK_IMPORTED_MODULE_1__["peek"])() === 12) { - // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings - // stylis inserts \f after & to know when & where it should replace this sequence with the context selector - // and when it should just concatenate the outer and inner selectors - // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here - points[index] = 1; - } - - parsed[index] += Object(stylis__WEBPACK_IMPORTED_MODULE_1__["identifier"])(stylis__WEBPACK_IMPORTED_MODULE_1__["position"] - 1); - break; - - case 2: - parsed[index] += Object(stylis__WEBPACK_IMPORTED_MODULE_1__["delimit"])(character); - break; - - case 4: - // comma - if (character === 44) { - // colon - parsed[++index] = Object(stylis__WEBPACK_IMPORTED_MODULE_1__["peek"])() === 58 ? '&\f' : ''; - points[index] = parsed[index].length; - break; - } - - // fallthrough - - default: - parsed[index] += Object(stylis__WEBPACK_IMPORTED_MODULE_1__["from"])(character); - } - } while (character = Object(stylis__WEBPACK_IMPORTED_MODULE_1__["next"])()); - - return parsed; -}; - -var getRules = function getRules(value, points) { - return Object(stylis__WEBPACK_IMPORTED_MODULE_1__["dealloc"])(toRules(Object(stylis__WEBPACK_IMPORTED_MODULE_1__["alloc"])(value), points)); -}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11 - - -var fixedElements = /* #__PURE__ */new WeakMap(); -var compat = function compat(element) { - if (element.type !== 'rule' || !element.parent || // .length indicates if this rule contains pseudo or not - !element.length) { - return; - } - - var value = element.value, - parent = element.parent; - var isImplicitRule = element.column === parent.column && element.line === parent.line; - - while (parent.type !== 'rule') { - parent = parent.parent; - if (!parent) return; - } // short-circuit for the simplest case - - - if (element.props.length === 1 && value.charCodeAt(0) !== 58 - /* colon */ - && !fixedElements.get(parent)) { - return; - } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level) - // then the props has already been manipulated beforehand as they that array is shared between it and its "rule parent" - - - if (isImplicitRule) { - return; - } - - fixedElements.set(element, true); - var points = []; - var rules = getRules(value, points); - var parentRules = parent.props; - - for (var i = 0, k = 0; i < rules.length; i++) { - for (var j = 0; j < parentRules.length; j++, k++) { - element.props[k] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i]; - } - } -}; -var removeLabel = function removeLabel(element) { - if (element.type === 'decl') { - var value = element.value; - - if ( // charcode for l - value.charCodeAt(0) === 108 && // charcode for b - value.charCodeAt(2) === 98) { - // this ignores label - element["return"] = ''; - element.value = ''; - } - } -}; -var ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason'; - -var isIgnoringComment = function isIgnoringComment(element) { - return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1; -}; - -var createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) { - return function (element, index, children) { - if (element.type !== 'rule') return; - var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g); - - if (unsafePseudoClasses && cache.compat !== true) { - var prevElement = index > 0 ? children[index - 1] : null; - - if (prevElement && isIgnoringComment(last(prevElement.children))) { - return; - } - - unsafePseudoClasses.forEach(function (unsafePseudoClass) { - console.error("The pseudo class \"" + unsafePseudoClass + "\" is potentially unsafe when doing server-side rendering. Try changing it to \"" + unsafePseudoClass.split('-child')[0] + "-of-type\"."); - }); - } - }; -}; - -var isImportRule = function isImportRule(element) { - return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64; -}; - -var isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) { - for (var i = index - 1; i >= 0; i--) { - if (!isImportRule(children[i])) { - return true; - } - } - - return false; -}; // use this to remove incorrect elements from further processing -// so they don't get handed to the `sheet` (or anything else) -// as that could potentially lead to additional logs which in turn could be overhelming to the user - - -var nullifyElement = function nullifyElement(element) { - element.type = ''; - element.value = ''; - element["return"] = ''; - element.children = ''; - element.props = ''; -}; - -var incorrectImportAlarm = function incorrectImportAlarm(element, index, children) { - if (!isImportRule(element)) { - return; - } - - if (element.parent) { - 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."); - nullifyElement(element); - } else if (isPrependedWithRegularRules(index, children)) { - console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules."); - nullifyElement(element); - } -}; - -var defaultStylisPlugins = [stylis__WEBPACK_IMPORTED_MODULE_1__["prefixer"]]; - -var createCache = function createCache(options) { - var key = options.key; - - if ( true && !key) { - 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."); - } - - if ( key === 'css') { - var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])"); // get SSRed styles out of the way of React's hydration - // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be) - // note this very very intentionally targets all style elements regardless of the key to ensure - // that creating a cache works inside of render of a React component - - Array.prototype.forEach.call(ssrStyles, function (node) { - // we want to only move elements which have a space in the data-emotion attribute value - // because that indicates that it is an Emotion 11 server-side rendered style elements - // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector - // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes) - // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles - // will not result in the Emotion 10 styles being destroyed - var dataEmotionAttribute = node.getAttribute('data-emotion'); - - if (dataEmotionAttribute.indexOf(' ') === -1) { - return; - } - document.head.appendChild(node); - node.setAttribute('data-s', ''); - }); - } - - var stylisPlugins = options.stylisPlugins || defaultStylisPlugins; - - if (true) { - // $FlowFixMe - if (/[^a-z-]/.test(key)) { - throw new Error("Emotion key must only contain lower case alphabetical characters and - but \"" + key + "\" was passed"); - } - } - - var inserted = {}; // $FlowFixMe - - var container; - var nodesToHydrate = []; - - { - container = options.container || document.head; - Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which - // means that the style elements we're looking at are only Emotion 11 server-rendered style elements - document.querySelectorAll("style[data-emotion^=\"" + key + " \"]"), function (node) { - var attrib = node.getAttribute("data-emotion").split(' '); // $FlowFixMe - - for (var i = 1; i < attrib.length; i++) { - inserted[attrib[i]] = true; - } - - nodesToHydrate.push(node); - }); - } - - var _insert; - - var omnipresentPlugins = [compat, removeLabel]; - - if (true) { - omnipresentPlugins.push(createUnsafeSelectorsAlarm({ - get compat() { - return cache.compat; - } - - }), incorrectImportAlarm); - } - - { - var currentSheet; - var finalizingPlugins = [stylis__WEBPACK_IMPORTED_MODULE_1__["stringify"], true ? function (element) { - if (!element.root) { - if (element["return"]) { - currentSheet.insert(element["return"]); - } else if (element.value && element.type !== stylis__WEBPACK_IMPORTED_MODULE_1__["COMMENT"]) { - // insert empty rule in non-production environments - // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet - currentSheet.insert(element.value + "{}"); - } - } - } : undefined]; - var serializer = Object(stylis__WEBPACK_IMPORTED_MODULE_1__["middleware"])(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins)); - - var stylis = function stylis(styles) { - return Object(stylis__WEBPACK_IMPORTED_MODULE_1__["serialize"])(Object(stylis__WEBPACK_IMPORTED_MODULE_1__["compile"])(styles), serializer); - }; - - _insert = function insert(selector, serialized, sheet, shouldCache) { - currentSheet = sheet; - - if ( true && serialized.map !== undefined) { - currentSheet = { - insert: function insert(rule) { - sheet.insert(rule + serialized.map); - } - }; - } - - stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles); - - if (shouldCache) { - cache.inserted[serialized.name] = true; - } - }; - } - - var cache = { - key: key, - sheet: new _emotion_sheet__WEBPACK_IMPORTED_MODULE_0__["StyleSheet"]({ - key: key, - container: container, - nonce: options.nonce, - speedy: options.speedy, - prepend: options.prepend - }), - nonce: options.nonce, - inserted: inserted, - registered: {}, - insert: _insert - }; - cache.sheet.hydrate(nodesToHydrate); - return cache; -}; - -/* harmony default export */ __webpack_exports__["default"] = (createCache); - - -/***/ }), - -/***/ "./node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js ***! - \*******************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _emotion_cache__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/cache */ "./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js"); -/* harmony import */ var _emotion_serialize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/serialize */ "./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js"); -/* harmony import */ var _emotion_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/utils */ "./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js"); - - - - -function insertWithoutScoping(cache, serialized) { - if (cache.inserted[serialized.name] === undefined) { - return cache.insert('', serialized, cache.sheet, true); - } -} - -function merge(registered, css, className) { - var registeredStyles = []; - var rawClassName = Object(_emotion_utils__WEBPACK_IMPORTED_MODULE_2__["getRegisteredStyles"])(registered, registeredStyles, className); - - if (registeredStyles.length < 2) { - return className; - } - - return rawClassName + css(registeredStyles); -} - -var createEmotion = function createEmotion(options) { - var cache = Object(_emotion_cache__WEBPACK_IMPORTED_MODULE_0__["default"])(options); // $FlowFixMe - - cache.sheet.speedy = function (value) { - if ( true && this.ctr !== 0) { - throw new Error('speedy must be changed before any rules are inserted'); - } - - this.isSpeedy = value; - }; - - cache.compat = true; - - var css = function css() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - var serialized = Object(_emotion_serialize__WEBPACK_IMPORTED_MODULE_1__["serializeStyles"])(args, cache.registered, undefined); - Object(_emotion_utils__WEBPACK_IMPORTED_MODULE_2__["insertStyles"])(cache, serialized, false); - return cache.key + "-" + serialized.name; - }; - - var keyframes = function keyframes() { - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - - var serialized = Object(_emotion_serialize__WEBPACK_IMPORTED_MODULE_1__["serializeStyles"])(args, cache.registered); - var animation = "animation-" + serialized.name; - insertWithoutScoping(cache, { - name: serialized.name, - styles: "@keyframes " + animation + "{" + serialized.styles + "}" - }); - return animation; - }; - - var injectGlobal = function injectGlobal() { - for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { - args[_key3] = arguments[_key3]; - } - - var serialized = Object(_emotion_serialize__WEBPACK_IMPORTED_MODULE_1__["serializeStyles"])(args, cache.registered); - insertWithoutScoping(cache, serialized); - }; - - var cx = function cx() { - for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { - args[_key4] = arguments[_key4]; - } - - return merge(cache.registered, css, classnames(args)); - }; - - return { - css: css, - cx: cx, - injectGlobal: injectGlobal, - keyframes: keyframes, - hydrate: function hydrate(ids) { - ids.forEach(function (key) { - cache.inserted[key] = true; - }); - }, - flush: function flush() { - cache.registered = {}; - cache.inserted = {}; - cache.sheet.flush(); - }, - // $FlowFixMe - sheet: cache.sheet, - cache: cache, - getRegisteredStyles: _emotion_utils__WEBPACK_IMPORTED_MODULE_2__["getRegisteredStyles"].bind(null, cache.registered), - merge: merge.bind(null, cache.registered, css) - }; -}; - -var classnames = function classnames(args) { - var cls = ''; - - for (var i = 0; i < args.length; i++) { - var arg = args[i]; - if (arg == null) continue; - var toAdd = void 0; - - switch (typeof arg) { - case 'boolean': - break; - - case 'object': - { - if (Array.isArray(arg)) { - toAdd = classnames(arg); - } else { - toAdd = ''; - - for (var k in arg) { - if (arg[k] && k) { - toAdd && (toAdd += ' '); - toAdd += k; - } - } - } - - break; - } - - default: - { - toAdd = arg; - } - } - - if (toAdd) { - cls && (cls += ' '); - cls += toAdd; - } - } - - return cls; -}; - -/* harmony default export */ __webpack_exports__["default"] = (createEmotion); - - -/***/ }), - -/***/ "./node_modules/@emotion/css/dist/emotion-css.esm.js": -/*!***********************************************************!*\ - !*** ./node_modules/@emotion/css/dist/emotion-css.esm.js ***! - \***********************************************************/ -/*! exports provided: cache, css, cx, flush, getRegisteredStyles, hydrate, injectGlobal, keyframes, merge, sheet */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cache", function() { return cache; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "css", function() { return css; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cx", function() { return cx; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "flush", function() { return flush; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getRegisteredStyles", function() { return getRegisteredStyles; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hydrate", function() { return hydrate; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "injectGlobal", function() { return injectGlobal; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "keyframes", function() { return keyframes; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return merge; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sheet", function() { return sheet; }); -/* harmony import */ var _emotion_cache__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/cache */ "./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js"); -/* harmony import */ var _emotion_serialize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/serialize */ "./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js"); -/* harmony import */ var _emotion_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/utils */ "./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js"); -/* harmony import */ var _create_instance_dist_emotion_css_create_instance_esm_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../create-instance/dist/emotion-css-create-instance.esm.js */ "./node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js"); - - - - - -var _createEmotion = Object(_create_instance_dist_emotion_css_create_instance_esm_js__WEBPACK_IMPORTED_MODULE_3__["default"])({ - key: 'css' -}), - flush = _createEmotion.flush, - hydrate = _createEmotion.hydrate, - cx = _createEmotion.cx, - merge = _createEmotion.merge, - getRegisteredStyles = _createEmotion.getRegisteredStyles, - injectGlobal = _createEmotion.injectGlobal, - keyframes = _createEmotion.keyframes, - css = _createEmotion.css, - sheet = _createEmotion.sheet, - cache = _createEmotion.cache; - - - - -/***/ }), - -/***/ "./node_modules/@emotion/hash/dist/hash.browser.esm.js": -/*!*************************************************************!*\ - !*** ./node_modules/@emotion/hash/dist/hash.browser.esm.js ***! - \*************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* eslint-disable */ -// Inspired by https://github.com/garycourt/murmurhash-js -// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86 -function murmur2(str) { - // 'm' and 'r' are mixing constants generated offline. - // They're not really 'magic', they just happen to work well. - // const m = 0x5bd1e995; - // const r = 24; - // Initialize the hash - var h = 0; // Mix 4 bytes at a time into the hash - - var k, - i = 0, - len = str.length; - - for (; len >= 4; ++i, len -= 4) { - k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24; - k = - /* Math.imul(k, m): */ - (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16); - k ^= - /* k >>> r: */ - k >>> 24; - h = - /* Math.imul(k, m): */ - (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^ - /* Math.imul(h, m): */ - (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); - } // Handle the last few bytes of the input array - - - switch (len) { - case 3: - h ^= (str.charCodeAt(i + 2) & 0xff) << 16; - - case 2: - h ^= (str.charCodeAt(i + 1) & 0xff) << 8; - - case 1: - h ^= str.charCodeAt(i) & 0xff; - h = - /* Math.imul(h, m): */ - (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); - } // Do a few final mixes of the hash to ensure the last few - // bytes are well-incorporated. - - - h ^= h >>> 13; - h = - /* Math.imul(h, m): */ - (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); - return ((h ^ h >>> 15) >>> 0).toString(36); -} - -/* harmony default export */ __webpack_exports__["default"] = (murmur2); - - -/***/ }), - -/***/ "./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js": -/*!***************************************************************************!*\ - !*** ./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js ***! - \***************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -function memoize(fn) { - var cache = Object.create(null); - return function (arg) { - if (cache[arg] === undefined) cache[arg] = fn(arg); - return cache[arg]; - }; -} - -/* harmony default export */ __webpack_exports__["default"] = (memoize); - - -/***/ }), - -/***/ "./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js": -/*!*******************************************************************************!*\ - !*** ./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js ***! - \*******************************************************************************/ -/*! exports provided: serializeStyles */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "serializeStyles", function() { return serializeStyles; }); -/* harmony import */ var _emotion_hash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/hash */ "./node_modules/@emotion/hash/dist/hash.browser.esm.js"); -/* harmony import */ var _emotion_unitless__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @emotion/unitless */ "./node_modules/@emotion/unitless/dist/unitless.browser.esm.js"); -/* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @emotion/memoize */ "./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js"); - - - - -var 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"; -var 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)."; -var hyphenateRegex = /[A-Z]|^ms/g; -var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g; - -var isCustomProperty = function isCustomProperty(property) { - return property.charCodeAt(1) === 45; -}; - -var isProcessableValue = function isProcessableValue(value) { - return value != null && typeof value !== 'boolean'; -}; - -var processStyleName = /* #__PURE__ */Object(_emotion_memoize__WEBPACK_IMPORTED_MODULE_2__["default"])(function (styleName) { - return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase(); -}); - -var processStyleValue = function processStyleValue(key, value) { - switch (key) { - case 'animation': - case 'animationName': - { - if (typeof value === 'string') { - return value.replace(animationRegex, function (match, p1, p2) { - cursor = { - name: p1, - styles: p2, - next: cursor - }; - return p1; - }); - } - } - } - - if (_emotion_unitless__WEBPACK_IMPORTED_MODULE_1__["default"][key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) { - return value + 'px'; - } - - return value; -}; - -if (true) { - var contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/; - var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset']; - var oldProcessStyleValue = processStyleValue; - var msPattern = /^-ms-/; - var hyphenPattern = /-(.)/g; - var hyphenatedCache = {}; - - processStyleValue = function processStyleValue(key, value) { - if (key === 'content') { - 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) !== "'")) { - throw new Error("You seem to be using a value for 'content' without quotes, try replacing it with `content: '\"" + value + "\"'`"); - } - } - - var processed = oldProcessStyleValue(key, value); - - if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) { - hyphenatedCache[key] = true; - 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) { - return _char.toUpperCase(); - }) + "?"); - } - - return processed; - }; -} - -function handleInterpolation(mergedProps, registered, interpolation) { - if (interpolation == null) { - return ''; - } - - if (interpolation.__emotion_styles !== undefined) { - if ( true && interpolation.toString() === 'NO_COMPONENT_SELECTOR') { - throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.'); - } - - return interpolation; - } - - switch (typeof interpolation) { - case 'boolean': - { - return ''; - } - - case 'object': - { - if (interpolation.anim === 1) { - cursor = { - name: interpolation.name, - styles: interpolation.styles, - next: cursor - }; - return interpolation.name; - } - - if (interpolation.styles !== undefined) { - var next = interpolation.next; - - if (next !== undefined) { - // not the most efficient thing ever but this is a pretty rare case - // and there will be very few iterations of this generally - while (next !== undefined) { - cursor = { - name: next.name, - styles: next.styles, - next: cursor - }; - next = next.next; - } - } - - var styles = interpolation.styles + ";"; - - if ( true && interpolation.map !== undefined) { - styles += interpolation.map; - } - - return styles; - } - - return createStringFromObject(mergedProps, registered, interpolation); - } - - case 'function': - { - if (mergedProps !== undefined) { - var previousCursor = cursor; - var result = interpolation(mergedProps); - cursor = previousCursor; - return handleInterpolation(mergedProps, registered, result); - } else if (true) { - 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}`"); - } - - break; - } - - case 'string': - if (true) { - var matched = []; - var replaced = interpolation.replace(animationRegex, function (match, p1, p2) { - var fakeVarName = "animation" + matched.length; - matched.push("const " + fakeVarName + " = keyframes`" + p2.replace(/^@keyframes animation-\w+/, '') + "`"); - return "${" + fakeVarName + "}"; - }); - - if (matched.length) { - 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 + "`")); - } - } - - break; - } // finalize string values (regular strings and functions interpolated into css calls) - - - if (registered == null) { - return interpolation; - } - - var cached = registered[interpolation]; - return cached !== undefined ? cached : interpolation; -} - -function createStringFromObject(mergedProps, registered, obj) { - var string = ''; - - if (Array.isArray(obj)) { - for (var i = 0; i < obj.length; i++) { - string += handleInterpolation(mergedProps, registered, obj[i]) + ";"; - } - } else { - for (var _key in obj) { - var value = obj[_key]; - - if (typeof value !== 'object') { - if (registered != null && registered[value] !== undefined) { - string += _key + "{" + registered[value] + "}"; - } else if (isProcessableValue(value)) { - string += processStyleName(_key) + ":" + processStyleValue(_key, value) + ";"; - } - } else { - if (_key === 'NO_COMPONENT_SELECTOR' && "development" !== 'production') { - throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.'); - } - - if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) { - for (var _i = 0; _i < value.length; _i++) { - if (isProcessableValue(value[_i])) { - string += processStyleName(_key) + ":" + processStyleValue(_key, value[_i]) + ";"; - } - } - } else { - var interpolated = handleInterpolation(mergedProps, registered, value); - - switch (_key) { - case 'animation': - case 'animationName': - { - string += processStyleName(_key) + ":" + interpolated + ";"; - break; - } - - default: - { - if ( true && _key === 'undefined') { - console.error(UNDEFINED_AS_OBJECT_KEY_ERROR); - } - - string += _key + "{" + interpolated + "}"; - } - } - } - } - } - } - - return string; -} - -var labelPattern = /label:\s*([^\s;\n{]+)\s*(;|$)/g; -var sourceMapPattern; - -if (true) { - sourceMapPattern = /\/\*#\ssourceMappingURL=data:application\/json;\S+\s+\*\//g; -} // this is the cursor for keyframes -// keyframes are stored on the SerializedStyles object as a linked list - - -var cursor; -var serializeStyles = function serializeStyles(args, registered, mergedProps) { - if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) { - return args[0]; - } - - var stringMode = true; - var styles = ''; - cursor = undefined; - var strings = args[0]; - - if (strings == null || strings.raw === undefined) { - stringMode = false; - styles += handleInterpolation(mergedProps, registered, strings); - } else { - if ( true && strings[0] === undefined) { - console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); - } - - styles += strings[0]; - } // we start at 1 since we've already handled the first arg - - - for (var i = 1; i < args.length; i++) { - styles += handleInterpolation(mergedProps, registered, args[i]); - - if (stringMode) { - if ( true && strings[i] === undefined) { - console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); - } - - styles += strings[i]; - } - } - - var sourceMap; - - if (true) { - styles = styles.replace(sourceMapPattern, function (match) { - sourceMap = match; - return ''; - }); - } // using a global regex with .exec is stateful so lastIndex has to be reset each time - - - labelPattern.lastIndex = 0; - var identifierName = ''; - var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5 - - while ((match = labelPattern.exec(styles)) !== null) { - identifierName += '-' + // $FlowFixMe we know it's not null - match[1]; - } - - var name = Object(_emotion_hash__WEBPACK_IMPORTED_MODULE_0__["default"])(styles) + identifierName; - - if (true) { - // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it) - return { - name: name, - styles: styles, - map: sourceMap, - next: cursor, - toString: function toString() { - 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)."; - } - }; - } - - return { - name: name, - styles: styles, - next: cursor - }; -}; - - - - -/***/ }), - -/***/ "./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js ***! - \***********************************************************************/ -/*! exports provided: StyleSheet */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StyleSheet", function() { return StyleSheet; }); -/* - -Based off glamor's StyleSheet, thanks Sunil ❤️ - -high performance StyleSheet for css-in-js systems - -- uses multiple style tags behind the scenes for millions of rules -- uses `insertRule` for appending in production for *much* faster performance - -// usage - -import { StyleSheet } from '@emotion/sheet' - -let styleSheet = new StyleSheet({ key: '', container: document.head }) - -styleSheet.insert('#box { border: 1px solid red; }') -- appends a css rule into the stylesheet - -styleSheet.flush() -- empties the stylesheet of all its contents - -*/ -// $FlowFixMe -function sheetForTag(tag) { - if (tag.sheet) { - // $FlowFixMe - return tag.sheet; - } // this weirdness brought to you by firefox - - /* istanbul ignore next */ - - - for (var i = 0; i < document.styleSheets.length; i++) { - if (document.styleSheets[i].ownerNode === tag) { - // $FlowFixMe - return document.styleSheets[i]; - } - } -} - -function createStyleElement(options) { - var tag = document.createElement('style'); - tag.setAttribute('data-emotion', options.key); - - if (options.nonce !== undefined) { - tag.setAttribute('nonce', options.nonce); - } - - tag.appendChild(document.createTextNode('')); - tag.setAttribute('data-s', ''); - return tag; -} - -var StyleSheet = /*#__PURE__*/function () { - function StyleSheet(options) { - var _this = this; - - this._insertTag = function (tag) { - var before; - - if (_this.tags.length === 0) { - before = _this.prepend ? _this.container.firstChild : _this.before; - } else { - before = _this.tags[_this.tags.length - 1].nextSibling; - } - - _this.container.insertBefore(tag, before); - - _this.tags.push(tag); - }; - - this.isSpeedy = options.speedy === undefined ? "development" === 'production' : options.speedy; - this.tags = []; - this.ctr = 0; - this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets - - this.key = options.key; - this.container = options.container; - this.prepend = options.prepend; - this.before = null; - } - - var _proto = StyleSheet.prototype; - - _proto.hydrate = function hydrate(nodes) { - nodes.forEach(this._insertTag); - }; - - _proto.insert = function insert(rule) { - // the max length is how many rules we have per style tag, it's 65000 in speedy mode - // it's 1 in dev because we insert source maps that map a single rule to a location - // and you can only have one source map per style tag - if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) { - this._insertTag(createStyleElement(this)); - } - - var tag = this.tags[this.tags.length - 1]; - - if (true) { - var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105; - - if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) { - // this would only cause problem in speedy mode - // but we don't want enabling speedy to affect the observable behavior - // so we report this error at all times - 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.'); - } - this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule; - } - - if (this.isSpeedy) { - var sheet = sheetForTag(tag); - - try { - // this is the ultrafast version, works across browsers - // the big drawback is that the css won't be editable in devtools - sheet.insertRule(rule, sheet.cssRules.length); - } catch (e) { - if ( true && !/:(-moz-placeholder|-ms-input-placeholder|-moz-read-write|-moz-read-only){/.test(rule)) { - console.error("There was a problem inserting the following rule: \"" + rule + "\"", e); - } - } - } else { - tag.appendChild(document.createTextNode(rule)); - } - - this.ctr++; - }; - - _proto.flush = function flush() { - // $FlowFixMe - this.tags.forEach(function (tag) { - return tag.parentNode.removeChild(tag); - }); - this.tags = []; - this.ctr = 0; - - if (true) { - this._alreadyInsertedOrderInsensitiveRule = false; - } - }; - - return StyleSheet; -}(); - - - - -/***/ }), - -/***/ "./node_modules/@emotion/unitless/dist/unitless.browser.esm.js": -/*!*********************************************************************!*\ - !*** ./node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***! - \*********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -var unitlessKeys = { - 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, - // SVG-related properties - fillOpacity: 1, - floodOpacity: 1, - stopOpacity: 1, - strokeDasharray: 1, - strokeDashoffset: 1, - strokeMiterlimit: 1, - strokeOpacity: 1, - strokeWidth: 1 -}; - -/* harmony default export */ __webpack_exports__["default"] = (unitlessKeys); - - -/***/ }), - -/***/ "./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js": -/*!***********************************************************************!*\ - !*** ./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js ***! - \***********************************************************************/ -/*! exports provided: getRegisteredStyles, insertStyles */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getRegisteredStyles", function() { return getRegisteredStyles; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insertStyles", function() { return insertStyles; }); -var isBrowser = "object" !== 'undefined'; -function getRegisteredStyles(registered, registeredStyles, classNames) { - var rawClassName = ''; - classNames.split(' ').forEach(function (className) { - if (registered[className] !== undefined) { - registeredStyles.push(registered[className] + ";"); - } else { - rawClassName += className + " "; - } - }); - return rawClassName; -} -var insertStyles = function insertStyles(cache, serialized, isStringTag) { - var className = cache.key + "-" + serialized.name; - - if ( // we only need to add the styles to the registered cache if the - // class name could be used further down - // the tree but if it's a string tag, we know it won't - // so we don't have to add it to registered cache. - // this improves memory usage since we can avoid storing the whole style string - (isStringTag === false || // we need to always store it if we're in compat mode and - // in node since emotion-server relies on whether a style is in - // the registered cache to know whether a style is global or not - // also, note that this check will be dead code eliminated in the browser - isBrowser === false ) && cache.registered[className] === undefined) { - cache.registered[className] = serialized.styles; - } - - if (cache.inserted[serialized.name] === undefined) { - var current = serialized; - - do { - var maybeStyles = cache.insert(serialized === current ? "." + className : '', current, cache.sheet, true); - - current = current.next; - } while (current !== undefined); - } -}; - - - - -/***/ }), - -/***/ "./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js ***! - \*****************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -var weakMemoize = function weakMemoize(func) { - // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps - var cache = new WeakMap(); - return function (arg) { - if (cache.has(arg)) { - // $FlowFixMe - return cache.get(arg); - } - - var ret = func(arg); - cache.set(arg, ret); - return ret; - }; -}; - -/* harmony default export */ __webpack_exports__["default"] = (weakMemoize); - - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/and.js": -/*!*****************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/and.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = andValidator; - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function andValidator(validators) { - var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'and'; - - if (!Array.isArray(validators)) { - throw new TypeError('and: 2 or more validators are required'); - } - - if (validators.length <= 1) { - throw new RangeError('and: 2 or more validators are required'); - } - - var validator = function and() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - var firstError = null; - validators.some(function (validatorFn) { - firstError = validatorFn.apply(void 0, args); - return firstError != null; - }); - return firstError == null ? null : firstError; - }; - - validator.isRequired = function andIsRequired() { - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - - var firstError = null; - validators.some(function (validatorFn) { - firstError = validatorFn.isRequired.apply(validatorFn, args); - return firstError != null; - }); - return firstError == null ? null : firstError; - }; - - return (0, _wrapValidator["default"])(validator, name, validators); -} -//# sourceMappingURL=and.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/between.js": -/*!*********************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/between.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = betweenValidator; - -var _object = _interopRequireDefault(__webpack_require__(/*! object.entries */ "./node_modules/object.entries/index.js")); - -var _shape = _interopRequireDefault(__webpack_require__(/*! ./shape */ "./node_modules/airbnb-prop-types/build/shape.js")); - -var _valuesOf = _interopRequireDefault(__webpack_require__(/*! ./valuesOf */ "./node_modules/airbnb-prop-types/build/valuesOf.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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 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; } - -function _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; } - -function _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; } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function number(props, propName, componentName) { - var value = props[propName]; - - if (typeof value === 'number' && !isNaN(value)) { - return null; - } - - return new TypeError("".concat(componentName, ": ").concat(propName, " must be a non-NaN number.")); -} - -function numberOrPropsFunc(props, propName) { - var value = props[propName]; - - if (typeof value === 'function') { - return null; - } - - if (typeof value === 'number' && !isNaN(value)) { - return null; - } - - return new TypeError("".concat(propName, ": a function, or a non-NaN number is required")); -} - -function lowerCompare(value, _ref) { - var gt = _ref.gt, - gte = _ref.gte; - - if (typeof gt === 'number') { - return value > gt; - } - - if (typeof gte === 'number') { - return value >= gte; - } - - return true; -} - -function upperCompare(value, _ref2) { - var lt = _ref2.lt, - lte = _ref2.lte; - - if (typeof lt === 'number') { - return value < lt; - } - - if (typeof lte === 'number') { - return value <= lte; - } - - return true; -} - -function greaterThanError(_ref3) { - var gt = _ref3.gt, - gte = _ref3.gte; - - if (typeof gt === 'number') { - return "greater than ".concat(gt); - } - - if (typeof gte === 'number') { - return "greater than or equal to ".concat(gte); - } - - return ''; -} - -function lessThanError(_ref4) { - var lt = _ref4.lt, - lte = _ref4.lte; - - if (typeof lt === 'number') { - return "less than ".concat(lt); - } - - if (typeof lte === 'number') { - return "less than or equal to ".concat(lte); - } - - return ''; -} - -function errorMessage(componentName, propName, opts) { - var errors = [greaterThanError(opts), lessThanError(opts)].filter(Boolean).join(' and '); - return "".concat(componentName, ": ").concat(propName, " must be ").concat(errors); -} - -function propsThunkify(opts) { - return (0, _object["default"])(opts).reduce(function (acc, _ref5) { - var _ref6 = _slicedToArray(_ref5, 2), - key = _ref6[0], - value = _ref6[1]; - - var numberThunk = typeof value === 'number' ? function () { - return value; - } : value; - return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, numberThunk)); - }, {}); -} - -function invokeWithProps(optsThunks, props) { - return (0, _object["default"])(optsThunks).reduce(function (acc, _ref7) { - var _ref8 = _slicedToArray(_ref7, 2), - key = _ref8[0], - thunk = _ref8[1]; - - var value = thunk(props); - return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, value)); - }, {}); -} - -var argValidators = [(0, _shape["default"])({ - lt: numberOrPropsFunc, - gt: numberOrPropsFunc -}).isRequired, (0, _shape["default"])({ - lte: numberOrPropsFunc, - gt: numberOrPropsFunc -}).isRequired, (0, _shape["default"])({ - lt: numberOrPropsFunc, - gte: numberOrPropsFunc -}).isRequired, (0, _shape["default"])({ - lte: numberOrPropsFunc, - gte: numberOrPropsFunc -}).isRequired, (0, _shape["default"])({ - lt: numberOrPropsFunc -}).isRequired, (0, _shape["default"])({ - lte: numberOrPropsFunc -}).isRequired, (0, _shape["default"])({ - gt: numberOrPropsFunc -}).isRequired, (0, _shape["default"])({ - gte: numberOrPropsFunc -}).isRequired]; - -function argValidator(props, propName) { - return argValidators.every(function (validator) { - return !!validator(props, propName); - }); -} - -var thunkValueValidator = (0, _valuesOf["default"])(number).isRequired; - -function betweenValidator(options) { - var argError = argValidator({ - options: options - }, 'options'); - - if (argError) { - throw new TypeError('between: only one of the pairs of `lt`/`lte`, and `gt`/`gte`, may be supplied, and at least one pair must be provided.'); - } - - var optsThunks = propsThunkify(options); - - var validator = function between(props, propName, componentName) { - var propValue = props[propName]; - - if (propValue == null) { - return null; - } - - if (typeof propValue !== 'number') { - return new RangeError("".concat(componentName, ": ").concat(propName, " must be a number, got \"").concat(_typeof(propValue), "\"")); - } - - var opts = invokeWithProps(optsThunks, props); - - for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - rest[_key - 3] = arguments[_key]; - } - - var thunkValuesError = thunkValueValidator.apply(void 0, [_defineProperty({}, propName, opts), propName, componentName].concat(rest)); - - if (thunkValuesError) { - return thunkValuesError; - } - - if (!lowerCompare(propValue, opts) || !upperCompare(propValue, opts)) { - return new RangeError(errorMessage(componentName, propName, opts)); - } - - return null; - }; - - validator.isRequired = function betweenRequired(props, propName, componentName) { - var propValue = props[propName]; - - if (typeof propValue !== 'number') { - return new RangeError("".concat(componentName, ": ").concat(propName, " must be a number, got \"").concat(_typeof(propValue), "\"")); - } - - var opts = invokeWithProps(optsThunks, props); - - for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - rest[_key2 - 3] = arguments[_key2]; - } - - var thunkValuesError = thunkValueValidator.apply(void 0, [_defineProperty({}, propName, opts), propName, componentName].concat(rest)); - - if (thunkValuesError) { - return thunkValuesError; - } - - if (!lowerCompare(propValue, opts) || !upperCompare(propValue, opts)) { - return new RangeError(errorMessage(componentName, propName, opts)); - } - - return null; - }; - - return (0, _wrapValidator["default"])(validator, 'between', options); -} -//# sourceMappingURL=between.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/booleanSome.js": -/*!*************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/booleanSome.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = booleanSomeValidator; - -var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function booleanSomeValidator() { - for (var _len = arguments.length, notAllPropsFalse = new Array(_len), _key = 0; _key < _len; _key++) { - notAllPropsFalse[_key] = arguments[_key]; - } - - if (notAllPropsFalse.length < 1) { - throw new TypeError('at least one prop (one of which must be `true`) is required'); - } - - if (!notAllPropsFalse.every(function (x) { - return typeof x === 'string'; - })) { - throw new TypeError('all booleanSome props must be strings'); - } - - var propsList = notAllPropsFalse.join(', or '); - - var validator = function booleanSome(props, propName, componentName) { - var countFalse = function countFalse(count, prop) { - return count + (props[prop] === false ? 1 : 0); - }; - - var falsePropCount = notAllPropsFalse.reduce(countFalse, 0); - - if (falsePropCount === notAllPropsFalse.length) { - return new Error("A ".concat(componentName, " must have at least one of these boolean props be `true`: ").concat(propsList)); - } - - for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - rest[_key2 - 3] = arguments[_key2]; - } - - return _propTypes.bool.apply(void 0, [props, propName, componentName].concat(rest)); - }; - - validator.isRequired = function booleanSomeRequired(props, propName, componentName) { - var countFalse = function countFalse(count, prop) { - return count + (props[prop] === false ? 1 : 0); - }; - - var falsePropCount = notAllPropsFalse.reduce(countFalse, 0); - - if (falsePropCount === notAllPropsFalse.length) { - return new Error("A ".concat(componentName, " must have at least one of these boolean props be `true`: ").concat(propsList)); - } - - for (var _len3 = arguments.length, rest = new Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) { - rest[_key3 - 3] = arguments[_key3]; - } - - return _propTypes.bool.isRequired.apply(_propTypes.bool, [props, propName, componentName].concat(rest)); - }; - - return (0, _wrapValidator["default"])(validator, "booleanSome: ".concat(propsList), notAllPropsFalse); -} -//# sourceMappingURL=booleanSome.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/childrenHavePropXorChildren.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/childrenHavePropXorChildren.js ***! - \*****************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = childrenHavePropXorChildren; - -var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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 childrenHavePropXorChildren(prop) { - if (typeof prop !== 'string' && _typeof(prop) !== 'symbol') { - throw new TypeError('invalid prop: must be string or symbol'); - } - - var validator = function childrenHavePropXorChildrenWithProp(_ref, _, componentName) { - var children = _ref.children; - var truthyChildrenCount = 0; - var propCount = 0; - var grandchildrenCount = 0; - - _react["default"].Children.forEach(children, function (child) { - if (!child) { - return; - } - - truthyChildrenCount += 1; - - if (child.props[prop]) { - propCount += 1; - } - - if (_react["default"].Children.count(child.props.children)) { - grandchildrenCount += 1; - } - }); - - if (propCount === truthyChildrenCount && grandchildrenCount === 0 || propCount === 0 && grandchildrenCount === truthyChildrenCount || propCount === 0 && grandchildrenCount === 0) { - return null; - } - - return new TypeError("`".concat(componentName, "` requires children to all have prop \u201C").concat(prop, "\u201D, all have children, or all have neither.")); - }; - - validator.isRequired = validator; - return (0, _wrapValidator["default"])(validator, "childrenHavePropXorChildrenWithProp:".concat(prop), prop); -} -//# sourceMappingURL=childrenHavePropXorChildren.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/childrenOf.js": -/*!************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/childrenOf.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = childrenOf; - -var _renderableChildren = _interopRequireDefault(__webpack_require__(/*! ./helpers/renderableChildren */ "./node_modules/airbnb-prop-types/build/helpers/renderableChildren.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function 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; } - -function _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; } - -function _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; } - -function validateChildren(propType, children, props) { - for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - rest[_key - 3] = arguments[_key]; - } - - var error; - children.some(function (child) { - error = propType.apply(void 0, [_objectSpread(_objectSpread({}, props), {}, { - children: child - }), 'children'].concat(rest)); - return error; - }); - return error || null; -} - -function childrenOf(propType) { - function childrenOfPropType(props, propName, componentName) { - if (propName !== 'children') { - return new TypeError("".concat(componentName, " is using the childrenOf validator on non-children prop \"").concat(propName, "\"")); - } - - var propValue = props[propName]; - - if (propValue == null) { - return null; - } - - var children = (0, _renderableChildren["default"])(propValue); - - if (children.length === 0) { - return null; - } - - for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - rest[_key2 - 3] = arguments[_key2]; - } - - return validateChildren.apply(void 0, [propType, children, props, componentName].concat(rest)); - } - - childrenOfPropType.isRequired = function (props, propName, componentName) { - if (propName !== 'children') { - return new TypeError("".concat(componentName, " is using the childrenOf validator on non-children prop \"").concat(propName, "\"")); - } - - var children = (0, _renderableChildren["default"])(props[propName]); - - if (children.length === 0) { - return new TypeError("`".concat(componentName, "` requires at least one node of type ").concat(propType.typeName || propType.name)); - } - - for (var _len3 = arguments.length, rest = new Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) { - rest[_key3 - 3] = arguments[_key3]; - } - - return validateChildren.apply(void 0, [propType, children, props, componentName].concat(rest)); - }; - - return (0, _wrapValidator["default"])(childrenOfPropType, 'childrenOf', propType); -} -//# sourceMappingURL=childrenOf.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/childrenOfType.js": -/*!****************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/childrenOfType.js ***! - \****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _arrayPrototype = _interopRequireDefault(__webpack_require__(/*! array.prototype.find */ "./node_modules/array.prototype.find/index.js")); - -var _getComponentName = _interopRequireDefault(__webpack_require__(/*! ./helpers/getComponentName */ "./node_modules/airbnb-prop-types/build/helpers/getComponentName.js")); - -var _renderableChildren = _interopRequireDefault(__webpack_require__(/*! ./helpers/renderableChildren */ "./node_modules/airbnb-prop-types/build/helpers/renderableChildren.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function onlyTypes(types, children, componentName) { - if (!children.every(function (child) { - return child && (0, _arrayPrototype["default"])(types, function (Type) { - return Type === '*' || child.type === Type; - }); - })) { - var typeNames = types.map(_getComponentName["default"]).join(', or '); - return new TypeError("`".concat(componentName, "` only accepts children of type ").concat(typeNames)); - } - - return null; -} - -function isRequired(types, children, componentName) { - if (children.length === 0) { - var typeNames = types.map(_getComponentName["default"]).join(', or '); - return new TypeError("`".concat(componentName, "` requires at least one node of type ").concat(typeNames)); - } - - return null; -} - -function childrenOfType() { - for (var _len = arguments.length, types = new Array(_len), _key = 0; _key < _len; _key++) { - types[_key] = arguments[_key]; - } - - if (types.length < 1) { - throw new TypeError('childrenOfType: at least 1 type is required'); - } - - function validator(props, propName, componentName) { - return onlyTypes(types, (0, _renderableChildren["default"])(props[propName]), componentName); - } - - validator.isRequired = function (props, propName, componentName) { - var children = (0, _renderableChildren["default"])(props[propName]); - return isRequired(types, children, componentName) || onlyTypes(types, children, componentName); - }; - - return (0, _wrapValidator["default"])(validator, 'childrenOfType', types); -} - -var _default = childrenOfType; -exports["default"] = _default; -//# sourceMappingURL=childrenOfType.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/childrenSequenceOf.js": -/*!********************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/childrenSequenceOf.js ***! - \********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = childrenSequenceOfValidator; - -var _sequenceOf = _interopRequireDefault(__webpack_require__(/*! ./sequenceOf */ "./node_modules/airbnb-prop-types/build/sequenceOf.js")); - -var _renderableChildren = _interopRequireDefault(__webpack_require__(/*! ./helpers/renderableChildren */ "./node_modules/airbnb-prop-types/build/helpers/renderableChildren.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function 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; } - -function _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; } - -function _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; } - -function childrenSequenceOfValidator() { - for (var _len = arguments.length, specifiers = new Array(_len), _key = 0; _key < _len; _key++) { - specifiers[_key] = arguments[_key]; - } - - var seq = _sequenceOf["default"].apply(void 0, specifiers); - - var validator = function childrenSequenceOf(props, propName, componentName) { - if (propName !== 'children') { - return new TypeError("".concat(componentName, " is using the childrenSequenceOf validator on non-children prop \"").concat(propName, "\"")); - } - - var propValue = props[propName]; - var children = (0, _renderableChildren["default"])(propValue); - - if (children.length === 0) { - return null; - } - - for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - rest[_key2 - 3] = arguments[_key2]; - } - - return seq.apply(void 0, [_objectSpread(_objectSpread({}, props), {}, { - children: children - }), propName, componentName].concat(rest)); - }; - - validator.isRequired = function childrenSequenceOfRequired(props, propName, componentName) { - if (propName !== 'children') { - return new TypeError("".concat(componentName, " is using the childrenSequenceOf validator on non-children prop \"").concat(propName, "\"")); - } - - var propValue = props[propName]; - var children = (0, _renderableChildren["default"])(propValue); - - if (children.length === 0) { - return new TypeError("".concat(componentName, ": renderable children are required.")); - } - - for (var _len3 = arguments.length, rest = new Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) { - rest[_key3 - 3] = arguments[_key3]; - } - - return seq.isRequired.apply(seq, [_objectSpread(_objectSpread({}, props), {}, { - children: children - }), propName, componentName].concat(rest)); - }; - - return (0, _wrapValidator["default"])(validator, 'childrenSequenceOf', specifiers); -} -//# sourceMappingURL=childrenSequenceOf.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/componentWithName.js": -/*!*******************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/componentWithName.js ***! - \*******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = componentWithName; - -var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); - -var _isRegex = _interopRequireDefault(__webpack_require__(/*! is-regex */ "./node_modules/is-regex/index.js")); - -var _arrayPrototype = _interopRequireDefault(__webpack_require__(/*! array.prototype.find */ "./node_modules/array.prototype.find/index.js")); - -var _getComponentName = _interopRequireDefault(__webpack_require__(/*! ./helpers/getComponentName */ "./node_modules/airbnb-prop-types/build/helpers/getComponentName.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function stripHOCs(fullName, namesOfHOCsToStrip) { - var innerName = fullName; - - while (/\([^()]*\)/g.test(innerName)) { - var HOC = innerName; - var previousHOC = void 0; - - do { - previousHOC = HOC; - HOC = previousHOC.replace(/\([^()]*\)/g, ''); - } while (previousHOC !== HOC); - - if (namesOfHOCsToStrip.indexOf(HOC) === -1) { - return innerName; - } - - innerName = innerName.replace(RegExp("^".concat(HOC, "\\(|\\)$"), 'g'), ''); - } - - return innerName; -} - -function hasName(name, namesOfHOCsToStrip, propValue, propName, componentName) { - for (var _len = arguments.length, rest = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) { - rest[_key - 5] = arguments[_key]; - } - - if (Array.isArray(propValue)) { - return (0, _arrayPrototype["default"])(propValue.map(function (item) { - return hasName.apply(void 0, [name, namesOfHOCsToStrip, item, propName, componentName].concat(rest)); - }), Boolean) || null; - } - - if (! /*#__PURE__*/_react["default"].isValidElement(propValue)) { - return new TypeError("".concat(componentName, ".").concat(propName, " is not a valid React element")); - } - - var type = propValue.type; - var componentNameFromType = (0, _getComponentName["default"])(type); - var innerComponentName = namesOfHOCsToStrip.length > 0 ? stripHOCs(componentNameFromType, namesOfHOCsToStrip) : componentNameFromType; - - if ((0, _isRegex["default"])(name) && !name.test(innerComponentName)) { - return new TypeError("`".concat(componentName, ".").concat(propName, "` only accepts components matching the regular expression ").concat(name)); - } - - if (!(0, _isRegex["default"])(name) && innerComponentName !== name) { - return new TypeError("`".concat(componentName, ".").concat(propName, "` only accepts components named ").concat(name, ", got ").concat(innerComponentName)); - } - - return null; -} - -function componentWithName(name) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - if (typeof name !== 'string' && !(0, _isRegex["default"])(name)) { - throw new TypeError('name must be a string or a regex'); - } - - var passedOptions = Object.keys(options); - - if (passedOptions.length > 1 || passedOptions.length === 1 && passedOptions[0] !== 'stripHOCs') { - throw new TypeError("The only options supported are: \u201CstripHOCs\u201D, got: \u201C".concat(passedOptions.join('”, “'), "\u201D")); - } - - var _options$stripHOCs = options.stripHOCs, - namesOfHOCsToStrip = _options$stripHOCs === void 0 ? [] : _options$stripHOCs; - var allHOCNamesAreValid = namesOfHOCsToStrip.every(function (x) { - if (typeof x !== 'string' || /[()]/g.test(x)) { - return false; - } - - return /^(?:[a-z][a-zA-Z0-9]+|[A-Z][a-z][a-zA-Z0-9]+)$/.test(x); - }); - - if (!allHOCNamesAreValid) { - throw new TypeError('every provided HOC name must be a string with no parens, and in camelCase'); - } - - function componentWithNameValidator(props, propName, componentName) { - var propValue = props[propName]; - - if (props[propName] == null) { - return null; - } - - for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - rest[_key2 - 3] = arguments[_key2]; - } - - return hasName.apply(void 0, [name, namesOfHOCsToStrip, propValue, propName, componentName].concat(rest)); - } - - componentWithNameValidator.isRequired = function componentWithNameRequired(props, propName, componentName) { - var propValue = props[propName]; - - if (propValue == null) { - return new TypeError("`".concat(componentName, ".").concat(propName, "` requires at least one component named ").concat(name)); - } - - for (var _len3 = arguments.length, rest = new Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) { - rest[_key3 - 3] = arguments[_key3]; - } - - return hasName.apply(void 0, [name, namesOfHOCsToStrip, propValue, propName, componentName].concat(rest)); - }; - - return (0, _wrapValidator["default"])(componentWithNameValidator, "componentWithName:".concat(name), name); -} -//# sourceMappingURL=componentWithName.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/disallowedIf.js": -/*!**************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/disallowedIf.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = disallowedIf; - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function disallowedIf(propType, otherPropName, otherPropType) { - if (typeof propType !== 'function' || typeof propType.isRequired !== 'function') { - throw new TypeError('a propType validator is required; propType validators must also provide `.isRequired`'); - } - - if (typeof otherPropName !== 'string') { - throw new TypeError('other prop name must be a string'); - } - - if (typeof otherPropType !== 'function') { - throw new TypeError('other prop type validator is required'); - } - - function disallowedIfRequired(props, propName, componentName) { - for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - rest[_key - 3] = arguments[_key]; - } - - var error = propType.isRequired.apply(propType, [props, propName, componentName].concat(rest)); - - if (error) { - return error; - } - - if (props[otherPropName] == null) { - return null; - } - - var otherError = otherPropType.apply(void 0, [props, otherPropName, componentName].concat(rest)); - - if (otherError) { - return null; - } - - return new Error("prop \u201C".concat(propName, "\u201D is disallowed when \u201C").concat(otherPropName, "\u201D matches the provided validator")); - } - - var validator = function disallowedIfPropType(props, propName) { - if (props[propName] == null) { - return null; - } - - for (var _len2 = arguments.length, rest = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { - rest[_key2 - 2] = arguments[_key2]; - } - - return disallowedIfRequired.apply(void 0, [props, propName].concat(rest)); - }; - - validator.isRequired = disallowedIfRequired; - return (0, _wrapValidator["default"])(validator, 'disallowedIf', { - propType: propType, - otherPropName: otherPropName, - otherPropType: otherPropType - }); -} -//# sourceMappingURL=disallowedIf.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/elementType.js": -/*!*************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/elementType.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = elementTypeValidator; - -var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); - -var _reactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); - -var _and = _interopRequireDefault(__webpack_require__(/*! ./and */ "./node_modules/airbnb-prop-types/build/and.js")); - -var _getComponentName = _interopRequireDefault(__webpack_require__(/*! ./helpers/getComponentName */ "./node_modules/airbnb-prop-types/build/helpers/getComponentName.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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 getTypeName(Type) { - if (typeof Type === 'string') { - return Type; - } - - var type = (0, _getComponentName["default"])(Type); - /* istanbul ignore next */ - // in environments where functions do not have names - - return type || 'Anonymous Component'; -} - -function validateElementType(Type, props, propName, componentName) { - var type = props[propName].type; - - if (type === Type) { - return null; - } - - return new TypeError("".concat(componentName, ".").concat(propName, " must be a React element of type ").concat(getTypeName(Type))); -} - -function elementTypeValidator(Type) { - if (Type === '*') { - return (0, _wrapValidator["default"])(_propTypes.element, 'elementType(*)', Type); - } - - if (!(0, _reactIs.isValidElementType)(Type)) { - throw new TypeError("Type must be a React Component, an HTML element tag name, or \"*\". Got an ".concat(_typeof(Type))); - } - - function elementType(props, propName, componentName) { - if (props[propName] == null) { - return null; - } - - for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - rest[_key - 3] = arguments[_key]; - } - - return validateElementType.apply(void 0, [Type, props, propName, componentName].concat(rest)); - } - - elementType.isRequired = elementType; // covered by and + element - - var typeName = getTypeName(Type); - var validatorName = "elementType(".concat(typeName, ")"); - return (0, _wrapValidator["default"])((0, _and["default"])([_propTypes.element, elementType], validatorName), validatorName, Type); -} -//# sourceMappingURL=elementType.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/empty.js": -/*!*******************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/empty.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); - -var _or = _interopRequireDefault(__webpack_require__(/*! ./or */ "./node_modules/airbnb-prop-types/build/or.js")); - -var _explicitNull = _interopRequireDefault(__webpack_require__(/*! ./explicitNull */ "./node_modules/airbnb-prop-types/build/explicitNull.js")); - -var _withShape = _interopRequireDefault(__webpack_require__(/*! ./withShape */ "./node_modules/airbnb-prop-types/build/withShape.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var arrayOfValidator; -var validator = (0, _or["default"])([_explicitNull["default"], // null/undefined -(0, _propTypes.oneOf)([false, '', NaN]), (0, _withShape["default"])(_propTypes.array, { - length: (0, _propTypes.oneOf)([0]).isRequired -}).isRequired, function () { - return arrayOfValidator.apply(void 0, arguments); -}]); -arrayOfValidator = (0, _propTypes.arrayOf)(validator).isRequired; - -var _default = function _default() { - return (0, _wrapValidator["default"])(validator, 'empty'); -}; - -exports["default"] = _default; -//# sourceMappingURL=empty.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/explicitNull.js": -/*!**************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/explicitNull.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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 explicitNull(props, propName, componentName) { - if (props[propName] == null) { - return null; - } - - return new TypeError("".concat(componentName, ": prop \u201C").concat(propName, "\u201D must be null or undefined; received ").concat(_typeof(props[propName]))); -} - -explicitNull.isRequired = function explicitNullRequired(props, propName, componentName) { - if (props[propName] === null) { - return null; - } - - return new TypeError("".concat(componentName, ": prop \u201C").concat(propName, "\u201D must be null; received ").concat(_typeof(props[propName]))); -}; - -var _default = function _default() { - return (0, _wrapValidator["default"])(explicitNull, 'explicitNull'); -}; - -exports["default"] = _default; -//# sourceMappingURL=explicitNull.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/helpers/getComponentName.js": -/*!**************************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/helpers/getComponentName.js ***! - \**************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = getComponentName; - -var _functionPrototype = _interopRequireDefault(__webpack_require__(/*! function.prototype.name */ "./node_modules/function.prototype.name/index.js")); - -var _reactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function getComponentName(Component) { - if (typeof Component === 'string') { - return Component; - } - - if (typeof Component === 'function') { - return Component.displayName || (0, _functionPrototype["default"])(Component); - } - - if ((0, _reactIs.isForwardRef)({ - type: Component, - $$typeof: _reactIs.Element - })) { - return Component.displayName; - } - - if ((0, _reactIs.isMemo)(Component)) { - return getComponentName(Component.type); - } - - return null; -} -//# sourceMappingURL=getComponentName.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/helpers/isInteger.js": -/*!*******************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/helpers/isInteger.js ***! - \*******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; -var floor = Math.floor; -var finite = isFinite; - -var _default = Number.isInteger || -/* istanbul ignore next */ -function (x) { - return typeof x === 'number' && finite(x) && floor(x) === x; -}; - -exports["default"] = _default; -//# sourceMappingURL=isInteger.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/helpers/isPlainObject.js": -/*!***********************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/helpers/isPlainObject.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _isPlainObject = _interopRequireDefault(__webpack_require__(/*! prop-types-exact/build/helpers/isPlainObject */ "./node_modules/prop-types-exact/build/helpers/isPlainObject.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _default = _isPlainObject["default"]; -exports["default"] = _default; -//# sourceMappingURL=isPlainObject.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/helpers/isPrimitive.js": -/*!*********************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/helpers/isPrimitive.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = isPrimitive; - -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 isPrimitive(x) { - return !x || _typeof(x) !== 'object' && typeof x !== 'function'; -} -//# sourceMappingURL=isPrimitive.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/helpers/renderableChildren.js": -/*!****************************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/helpers/renderableChildren.js ***! - \****************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = renderableChildren; - -var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function renderableChildren(childrenProp) { - return _react["default"].Children.toArray(childrenProp).filter(function (child) { - return child === 0 || child; - }); -} -//# sourceMappingURL=renderableChildren.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/helpers/typeOf.js": -/*!****************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/helpers/typeOf.js ***! - \****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = typeOf; - -var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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 typeOf(child) { - if (child === null) { - return 'null'; - } - - if (Array.isArray(child)) { - return 'array'; - } - - if (_typeof(child) !== 'object') { - return _typeof(child); - } - - if ( /*#__PURE__*/_react["default"].isValidElement(child)) { - return child.type; - } - - return child; -} -//# sourceMappingURL=typeOf.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js": -/*!***********************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = wrapValidator; - -var _object = _interopRequireDefault(__webpack_require__(/*! object.assign */ "./node_modules/object.assign/index.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function wrapValidator(validator, typeName) { - var typeChecker = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - return (0, _object["default"])(validator.bind(), { - typeName: typeName, - typeChecker: typeChecker, - isRequired: (0, _object["default"])(validator.isRequired.bind(), { - typeName: typeName, - typeChecker: typeChecker, - typeRequired: true - }) - }); -} -//# sourceMappingURL=wrapValidator.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/index.js": -/*!*******************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/index.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _propTypesExact = _interopRequireDefault(__webpack_require__(/*! prop-types-exact */ "./node_modules/prop-types-exact/build/index.js")); - -var _and = _interopRequireDefault(__webpack_require__(/*! ./and */ "./node_modules/airbnb-prop-types/build/and.js")); - -var _between = _interopRequireDefault(__webpack_require__(/*! ./between */ "./node_modules/airbnb-prop-types/build/between.js")); - -var _booleanSome = _interopRequireDefault(__webpack_require__(/*! ./booleanSome */ "./node_modules/airbnb-prop-types/build/booleanSome.js")); - -var _childrenHavePropXorChildren = _interopRequireDefault(__webpack_require__(/*! ./childrenHavePropXorChildren */ "./node_modules/airbnb-prop-types/build/childrenHavePropXorChildren.js")); - -var _childrenOf = _interopRequireDefault(__webpack_require__(/*! ./childrenOf */ "./node_modules/airbnb-prop-types/build/childrenOf.js")); - -var _childrenOfType = _interopRequireDefault(__webpack_require__(/*! ./childrenOfType */ "./node_modules/airbnb-prop-types/build/childrenOfType.js")); - -var _childrenSequenceOf = _interopRequireDefault(__webpack_require__(/*! ./childrenSequenceOf */ "./node_modules/airbnb-prop-types/build/childrenSequenceOf.js")); - -var _componentWithName = _interopRequireDefault(__webpack_require__(/*! ./componentWithName */ "./node_modules/airbnb-prop-types/build/componentWithName.js")); - -var _disallowedIf = _interopRequireDefault(__webpack_require__(/*! ./disallowedIf */ "./node_modules/airbnb-prop-types/build/disallowedIf.js")); - -var _elementType = _interopRequireDefault(__webpack_require__(/*! ./elementType */ "./node_modules/airbnb-prop-types/build/elementType.js")); - -var _empty = _interopRequireDefault(__webpack_require__(/*! ./empty */ "./node_modules/airbnb-prop-types/build/empty.js")); - -var _explicitNull = _interopRequireDefault(__webpack_require__(/*! ./explicitNull */ "./node_modules/airbnb-prop-types/build/explicitNull.js")); - -var _integer = _interopRequireDefault(__webpack_require__(/*! ./integer */ "./node_modules/airbnb-prop-types/build/integer.js")); - -var _keysOf = _interopRequireDefault(__webpack_require__(/*! ./keysOf */ "./node_modules/airbnb-prop-types/build/keysOf.js")); - -var _mutuallyExclusiveProps = _interopRequireDefault(__webpack_require__(/*! ./mutuallyExclusiveProps */ "./node_modules/airbnb-prop-types/build/mutuallyExclusiveProps.js")); - -var _mutuallyExclusiveTrueProps = _interopRequireDefault(__webpack_require__(/*! ./mutuallyExclusiveTrueProps */ "./node_modules/airbnb-prop-types/build/mutuallyExclusiveTrueProps.js")); - -var _nChildren = _interopRequireDefault(__webpack_require__(/*! ./nChildren */ "./node_modules/airbnb-prop-types/build/nChildren.js")); - -var _nonNegativeInteger = _interopRequireDefault(__webpack_require__(/*! ./nonNegativeInteger */ "./node_modules/airbnb-prop-types/build/nonNegativeInteger.js")); - -var _nonNegativeNumber = _interopRequireDefault(__webpack_require__(/*! ./nonNegativeNumber */ "./node_modules/airbnb-prop-types/build/nonNegativeNumber.js")); - -var _numericString = _interopRequireDefault(__webpack_require__(/*! ./numericString */ "./node_modules/airbnb-prop-types/build/numericString.js")); - -var _object = _interopRequireDefault(__webpack_require__(/*! ./object */ "./node_modules/airbnb-prop-types/build/object.js")); - -var _or = _interopRequireDefault(__webpack_require__(/*! ./or */ "./node_modules/airbnb-prop-types/build/or.js")); - -var _predicate = _interopRequireDefault(__webpack_require__(/*! ./predicate */ "./node_modules/airbnb-prop-types/build/predicate.js")); - -var _range = _interopRequireDefault(__webpack_require__(/*! ./range */ "./node_modules/airbnb-prop-types/build/range.js")); - -var _ref = _interopRequireDefault(__webpack_require__(/*! ./ref */ "./node_modules/airbnb-prop-types/build/ref.js")); - -var _requiredBy = _interopRequireDefault(__webpack_require__(/*! ./requiredBy */ "./node_modules/airbnb-prop-types/build/requiredBy.js")); - -var _restrictedProp = _interopRequireDefault(__webpack_require__(/*! ./restrictedProp */ "./node_modules/airbnb-prop-types/build/restrictedProp.js")); - -var _sequenceOf = _interopRequireDefault(__webpack_require__(/*! ./sequenceOf */ "./node_modules/airbnb-prop-types/build/sequenceOf.js")); - -var _shape = _interopRequireDefault(__webpack_require__(/*! ./shape */ "./node_modules/airbnb-prop-types/build/shape.js")); - -var _stringEndsWith = _interopRequireDefault(__webpack_require__(/*! ./stringEndsWith */ "./node_modules/airbnb-prop-types/build/stringEndsWith.js")); - -var _stringStartsWith = _interopRequireDefault(__webpack_require__(/*! ./stringStartsWith */ "./node_modules/airbnb-prop-types/build/stringStartsWith.js")); - -var _uniqueArray = _interopRequireDefault(__webpack_require__(/*! ./uniqueArray */ "./node_modules/airbnb-prop-types/build/uniqueArray.js")); - -var _uniqueArrayOf = _interopRequireDefault(__webpack_require__(/*! ./uniqueArrayOf */ "./node_modules/airbnb-prop-types/build/uniqueArrayOf.js")); - -var _valuesOf = _interopRequireDefault(__webpack_require__(/*! ./valuesOf */ "./node_modules/airbnb-prop-types/build/valuesOf.js")); - -var _withShape = _interopRequireDefault(__webpack_require__(/*! ./withShape */ "./node_modules/airbnb-prop-types/build/withShape.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -module.exports = { - and: _and["default"], - between: _between["default"], - booleanSome: _booleanSome["default"], - childrenHavePropXorChildren: _childrenHavePropXorChildren["default"], - childrenOf: _childrenOf["default"], - childrenOfType: _childrenOfType["default"], - childrenSequenceOf: _childrenSequenceOf["default"], - componentWithName: _componentWithName["default"], - disallowedIf: _disallowedIf["default"], - elementType: _elementType["default"], - empty: _empty["default"], - explicitNull: _explicitNull["default"], - forbidExtraProps: _propTypesExact["default"], - integer: _integer["default"], - keysOf: _keysOf["default"], - mutuallyExclusiveProps: _mutuallyExclusiveProps["default"], - mutuallyExclusiveTrueProps: _mutuallyExclusiveTrueProps["default"], - nChildren: _nChildren["default"], - nonNegativeInteger: _nonNegativeInteger["default"], - nonNegativeNumber: _nonNegativeNumber["default"], - numericString: _numericString["default"], - object: _object["default"], - or: _or["default"], - predicate: _predicate["default"], - range: _range["default"], - ref: _ref["default"], - requiredBy: _requiredBy["default"], - restrictedProp: _restrictedProp["default"], - sequenceOf: _sequenceOf["default"], - shape: _shape["default"], - stringEndsWith: _stringEndsWith["default"], - stringStartsWith: _stringStartsWith["default"], - uniqueArray: _uniqueArray["default"], - uniqueArrayOf: _uniqueArrayOf["default"], - valuesOf: _valuesOf["default"], - withShape: _withShape["default"] -}; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/integer.js": -/*!*********************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/integer.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _isInteger = _interopRequireDefault(__webpack_require__(/*! ./helpers/isInteger */ "./node_modules/airbnb-prop-types/build/helpers/isInteger.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function requiredInteger(props, propName, componentName) { - var propValue = props[propName]; - - if (propValue == null || !(0, _isInteger["default"])(propValue)) { - return new RangeError("".concat(propName, " in ").concat(componentName, " must be an integer")); - } - - return null; -} - -var validator = function integer(props, propName) { - var propValue = props[propName]; - - if (propValue == null) { - return null; - } - - for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - rest[_key - 2] = arguments[_key]; - } - - return requiredInteger.apply(void 0, [props, propName].concat(rest)); -}; - -validator.isRequired = requiredInteger; - -var _default = function _default() { - return (0, _wrapValidator["default"])(validator, 'integer'); -}; - -exports["default"] = _default; -//# sourceMappingURL=integer.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/keysOf.js": -/*!********************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/keysOf.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = keysOfValidator; - -var _isPrimitive = _interopRequireDefault(__webpack_require__(/*! ./helpers/isPrimitive */ "./node_modules/airbnb-prop-types/build/helpers/isPrimitive.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function _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; } - -function keysOfValidator(propType) { - var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'keysOf'; - - if (typeof propType !== 'function') { - throw new TypeError('argument to keysOf must be a valid PropType function'); - } - - var validator = function keysOf(props, propName, componentName, location, propFullName) { - for (var _len = arguments.length, rest = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) { - rest[_key - 5] = arguments[_key]; - } - - var propValue = props[propName]; - - if (propValue == null || (0, _isPrimitive["default"])(propValue)) { - return null; - } - - var firstError = null; - Object.keys(propValue).some(function (key) { - firstError = propType.apply(void 0, [_defineProperty({}, key, key), key, componentName, location, "(".concat(propFullName, ").").concat(key)].concat(rest)); - return firstError != null; - }); - return firstError || null; - }; - - validator.isRequired = function keyedByRequired(props, propName, componentName) { - var propValue = props[propName]; - - if (propValue == null) { - return new TypeError("".concat(componentName, ": ").concat(propName, " is required, but value is ").concat(propValue)); - } - - for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - rest[_key2 - 3] = arguments[_key2]; - } - - return validator.apply(void 0, [props, propName, componentName].concat(rest)); - }; - - return (0, _wrapValidator["default"])(validator, name, propType); -} -//# sourceMappingURL=keysOf.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/mutuallyExclusiveProps.js": -/*!************************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/mutuallyExclusiveProps.js ***! - \************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = mutuallyExclusiveOfType; - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function 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; } - -function _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; } - -function _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; } - -function mutuallyExclusiveOfType(propType) { - if (typeof propType !== 'function') { - throw new TypeError('a propType is required'); - } - - for (var _len = arguments.length, exclusiveProps = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - exclusiveProps[_key - 1] = arguments[_key]; - } - - if (exclusiveProps.length < 1) { - throw new TypeError('at least one prop that is mutually exclusive with this propType is required'); - } - - var propList = exclusiveProps.join(', or '); - var map = exclusiveProps.reduce(function (acc, prop) { - return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, prop, true)); - }, {}); - - var countProps = function countProps(count, prop) { - return count + (map[prop] ? 1 : 0); - }; - - var validator = function mutuallyExclusiveProps(props, propName, componentName) { - var exclusivePropCount = Object.keys(props).filter(function (prop) { - return props[prop] != null; - }).reduce(countProps, 0); - - if (exclusivePropCount > 1) { - return new Error("A ".concat(componentName, " cannot have more than one of these props: ").concat(propList)); - } - - for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - rest[_key2 - 3] = arguments[_key2]; - } - - return propType.apply(void 0, [props, propName, componentName].concat(rest)); - }; - - validator.isRequired = function mutuallyExclusivePropsRequired(props, propName, componentName) { - var exclusivePropCount = Object.keys(props).filter(function (prop) { - return prop === propName || props[prop] != null; - }).reduce(countProps, 0); - - if (exclusivePropCount > 1) { - return new Error("A ".concat(componentName, " cannot have more than one of these props: ").concat(propList)); - } - - for (var _len3 = arguments.length, rest = new Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) { - rest[_key3 - 3] = arguments[_key3]; - } - - return propType.apply(void 0, [props, propName, componentName].concat(rest)); - }; - - return (0, _wrapValidator["default"])(validator, "mutuallyExclusiveProps:".concat(propList), exclusiveProps); -} -//# sourceMappingURL=mutuallyExclusiveProps.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/mutuallyExclusiveTrueProps.js": -/*!****************************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/mutuallyExclusiveTrueProps.js ***! - \****************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = mutuallyExclusiveTrue; - -var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function mutuallyExclusiveTrue() { - for (var _len = arguments.length, exclusiveProps = new Array(_len), _key = 0; _key < _len; _key++) { - exclusiveProps[_key] = arguments[_key]; - } - - if (exclusiveProps.length < 1) { - throw new TypeError('at least one prop that is mutually exclusive is required'); - } - - if (!exclusiveProps.every(function (x) { - return typeof x === 'string'; - })) { - throw new TypeError('all exclusive true props must be strings'); - } - - var propsList = exclusiveProps.join(', or '); - - var validator = function mutuallyExclusiveTrueProps(props, propName, componentName) { - var countProps = function countProps(count, prop) { - return count + (props[prop] ? 1 : 0); - }; - - var exclusivePropCount = exclusiveProps.reduce(countProps, 0); - - if (exclusivePropCount > 1) { - return new Error("A ".concat(componentName, " cannot have more than one of these boolean props be true: ").concat(propsList)); - } - - for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - rest[_key2 - 3] = arguments[_key2]; - } - - return _propTypes.bool.apply(void 0, [props, propName, componentName].concat(rest)); - }; - - validator.isRequired = function mutuallyExclusiveTruePropsRequired(props, propName, componentName) { - var countProps = function countProps(count, prop) { - return count + (props[prop] ? 1 : 0); - }; - - var exclusivePropCount = exclusiveProps.reduce(countProps, 0); - - if (exclusivePropCount > 1) { - return new Error("A ".concat(componentName, " cannot have more than one of these boolean props be true: ").concat(propsList)); - } - - for (var _len3 = arguments.length, rest = new Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) { - rest[_key3 - 3] = arguments[_key3]; - } - - return _propTypes.bool.isRequired.apply(_propTypes.bool, [props, propName, componentName].concat(rest)); - }; - - return (0, _wrapValidator["default"])(validator, "mutuallyExclusiveTrueProps: ".concat(propsList), exclusiveProps); -} -//# sourceMappingURL=mutuallyExclusiveTrueProps.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/nChildren.js": -/*!***********************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/nChildren.js ***! - \***********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = nChildren; - -var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); - -var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function nChildren(n) { - var propType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _propTypes.node; - - if (typeof n !== 'number' || isNaN(n) || n < 0) { - throw new TypeError('a non-negative number is required'); - } - - var validator = function nChildrenValidator(props, propName, componentName) { - if (propName !== 'children') { - return new TypeError("".concat(componentName, " is using the nChildren validator on a non-children prop")); - } - - var children = props.children; - - var childrenCount = _react["default"].Children.count(children); - - if (childrenCount !== n) { - return new RangeError("".concat(componentName, " expects to receive ").concat(n, " children, but received ").concat(childrenCount, " children.")); - } - - for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - rest[_key - 3] = arguments[_key]; - } - - return propType.apply(void 0, [props, propName, componentName].concat(rest)); - }; - - validator.isRequired = validator; - return (0, _wrapValidator["default"])(validator, "nChildren:".concat(n), n); -} -//# sourceMappingURL=nChildren.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/nonNegativeInteger.js": -/*!********************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/nonNegativeInteger.js ***! - \********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _and = _interopRequireDefault(__webpack_require__(/*! ./and */ "./node_modules/airbnb-prop-types/build/and.js")); - -var _integer = _interopRequireDefault(__webpack_require__(/*! ./integer */ "./node_modules/airbnb-prop-types/build/integer.js")); - -var _nonNegativeNumber = _interopRequireDefault(__webpack_require__(/*! ./nonNegativeNumber */ "./node_modules/airbnb-prop-types/build/nonNegativeNumber.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _default = (0, _and["default"])([(0, _integer["default"])(), (0, _nonNegativeNumber["default"])()], 'nonNegativeInteger'); - -exports["default"] = _default; -//# sourceMappingURL=nonNegativeInteger.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/nonNegativeNumber.js": -/*!*******************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/nonNegativeNumber.js ***! - \*******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _objectIs = _interopRequireDefault(__webpack_require__(/*! object-is */ "./node_modules/object-is/index.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function isNonNegative(x) { - return typeof x === 'number' && isFinite(x) && x >= 0 && !(0, _objectIs["default"])(x, -0); -} - -function nonNegativeNumber(props, propName, componentName) { - var value = props[propName]; - - if (value == null || isNonNegative(value)) { - return null; - } - - return new RangeError("".concat(propName, " in ").concat(componentName, " must be a non-negative number")); -} - -function requiredNonNegativeNumber(props, propName, componentName) { - var value = props[propName]; - - if (isNonNegative(value)) { - return null; - } - - return new RangeError("".concat(propName, " in ").concat(componentName, " must be a non-negative number")); -} - -nonNegativeNumber.isRequired = requiredNonNegativeNumber; - -var _default = function _default() { - return (0, _wrapValidator["default"])(nonNegativeNumber, 'nonNegativeNumber'); -}; - -exports["default"] = _default; -//# sourceMappingURL=nonNegativeNumber.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/numericString.js": -/*!***************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/numericString.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var validNumericChars = /^[-+]?(?:[1-9][0-9]*(?:\.[0-9]+)?|0|0\.[0-9]+)$/; - -var validator = function numericString(props, propName, componentName) { - if (props[propName] == null) { - return null; - } - - for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - rest[_key - 3] = arguments[_key]; - } - - var stringError = _propTypes.string.apply(void 0, [props, propName, componentName].concat(rest)); - - if (stringError) { - return stringError; - } - - var value = props[propName]; - var passesRegex = validNumericChars.test(value); - - if (passesRegex) { - return null; - } - - return new TypeError("".concat(componentName, ": prop \"").concat(propName, "\" (value \"").concat(value, "\") must be a numeric string:\n - starting with an optional + or -\n - that does not have a leading zero\n - with an optional decimal part (that contains only one decimal point, if present)\n - that otherwise only contains digits (0-9)\n - not +-NaN, or +-Infinity\n ")); -}; - -validator.isRequired = function numericStringRequired(props, propName, componentName) { - if (props[propName] == null) { - return new TypeError("".concat(componentName, ": ").concat(propName, " is required")); - } - - for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - rest[_key2 - 3] = arguments[_key2]; - } - - return validator.apply(void 0, [props, propName, componentName].concat(rest)); -}; - -var _default = function _default() { - return (0, _wrapValidator["default"])(validator, 'numericString'); -}; - -exports["default"] = _default; -//# sourceMappingURL=numericString.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/object.js": -/*!********************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/object.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _isPlainObject = _interopRequireDefault(__webpack_require__(/*! ./helpers/isPlainObject */ "./node_modules/airbnb-prop-types/build/helpers/isPlainObject.js")); - -var _typeOf = _interopRequireDefault(__webpack_require__(/*! ./helpers/typeOf */ "./node_modules/airbnb-prop-types/build/helpers/typeOf.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -/* - code adapted from https://github.com/facebook/react/blob/14156e56b9cf18ac86963185c5af4abddf3ff811/src/isomorphic/classic/types/ReactPropTypes.js#L202-L206 - so that it can be called outside of React's normal PropType flow -*/ -var ReactPropTypeLocationNames = { - prop: 'prop', - context: 'context', - childContext: 'child context' -}; - -function object(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - - if (propValue == null) { - return null; - } - - if ((0, _isPlainObject["default"])(propValue)) { - return null; - } - - var locationName = ReactPropTypeLocationNames[location] || location; - return new TypeError("Invalid ".concat(locationName, " `").concat(propFullName, "` of type `").concat((0, _typeOf["default"])(propValue), "` supplied to `").concat(componentName, "`, expected `object`.")); -} - -object.isRequired = function objectRequired(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - - if (propValue == null) { - var locationName = ReactPropTypeLocationNames[location] || location; - return new TypeError("The ".concat(locationName, " `").concat(propFullName, "` is marked as required in `").concat(componentName, "`, but its value is `").concat(propValue, "`.")); - } - - for (var _len = arguments.length, rest = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) { - rest[_key - 5] = arguments[_key]; - } - - return object.apply(void 0, [props, propName, componentName, location, propFullName].concat(rest)); -}; - -var _default = function _default() { - return (0, _wrapValidator["default"])(object, 'object'); -}; - -exports["default"] = _default; -//# sourceMappingURL=object.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/or.js": -/*!****************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/or.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = or; - -var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { 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 _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function oneOfTypeValidator(validators) { - var validator = function oneOfType(props, propName, componentName) { - for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - rest[_key - 3] = arguments[_key]; - } - - var propValue = props[propName]; - - if (typeof propValue === 'undefined') { - return null; - } - - var errors = validators.map(function (v) { - return v.apply(void 0, [props, propName, componentName].concat(rest)); - }).filter(Boolean); - - if (errors.length < validators.length) { - return null; - } - - return new TypeError("".concat(componentName, ": invalid value supplied to ").concat(propName, ".")); - }; - - validator.isRequired = function oneOfTypeRequired(props, propName, componentName) { - for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - rest[_key2 - 3] = arguments[_key2]; - } - - var propValue = props[propName]; - - if (typeof propValue === 'undefined') { - return new TypeError("".concat(componentName, ": missing value for required ").concat(propName, ".")); - } - - var errors = validators.map(function (v) { - return v.apply(void 0, [props, propName, componentName].concat(rest)); - }).filter(Boolean); - - if (errors.length === validators.length) { - return new TypeError("".concat(componentName, ": invalid value ").concat(errors, " supplied to required ").concat(propName, ".")); - } - - return null; - }; - - return (0, _wrapValidator["default"])(validator, 'oneOfType', validators); -} - -function or(validators) { - var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'or'; - - if (!Array.isArray(validators)) { - throw new TypeError('or: 2 or more validators are required'); - } - - if (validators.length <= 1) { - throw new RangeError('or: 2 or more validators are required'); - } - - var validator = oneOfTypeValidator([(0, _propTypes.arrayOf)(oneOfTypeValidator(validators))].concat(_toConsumableArray(validators))); - return (0, _wrapValidator["default"])(validator, name, validators); -} -//# sourceMappingURL=or.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/predicate.js": -/*!***********************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/predicate.js ***! - \***********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = predicate; - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function predicate(fn) { - var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; - - if (typeof fn !== 'function') { - throw new TypeError('`fn` must be a function'); - } - - if (typeof message !== 'string') { - throw new TypeError('`message`, if provided, must be a string'); - } - - function requiredValidator(props, propName, componentName) { - var result = fn(props[propName]); - - if (result) { - return null; - } - - return new TypeError("`".concat(componentName, "` requires that `").concat(propName, "` pass a predicate function").concat(message ? ": ".concat(message) : '', ".")); - } - - function validator(props, propName) { - if (props[propName] == null) { - return null; - } - - for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - rest[_key - 2] = arguments[_key]; - } - - return requiredValidator.apply(void 0, [props, propName].concat(rest)); - } - - validator.isRequired = requiredValidator; - return (0, _wrapValidator["default"])(validator, 'predicate', fn); -} -//# sourceMappingURL=predicate.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/range.js": -/*!*******************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/range.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = range; - -var _and = _interopRequireDefault(__webpack_require__(/*! ./and */ "./node_modules/airbnb-prop-types/build/and.js")); - -var _between = _interopRequireDefault(__webpack_require__(/*! ./between */ "./node_modules/airbnb-prop-types/build/between.js")); - -var _integer = _interopRequireDefault(__webpack_require__(/*! ./integer */ "./node_modules/airbnb-prop-types/build/integer.js")); - -var _isInteger = _interopRequireDefault(__webpack_require__(/*! ./helpers/isInteger */ "./node_modules/airbnb-prop-types/build/helpers/isInteger.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || -/* istanbul ignore next */ -Math.pow(2, 53) - 1; - -function isValidLength(x) { - return (0, _isInteger["default"])(x) && Math.abs(x) < MAX_SAFE_INTEGER; -} - -function range(min, max) { - if (!isValidLength(min) || !isValidLength(max)) { - throw new RangeError("\"range\" requires two integers: ".concat(min, " and ").concat(max, " given")); - } - - if (min === max) { - throw new RangeError('min and max must not be the same'); - } - - return (0, _wrapValidator["default"])((0, _and["default"])([(0, _integer["default"])(), (0, _between["default"])({ - gte: min, - lt: max - })], 'range'), 'range', { - min: min, - max: max - }); -} -//# sourceMappingURL=range.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/ref.js": -/*!*****************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/ref.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _react = __webpack_require__(/*! react */ "./node_modules/react/index.js"); - -var _isPlainObject = _interopRequireDefault(__webpack_require__(/*! ./helpers/isPlainObject */ "./node_modules/airbnb-prop-types/build/helpers/isPlainObject.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var isPrototypeOf = Object.prototype.isPrototypeOf; - -function isNewRef(prop) { - if (!(0, _isPlainObject["default"])(prop)) { - return false; - } - - var ownProperties = Object.keys(prop); - return ownProperties.length === 1 && ownProperties[0] === 'current'; -} - -function isCallbackRef(prop) { - return typeof prop === 'function' && !isPrototypeOf.call(_react.Component, prop) && (!_react.PureComponent || !isPrototypeOf.call(_react.PureComponent, prop)); -} - -function requiredRef(props, propName, componentName) { - var propValue = props[propName]; - - if (isCallbackRef(propValue) || isNewRef(propValue)) { - return null; - } - - return new TypeError("".concat(propName, " in ").concat(componentName, " must be a ref")); -} - -function ref(props, propName, componentName) { - var propValue = props[propName]; - - if (propValue == null) { - return null; - } - - for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - rest[_key - 3] = arguments[_key]; - } - - return requiredRef.apply(void 0, [props, propName, componentName].concat(rest)); -} - -ref.isRequired = requiredRef; - -var _default = function _default() { - return (0, _wrapValidator["default"])(ref, 'ref'); -}; - -exports["default"] = _default; -//# sourceMappingURL=ref.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/requiredBy.js": -/*!************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/requiredBy.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = getRequiredBy; - -var _objectIs = _interopRequireDefault(__webpack_require__(/*! object-is */ "./node_modules/object-is/index.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function getRequiredBy(requiredByPropName, propType) { - var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - - function requiredBy(props, propName, componentName) { - if (props[requiredByPropName]) { - var propValue = props[propName]; - - if ((0, _objectIs["default"])(propValue, defaultValue) || typeof propValue === 'undefined') { - return new TypeError("".concat(componentName, ": when ").concat(requiredByPropName, " is true, prop \u201C").concat(propName, "\u201D must be present.")); - } - } - - for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - rest[_key - 3] = arguments[_key]; - } - - return propType.apply(void 0, [props, propName, componentName].concat(rest)); - } - - requiredBy.isRequired = function requiredByRequired(props, propName, componentName) { - var propValue = props[propName]; - - if ((0, _objectIs["default"])(propValue, defaultValue)) { - return new TypeError("".concat(componentName, ": prop \u201C").concat(propName, "\u201D must be present.")); - } - - for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - rest[_key2 - 3] = arguments[_key2]; - } - - return propType.isRequired.apply(propType, [props, propName, componentName].concat(rest)); - }; - - return (0, _wrapValidator["default"])(requiredBy, "requiredBy \u201C".concat(requiredByPropName, "\u201D"), [requiredByPropName, defaultValue]); -} -//# sourceMappingURL=requiredBy.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/restrictedProp.js": -/*!****************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/restrictedProp.js ***! - \****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function customMessageWrapper(messsageFunction) { - function restrictedProp(props, propName, componentName, location) { - if (props[propName] == null) { - return null; - } - - if (messsageFunction && typeof messsageFunction === 'function') { - for (var _len = arguments.length, rest = new Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) { - rest[_key - 4] = arguments[_key]; - } - - return new TypeError(messsageFunction.apply(void 0, [props, propName, componentName, location].concat(rest))); - } - - return new TypeError("The ".concat(propName, " ").concat(location, " on ").concat(componentName, " is not allowed.")); - } - - restrictedProp.isRequired = restrictedProp; - return restrictedProp; -} - -var _default = function _default() { - var messsageFunction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - return (0, _wrapValidator["default"])(customMessageWrapper(messsageFunction), 'restrictedProp'); -}; - -exports["default"] = _default; -//# sourceMappingURL=restrictedProp.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/sequenceOf.js": -/*!************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/sequenceOf.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = sequenceOfValidator; - -var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); - -var _and = _interopRequireDefault(__webpack_require__(/*! ./and */ "./node_modules/airbnb-prop-types/build/and.js")); - -var _between = _interopRequireDefault(__webpack_require__(/*! ./between */ "./node_modules/airbnb-prop-types/build/between.js")); - -var _nonNegativeInteger = _interopRequireDefault(__webpack_require__(/*! ./nonNegativeInteger */ "./node_modules/airbnb-prop-types/build/nonNegativeInteger.js")); - -var _object = _interopRequireDefault(__webpack_require__(/*! ./object */ "./node_modules/airbnb-prop-types/build/object.js")); - -var _withShape = _interopRequireDefault(__webpack_require__(/*! ./withShape */ "./node_modules/airbnb-prop-types/build/withShape.js")); - -var _typeOf = _interopRequireDefault(__webpack_require__(/*! ./helpers/typeOf */ "./node_modules/airbnb-prop-types/build/helpers/typeOf.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function 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; } - -function _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; } - -function _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; } - -var minValidator = _nonNegativeInteger["default"]; -var maxValidator = (0, _and["default"])([_nonNegativeInteger["default"], (0, _between["default"])({ - gte: 1 -})]); - -function validateRange(min, max) { - if (typeof max !== 'number' || typeof min !== 'number') { - return null; // no additional checking needed unless both are present - } - - if (min <= max) { - return null; - } - - return new RangeError('min must be less than or equal to max'); -} - -var specifierShape = { - validator: function validator(props, propName) { - var propValue = props[propName]; - - if (typeof propValue !== 'function') { - return new TypeError('"validator" must be a propType validator function'); - } - - return null; - }, - min: function min(props, propName) { - return minValidator(props, propName) || validateRange(props.min, props.max); - }, - max: function max(props, propName) { - return maxValidator(props, propName) || validateRange(props.min, props.max); - } -}; - -function getMinMax(_ref) { - var min = _ref.min, - max = _ref.max; - var minimum; - var maximum; - - if (typeof min !== 'number' && typeof max !== 'number') { - // neither provided, default to "1" - minimum = 1; - maximum = 1; - } else { - minimum = typeof min === 'number' ? min : 1; - maximum = typeof max === 'number' ? max : Infinity; - } - - return { - minimum: minimum, - maximum: maximum - }; -} - -function chunkByType(items) { - var chunk = []; - var lastType; - return items.reduce(function (chunks, item) { - var itemType = (0, _typeOf["default"])(item); - - if (!lastType || itemType === lastType) { - chunk.push(item); - } else { - chunks.push(chunk); - chunk = [item]; - } - - lastType = itemType; - return chunks; - }, []).concat(chunk.length > 0 ? [chunk] : []); -} - -function validateChunks(specifiers, props, propName, componentName) { - var items = props[propName]; - var chunks = chunkByType(items); - - for (var _len = arguments.length, rest = new Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) { - rest[_key - 4] = arguments[_key]; - } - - for (var i = 0; i < specifiers.length; i += 1) { - var _specifiers$i = specifiers[i], - validator = _specifiers$i.validator, - min = _specifiers$i.min, - max = _specifiers$i.max; - - var _getMinMax = getMinMax({ - min: min, - max: max - }), - minimum = _getMinMax.minimum, - maximum = _getMinMax.maximum; - - if (chunks.length === 0 && minimum === 0) { - // no chunks left, but this specifier does not require any items - continue; // eslint-disable-line no-continue - } - - var arrayOfValidator = (0, _propTypes.arrayOf)(validator).isRequired; - var chunk = chunks.shift(); // extract the next chunk to test - - var chunkError = arrayOfValidator.apply(void 0, [_objectSpread(_objectSpread({}, props), {}, _defineProperty({}, propName, chunk)), propName, componentName].concat(rest)); - - if (chunkError) { - // this chunk is invalid - if (minimum === 0) { - // but, specifier has a min of 0 and can be skipped - chunks.unshift(chunk); // put the chunk back, for the next iteration - - continue; // eslint-disable-line no-continue - } - - return chunkError; - } // chunk is valid! - - - if (chunk.length < minimum) { - return new RangeError("".concat(componentName, ": specifier index ").concat(i, " requires a minimum of ").concat(min, " items, but only has ").concat(chunk.length, ".")); - } - - if (chunk.length > maximum) { - return new RangeError("".concat(componentName, ": specifier index ").concat(i, " requires a maximum of ").concat(max, " items, but has ").concat(chunk.length, ".")); - } - } - - if (chunks.length > 0) { - return new TypeError("".concat(componentName, ": after all ").concat(specifiers.length, " specifiers matched, ").concat(chunks.length, " types of items were remaining.")); - } - - return null; -} - -var specifierValidator = (0, _withShape["default"])((0, _object["default"])(), specifierShape).isRequired; - -function sequenceOfValidator() { - for (var _len2 = arguments.length, specifiers = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - specifiers[_key2] = arguments[_key2]; - } - - if (specifiers.length === 0) { - throw new RangeError('sequenceOf: at least one specifier is required'); - } - - var errors = specifiers.map(function (specifier, i) { - return specifierValidator({ - specifier: specifier - }, 'specifier', 'sequenceOf specifier', "suequenceOf specifier, index ".concat(i), "specifier, index ".concat(i)); - }); - - if (errors.some(Boolean)) { - throw new TypeError("\n sequenceOf: all specifiers must match the appropriate shape.\n\n Errors:\n ".concat(errors.map(function (e, i) { - return " - Argument index ".concat(i, ": ").concat(e.message); - }).join(',\n '), "\n ")); - } - - var validator = function sequenceOf(props, propName) { - var propValue = props[propName]; - - if (propValue == null) { - return null; - } - - for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) { - rest[_key3 - 2] = arguments[_key3]; - } - - var error = _propTypes.array.apply(void 0, [props, propName].concat(rest)); - - if (error) { - return error; - } - - return validateChunks.apply(void 0, [specifiers, props, propName].concat(rest)); - }; - - validator.isRequired = function sequenceOfRequired(props, propName, componentName) { - for (var _len4 = arguments.length, rest = new Array(_len4 > 3 ? _len4 - 3 : 0), _key4 = 3; _key4 < _len4; _key4++) { - rest[_key4 - 3] = arguments[_key4]; - } - - var error = _propTypes.array.isRequired.apply(_propTypes.array, [props, propName, componentName].concat(rest)); - - if (error) { - return error; - } - - return validateChunks.apply(void 0, [specifiers, props, propName, componentName].concat(rest)); - }; - - return (0, _wrapValidator["default"])(validator, 'sequenceOf', specifiers); -} -//# sourceMappingURL=sequenceOf.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/shape.js": -/*!*******************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/shape.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = shapeValidator; - -var _isPlainObject = _interopRequireDefault(__webpack_require__(/*! ./helpers/isPlainObject */ "./node_modules/airbnb-prop-types/build/helpers/isPlainObject.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function shapeValidator(shapeTypes) { - if (!(0, _isPlainObject["default"])(shapeTypes)) { - throw new TypeError('shape must be a normal object'); - } - - function shape(props, propName, componentName, location) { - var propValue = props[propName]; - - if (propValue == null) { - return null; - } // code adapted from PropTypes.shape: https://github.com/facebook/react/blob/14156e56b9cf18ac86963185c5af4abddf3ff811/src/isomorphic/classic/types/ReactPropTypes.js#L381 - // eslint-disable-next-line guard-for-in, no-restricted-syntax - - - for (var _len = arguments.length, rest = new Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) { - rest[_key - 4] = arguments[_key]; - } - - for (var key in shapeTypes) { - var checker = shapeTypes[key]; - - if (checker) { - var error = checker.apply(void 0, [propValue, key, componentName, location].concat(rest)); - - if (error) { - return error; - } - } - } - - return null; - } - - shape.isRequired = function shapeRequired(props, propName, componentName) { - var propValue = props[propName]; - - if (propValue == null) { - return new TypeError("".concat(componentName, ": ").concat(propName, " is required.")); - } - - for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - rest[_key2 - 3] = arguments[_key2]; - } - - return shape.apply(void 0, [props, propName, componentName].concat(rest)); - }; - - return (0, _wrapValidator["default"])(shape, 'shape', shapeTypes); -} -//# sourceMappingURL=shape.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/stringEndsWith.js": -/*!****************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/stringEndsWith.js ***! - \****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = stringEndsWithValidator; - -var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function stringEndsWithValidator(end) { - if (typeof end !== 'string' || end.length === 0) { - throw new TypeError('a non-empty string is required'); - } - - var validator = function stringEndsWith(props, propName, componentName) { - var propValue = props[propName]; - - if (propValue == null) { - return null; - } - - for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - rest[_key - 3] = arguments[_key]; - } - - var stringError = _propTypes.string.apply(void 0, [props, propName, componentName].concat(rest)); - - if (stringError) { - return stringError; - } - - if (!propValue.endsWith(end) || propValue.length <= end.length) { - return new TypeError("".concat(componentName, ": ").concat(propName, " does not end with \"").concat(end, "\"")); - } - - return null; - }; - - validator.isRequired = function requiredStringEndsWith() { - var stringError = _propTypes.string.isRequired.apply(_propTypes.string, arguments); - - if (stringError) { - return stringError; - } - - return validator.apply(void 0, arguments); - }; - - return (0, _wrapValidator["default"])(validator, "stringEndsWith: ".concat(end)); -} -//# sourceMappingURL=stringEndsWith.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/stringStartsWith.js": -/*!******************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/stringStartsWith.js ***! - \******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = stringStartsWithValidator; - -var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function stringStartsWithValidator(start) { - if (typeof start !== 'string' || start.length === 0) { - throw new TypeError('a non-empty string is required'); - } - - var validator = function stringStartsWith(props, propName, componentName) { - var propValue = props[propName]; - - if (propValue == null) { - return null; - } - - for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - rest[_key - 3] = arguments[_key]; - } - - var stringError = _propTypes.string.apply(void 0, [props, propName, componentName].concat(rest)); - - if (stringError) { - return stringError; - } - - if (!propValue.startsWith(start) || propValue.length <= start.length) { - return new TypeError("".concat(componentName, ": ").concat(propName, " does not start with \"").concat(start, "\"")); - } - - return null; - }; - - validator.isRequired = function requiredStringStartsWith() { - var stringError = _propTypes.string.isRequired.apply(_propTypes.string, arguments); - - if (stringError) { - return stringError; - } - - return validator.apply(void 0, arguments); - }; - - return (0, _wrapValidator["default"])(validator, "stringStartsWith: ".concat(start)); -} -//# sourceMappingURL=stringStartsWith.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/uniqueArray.js": -/*!*************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/uniqueArray.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function uniqueCountWithSet(arr) { - return new Set(arr).size; -} -/* istanbul ignore next */ - - -function uniqueCountLegacy(arr) { - var seen = []; - arr.forEach(function (item) { - if (seen.indexOf(item) === -1) { - seen.push(item); - } - }); - return seen.length; -} - -var getUniqueCount = typeof Set === 'function' ? uniqueCountWithSet : -/* istanbul ignore next */ -uniqueCountLegacy; - -function requiredUniqueArray(props, propName, componentName) { - for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - rest[_key - 3] = arguments[_key]; - } - - var result = _propTypes.array.isRequired.apply(_propTypes.array, [props, propName, componentName].concat(rest)); - - if (result != null) { - return result; - } - - var propValue = props[propName]; - var uniqueCount = getUniqueCount(propValue); - - if (uniqueCount !== propValue.length) { - return new RangeError("".concat(componentName, ": values must be unique. ").concat(propValue.length - uniqueCount, " duplicate values found.")); - } - - return null; -} - -function uniqueArray(props, propName) { - var propValue = props[propName]; - - if (propValue == null) { - return null; - } - - for (var _len2 = arguments.length, rest = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { - rest[_key2 - 2] = arguments[_key2]; - } - - return requiredUniqueArray.apply(void 0, [props, propName].concat(rest)); -} - -uniqueArray.isRequired = requiredUniqueArray; - -var _default = function _default() { - return (0, _wrapValidator["default"])(uniqueArray, 'uniqueArray'); -}; - -exports["default"] = _default; -//# sourceMappingURL=uniqueArray.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/uniqueArrayOf.js": -/*!***************************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/uniqueArrayOf.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = uniqueArrayOfTypeValidator; - -var _propTypes = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js"); - -var _and = _interopRequireDefault(__webpack_require__(/*! ./and */ "./node_modules/airbnb-prop-types/build/and.js")); - -var _uniqueArray = _interopRequireDefault(__webpack_require__(/*! ./uniqueArray */ "./node_modules/airbnb-prop-types/build/uniqueArray.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function 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; } - -function _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; } - -function _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; } - -var unique = (0, _uniqueArray["default"])(); - -function uniqueArrayOfTypeValidator(type) { - if (typeof type !== 'function') { - throw new TypeError('type must be a validator function'); - } - - var mapper = null; - var name = 'uniqueArrayOfType'; - - for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - rest[_key - 1] = arguments[_key]; - } - - if (rest.length === 1) { - if (typeof rest[0] === 'function') { - mapper = rest[0]; - } else if (typeof rest[0] === 'string') { - name = rest[0]; - } else { - throw new TypeError('single input must either be string or function'); - } - } else if (rest.length === 2) { - if (typeof rest[0] === 'function' && typeof rest[1] === 'string') { - mapper = rest[0]; - name = rest[1]; - } else { - throw new TypeError('multiple inputs must be in [function, string] order'); - } - } else if (rest.length > 2) { - throw new TypeError('only [], [name], [mapper], and [mapper, name] are valid inputs'); - } - - function uniqueArrayOfMapped(props, propName) { - var propValue = props[propName]; - - if (propValue == null) { - return null; - } - - var values = propValue.map(mapper); - - for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { - args[_key2 - 2] = arguments[_key2]; - } - - return unique.apply(void 0, [_objectSpread(_objectSpread({}, props), {}, _defineProperty({}, propName, values)), propName].concat(args)); - } - - uniqueArrayOfMapped.isRequired = function isRequired(props, propName) { - var propValue = props[propName]; - - for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) { - args[_key3 - 2] = arguments[_key3]; - } - - if (propValue == null) { - return _propTypes.array.isRequired.apply(_propTypes.array, [props, propName].concat(args)); - } - - return uniqueArrayOfMapped.apply(void 0, [props, propName].concat(args)); - }; - - var arrayValidator = (0, _propTypes.arrayOf)(type); - var uniqueValidator = mapper ? uniqueArrayOfMapped : unique; - var validator = (0, _and["default"])([arrayValidator, uniqueValidator], name); - validator.isRequired = (0, _and["default"])([uniqueValidator.isRequired, arrayValidator.isRequired], "".concat(name, ".isRequired")); - return validator; -} -//# sourceMappingURL=uniqueArrayOf.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/valuesOf.js": -/*!**********************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/valuesOf.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = valuesOfValidator; - -var _isPrimitive = _interopRequireDefault(__webpack_require__(/*! ./helpers/isPrimitive */ "./node_modules/airbnb-prop-types/build/helpers/isPrimitive.js")); - -var _wrapValidator = _interopRequireDefault(__webpack_require__(/*! ./helpers/wrapValidator */ "./node_modules/airbnb-prop-types/build/helpers/wrapValidator.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -// code adapted from https://github.com/facebook/react/blob/14156e56b9cf18ac86963185c5af4abddf3ff811/src/isomorphic/classic/types/ReactPropTypes.js#L307-L340 -function valuesOfValidator(propType) { - if (typeof propType !== 'function') { - throw new TypeError('objectOf: propType must be a function'); - } - - var validator = function valuesOf(props, propName, componentName, location, propFullName) { - for (var _len = arguments.length, rest = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) { - rest[_key - 5] = arguments[_key]; - } - - var propValue = props[propName]; - - if (propValue == null || (0, _isPrimitive["default"])(propValue)) { - return null; - } - - var firstError; - Object.keys(propValue).some(function (key) { - firstError = propType.apply(void 0, [propValue, key, componentName, location, "".concat(propFullName, ".").concat(key)].concat(rest)); - return firstError; - }); - return firstError || null; - }; - - validator.isRequired = function valuesOfRequired(props, propName, componentName) { - var propValue = props[propName]; - - if (propValue == null) { - return new TypeError("".concat(componentName, ": ").concat(propName, " is required.")); - } - - for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { - rest[_key2 - 3] = arguments[_key2]; - } - - return validator.apply(void 0, [props, propName, componentName].concat(rest)); - }; - - return (0, _wrapValidator["default"])(validator, 'valuesOf', propType); -} -//# sourceMappingURL=valuesOf.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/build/withShape.js": -/*!***********************************************************!*\ - !*** ./node_modules/airbnb-prop-types/build/withShape.js ***! - \***********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = withShape; - -var _and = _interopRequireDefault(__webpack_require__(/*! ./and */ "./node_modules/airbnb-prop-types/build/and.js")); - -var _shape = _interopRequireDefault(__webpack_require__(/*! ./shape */ "./node_modules/airbnb-prop-types/build/shape.js")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function withShape(type, shapeTypes) { - if (typeof type !== 'function') { - throw new TypeError('type must be a valid PropType'); - } - - var shapeValidator = (0, _shape["default"])(shapeTypes); - return (0, _and["default"])([type, shapeValidator], 'withShape'); -} -//# sourceMappingURL=withShape.js.map - -/***/ }), - -/***/ "./node_modules/airbnb-prop-types/index.js": -/*!*************************************************!*\ - !*** ./node_modules/airbnb-prop-types/index.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = false ? undefined : __webpack_require__(/*! ./build */ "./node_modules/airbnb-prop-types/build/index.js"); - -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ "./node_modules/array.prototype.find/implementation.js": -/*!*************************************************************!*\ - !*** ./node_modules/array.prototype.find/implementation.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var ToObject = __webpack_require__(/*! es-abstract/2019/ToObject */ "./node_modules/es-abstract/2019/ToObject.js"); -var ToLength = __webpack_require__(/*! es-abstract/2019/ToLength */ "./node_modules/es-abstract/2019/ToLength.js"); -var IsCallable = __webpack_require__(/*! es-abstract/2019/IsCallable */ "./node_modules/es-abstract/2019/IsCallable.js"); - -module.exports = function find(predicate) { - var list = ToObject(this); - var length = ToLength(list.length); - if (!IsCallable(predicate)) { - throw new TypeError('Array#find: predicate must be a function'); - } - if (length === 0) { - return void 0; - } - var thisArg; - if (arguments.length > 0) { - thisArg = arguments[1]; - } - - for (var i = 0, value; i < length; i++) { - value = list[i]; - // inlined for performance: if (Call(predicate, thisArg, [value, i, list])) { - if (predicate.apply(thisArg, [value, i, list])) { - return value; - } - } - return void 0; -}; - - -/***/ }), - -/***/ "./node_modules/array.prototype.find/index.js": -/*!****************************************************!*\ - !*** ./node_modules/array.prototype.find/index.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js"); -var RequireObjectCoercible = __webpack_require__(/*! es-abstract/2019/RequireObjectCoercible */ "./node_modules/es-abstract/2019/RequireObjectCoercible.js"); - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/array.prototype.find/implementation.js"); -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/array.prototype.find/polyfill.js"); -var shim = __webpack_require__(/*! ./shim */ "./node_modules/array.prototype.find/shim.js"); - -var slice = Array.prototype.slice; - -var polyfill = getPolyfill(); - -var boundFindShim = function find(array, predicate) { // eslint-disable-line no-unused-vars - RequireObjectCoercible(array); - var args = slice.call(arguments, 1); - return polyfill.apply(array, args); -}; - -define(boundFindShim, { - getPolyfill: getPolyfill, - implementation: implementation, - shim: shim -}); - -module.exports = boundFindShim; - - -/***/ }), - -/***/ "./node_modules/array.prototype.find/polyfill.js": -/*!*******************************************************!*\ - !*** ./node_modules/array.prototype.find/polyfill.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function getPolyfill() { - // Detect if an implementation exists - // Detect early implementations which skipped holes in sparse arrays - // eslint-disable-next-line no-sparse-arrays - var implemented = Array.prototype.find && [, 1].find(function () { - return true; - }) !== 1; - - // eslint-disable-next-line global-require - return implemented ? Array.prototype.find : __webpack_require__(/*! ./implementation */ "./node_modules/array.prototype.find/implementation.js"); -}; - - -/***/ }), - -/***/ "./node_modules/array.prototype.find/shim.js": -/*!***************************************************!*\ - !*** ./node_modules/array.prototype.find/shim.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js"); -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/array.prototype.find/polyfill.js"); - -module.exports = function shimArrayPrototypeFind() { - var polyfill = getPolyfill(); - - define(Array.prototype, { find: polyfill }, { - find: function () { - return Array.prototype.find !== polyfill; - } - }); - - return polyfill; -}; - - -/***/ }), - -/***/ "./node_modules/call-bind/callBound.js": -/*!*********************************************!*\ - !*** ./node_modules/call-bind/callBound.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js"); - -var callBind = __webpack_require__(/*! ./ */ "./node_modules/call-bind/index.js"); - -var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); - -module.exports = function callBoundIntrinsic(name, allowMissing) { - var intrinsic = GetIntrinsic(name, !!allowMissing); - if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { - return callBind(intrinsic); - } - return intrinsic; -}; - - -/***/ }), - -/***/ "./node_modules/call-bind/index.js": -/*!*****************************************!*\ - !*** ./node_modules/call-bind/index.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js"); -var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js"); - -var $apply = GetIntrinsic('%Function.prototype.apply%'); -var $call = GetIntrinsic('%Function.prototype.call%'); -var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply); - -var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); - -if ($defineProperty) { - try { - $defineProperty({}, 'a', { value: 1 }); - } catch (e) { - // IE 8 has a broken defineProperty - $defineProperty = null; - } -} - -module.exports = function callBind() { - return $reflectApply(bind, $call, arguments); -}; - -var applyBind = function applyBind() { - return $reflectApply(bind, $apply, arguments); -}; - -if ($defineProperty) { - $defineProperty(module.exports, 'apply', { value: applyBind }); -} else { - module.exports.apply = applyBind; -} - - -/***/ }), - -/***/ "./node_modules/consolidated-events/lib/index.esm.js": -/*!***********************************************************!*\ - !*** ./node_modules/consolidated-events/lib/index.esm.js ***! - \***********************************************************/ -/*! exports provided: addEventListener */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addEventListener", function() { return addEventListener; }); -var CAN_USE_DOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); - -// Adapted from Modernizr -// https://github.com/Modernizr/Modernizr/blob/acb3f0d9/feature-detects/dom/passiveeventlisteners.js#L26-L37 -function testPassiveEventListeners() { - if (!CAN_USE_DOM) { - return false; - } - - if (!window.addEventListener || !window.removeEventListener || !Object.defineProperty) { - return false; - } - - var supportsPassiveOption = false; - try { - var opts = Object.defineProperty({}, 'passive', { - // eslint-disable-next-line getter-return - get: function () { - function get() { - supportsPassiveOption = true; - } - - return get; - }() - }); - var noop = function noop() {}; - window.addEventListener('testPassiveEventSupport', noop, opts); - window.removeEventListener('testPassiveEventSupport', noop, opts); - } catch (e) { - // do nothing - } - - return supportsPassiveOption; -} - -var memoized = void 0; - -function canUsePassiveEventListeners() { - if (memoized === undefined) { - memoized = testPassiveEventListeners(); - } - return memoized; -} - -function normalizeEventOptions(eventOptions) { - if (!eventOptions) { - return undefined; - } - - if (!canUsePassiveEventListeners()) { - // If the browser does not support the passive option, then it is expecting - // a boolean for the options argument to specify whether it should use - // capture or not. In more modern browsers, this is passed via the `capture` - // option, so let's just hoist that value up. - return !!eventOptions.capture; - } - - return eventOptions; -} - -/* eslint-disable no-bitwise */ - -/** - * Generate a unique key for any set of event options - */ -function eventOptionsKey(normalizedEventOptions) { - if (!normalizedEventOptions) { - return 0; - } - - // If the browser does not support passive event listeners, the normalized - // event options will be a boolean. - if (normalizedEventOptions === true) { - return 100; - } - - // At this point, the browser supports passive event listeners, so we expect - // the event options to be an object with possible properties of capture, - // passive, and once. - // - // We want to consistently return the same value, regardless of the order of - // these properties, so let's use binary maths to assign each property to a - // bit, and then add those together (with an offset to account for the - // booleans at the beginning of this function). - var capture = normalizedEventOptions.capture << 0; - var passive = normalizedEventOptions.passive << 1; - var once = normalizedEventOptions.once << 2; - return capture + passive + once; -} - -function ensureCanMutateNextEventHandlers(eventHandlers) { - if (eventHandlers.handlers === eventHandlers.nextHandlers) { - // eslint-disable-next-line no-param-reassign - eventHandlers.nextHandlers = eventHandlers.handlers.slice(); - } -} - -function TargetEventHandlers(target) { - this.target = target; - this.events = {}; -} - -TargetEventHandlers.prototype.getEventHandlers = function () { - function getEventHandlers(eventName, options) { - var key = String(eventName) + ' ' + String(eventOptionsKey(options)); - - if (!this.events[key]) { - this.events[key] = { - handlers: [], - handleEvent: undefined - }; - this.events[key].nextHandlers = this.events[key].handlers; - } - - return this.events[key]; - } - - return getEventHandlers; -}(); - -TargetEventHandlers.prototype.handleEvent = function () { - function handleEvent(eventName, options, event) { - var eventHandlers = this.getEventHandlers(eventName, options); - eventHandlers.handlers = eventHandlers.nextHandlers; - eventHandlers.handlers.forEach(function (handler) { - if (handler) { - // We need to check for presence here because a handler function may - // cause later handlers to get removed. This can happen if you for - // instance have a waypoint that unmounts another waypoint as part of an - // onEnter/onLeave handler. - handler(event); - } - }); - } - - return handleEvent; -}(); - -TargetEventHandlers.prototype.add = function () { - function add(eventName, listener, options) { - var _this = this; - - // options has already been normalized at this point. - var eventHandlers = this.getEventHandlers(eventName, options); - - ensureCanMutateNextEventHandlers(eventHandlers); - - if (eventHandlers.nextHandlers.length === 0) { - eventHandlers.handleEvent = this.handleEvent.bind(this, eventName, options); - - this.target.addEventListener(eventName, eventHandlers.handleEvent, options); - } - - eventHandlers.nextHandlers.push(listener); - - var isSubscribed = true; - var unsubscribe = function () { - function unsubscribe() { - if (!isSubscribed) { - return; - } - - isSubscribed = false; - - ensureCanMutateNextEventHandlers(eventHandlers); - var index = eventHandlers.nextHandlers.indexOf(listener); - eventHandlers.nextHandlers.splice(index, 1); - - if (eventHandlers.nextHandlers.length === 0) { - // All event handlers have been removed, so we want to remove the event - // listener from the target node. - - if (_this.target) { - // There can be a race condition where the target may no longer exist - // when this function is called, e.g. when a React component is - // unmounting. Guarding against this prevents the following error: - // - // Cannot read property 'removeEventListener' of undefined - _this.target.removeEventListener(eventName, eventHandlers.handleEvent, options); - } - - eventHandlers.handleEvent = undefined; - } - } - - return unsubscribe; - }(); - return unsubscribe; - } - - return add; -}(); - -var EVENT_HANDLERS_KEY = '__consolidated_events_handlers__'; - -// eslint-disable-next-line import/prefer-default-export -function addEventListener(target, eventName, listener, options) { - if (!target[EVENT_HANDLERS_KEY]) { - // eslint-disable-next-line no-param-reassign - target[EVENT_HANDLERS_KEY] = new TargetEventHandlers(target); - } - var normalizedEventOptions = normalizeEventOptions(options); - return target[EVENT_HANDLERS_KEY].add(eventName, listener, normalizedEventOptions); -} - - - - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/figma-plugin-ds/dist/figma-plugin-ds.css": -/*!*****************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/figma-plugin-ds/dist/figma-plugin-ds.css ***! - \*****************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../css-loader/dist/runtime/cssWithMappingToString.js */ "./node_modules/css-loader/dist/runtime/cssWithMappingToString.js"); -/* harmony import */ var _css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); -/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); -// Imports - - -var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a); -// Module -___CSS_LOADER_EXPORT___.push([module.i, "/* Vars */\n:root {\n /* COLORS */\n /* Accent */\n --blue: #18a0fb;\n --purple: #7b61ff;\n --hot-pink: #ff00ff;\n --green: #1bc47d;\n --red: #f24822;\n --yellow: #ffeb00;\n /* Basic foreground */\n --black: #000000;\n --black8: rgba(0, 0, 0, .8);\n --black8-opaque: #333333;\n --black3: rgba(0, 0, 0, .3);\n --black3-opaque: #B3B3B3;\n --white: #ffffff;\n --white8: rgba(255, 255, 255, .8);\n --white4: rgba(255, 255, 255, .4);\n /* Basic background */\n --grey: #f0f0f0;\n --silver: #e5e5e5;\n --hud: #222222;\n --toolbar: #2c2c2c;\n /* Special */\n --black1: rgba(0, 0, 0, .1);\n --blue3: rgba(24, 145, 251, .3);\n --purple4: rgba(123, 97, 255, .4);\n --hover-fill: rgba(0, 0, 0, .06);\n --selection-a: #daebf7;\n --selection-b: #edf5fa;\n --white2: rgba(255, 255, 255, .2);\n /* TYPOGRAPHY */\n /* Pos = positive applications (black on white) */\n /* Neg = negative applications (white on black) */\n /* Font stack */\n --font-stack: 'Inter', sans-serif;\n /* Font sizes */\n --font-size-xsmall: 11px;\n --font-size-small: 12px;\n --font-size-large: 13px;\n --font-size-xlarge: 14px;\n /* Font weights */\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-bold: 600;\n /* Lineheight */\n --font-line-height: 16px;\n /* Use For xsmall, small font sizes */\n --font-line-height-large: 24px;\n /* Use For large, xlarge font sizes */\n /* Letterspacing */\n --font-letter-spacing-pos-xsmall: .005em;\n --font-letter-spacing-neg-xsmall: .01em;\n --font-letter-spacing-pos-small: 0;\n --font-letter-spacing-neg-small: .005em;\n --font-letter-spacing-pos-large: -.0025em;\n --font-letter-spacing-neg-large: .0025em;\n --font-letter-spacing-pos-xlarge: -.001em;\n --font-letter-spacing-neg-xlarge: -.001em;\n /* BORDER RADIUS */\n --border-radius-small: 2px;\n --border-radius-med: 5px;\n --border-radius-large: 6px;\n /* SHADOWS */\n --shadow-hud: 0 5px 17px rgba(0, 0, 0, .2), 0 2px 7px rgba(0, 0, 0, .15);\n --shadow-floating-window: 0 2px 14px rgba(0, 0, 0, .15);\n /* SPACING + SIZING */\n --size-xxxsmall: 4px;\n --size-xxsmall: 8px;\n --size-xsmall: 16px;\n --size-small: 24px;\n --size-medium: 32px;\n --size-large: 40px;\n --size-xlarge: 48px;\n --size-xxlarge: 64px;\n --size-xxxlarge: 80px;\n}\n\n/* Global styles */\n* {\n box-sizing: border-box;\n}\n\nbody {\n position: relative;\n box-sizing: border-box;\n font-family: 'Inter', sans-serif;\n margin: 0;\n padding: 0;\n}\n\n/* FONTS */\n@font-face {\n font-family: 'Inter';\n font-weight: 400;\n font-style: normal;\n src: url(\"https://rsms.me/inter/font-files/Inter-Regular.woff2?v=3.7\") format(\"woff2\"), url(\"https://rsms.me/inter/font-files/Inter-Regular.woff?v=3.7\") format(\"woff\");\n}\n\n@font-face {\n font-family: 'Inter';\n font-weight: 500;\n font-style: normal;\n src: url(\"https://rsms.me/inter/font-files/Inter-Medium.woff2?v=3.7\") format(\"woff2\"), url(\"https://rsms.me/inter/font-files/Inter-Medium.woff2?v=3.7\") format(\"woff\");\n}\n\n@font-face {\n font-family: 'Inter';\n font-weight: 600;\n font-style: normal;\n src: url(\"https://rsms.me/inter/font-files/Inter-SemiBold.woff2?v=3.7\") format(\"woff2\"), url(\"https://rsms.me/inter/font-files/Inter-SemiBold.woff2?v=3.7\") format(\"woff\");\n}\n\n/* UTILITIES */\n/* padding */\n.p-xxxsmall {\n padding: var(--size-xxxsmall);\n}\n\n.p-xxsmall {\n padding: var(--size-xxsmall);\n}\n\n.p-xsmall {\n padding: var(--size-xsmall);\n}\n\n.p-small {\n padding: var(--size-small);\n}\n\n.p-medium {\n padding: var(--size-medium);\n}\n\n.p-large {\n padding: var(--size-large);\n}\n\n.p-xlarge {\n padding: var(--size-xlarge);\n}\n\n.p-xxlarge {\n padding: var(--size-xxlarge);\n}\n\n.p-huge {\n padding: var(--size-xxxlarge);\n}\n\n/* padding top */\n.pt-xxxsmall {\n padding-top: var(--size-xxxsmall);\n}\n\n.pt-xxsmall {\n padding-top: var(--size-xxsmall);\n}\n\n.pt-xsmall {\n padding-top: var(--size-xsmall);\n}\n\n.pt-small {\n padding-top: var(--size-small);\n}\n\n.pt-medium {\n padding-top: var(--size-medium);\n}\n\n.pt-large {\n padding-top: var(--size-large);\n}\n\n.pt-xlarge {\n padding-top: var(--size-xlarge);\n}\n\n.pt-xxlarge {\n padding-top: var(--size-xxlarge);\n}\n\n.pt-huge {\n padding-top: var(--size-xxxlarge);\n}\n\n/* padding right */\n.pr-xxxsmall {\n padding-right: var(--size-xxxsmall);\n}\n\n.pr-xxsmall {\n padding-right: var(--size-xxsmall);\n}\n\n.pr-xsmall {\n padding-right: var(--size-xsmall);\n}\n\n.pr-small {\n padding-right: var(--size-small);\n}\n\n.pr-medium {\n padding-right: var(--size-medium);\n}\n\n.pr-large {\n padding-right: var(--size-large);\n}\n\n.pr-xlarge {\n padding-right: var(--size-xlarge);\n}\n\n.pr-xxlarge {\n padding-right: var(--size-xxlarge);\n}\n\n.pr-huge {\n padding-right: var(--size-xxxlarge);\n}\n\n/* padding bottom */\n.pb-xxxsmall {\n padding-bottom: var(--size-xxxsmall);\n}\n\n.pb-xxsmall {\n padding-bottom: var(--size-xxsmall);\n}\n\n.pb-xsmall {\n padding-bottom: var(--size-xsmall);\n}\n\n.pb-small {\n padding-bottom: var(--size-small);\n}\n\n.pb-medium {\n padding-bottom: var(--size-medium);\n}\n\n.pb-large {\n padding-bottom: var(--size-large);\n}\n\n.pb-xlarge {\n padding-bottom: var(--size-xlarge);\n}\n\n.pb-xxlarge {\n padding-bottom: var(--size-xxlarge);\n}\n\n.pb-huge {\n padding-bottom: var(--size-xxxlarge);\n}\n\n/* padding left */\n.pl-xxxsmall {\n padding-left: var(--size-xxxsmall);\n}\n\n.pl-xxsmall {\n padding-left: var(--size-xxsmall);\n}\n\n.pl-xsmall {\n padding-left: var(--size-xsmall);\n}\n\n.pl-small {\n padding-left: var(--size-small);\n}\n\n.pl-medium {\n padding-left: var(--size-medium);\n}\n\n.pl-large {\n padding-left: var(--size-large);\n}\n\n.pl-xlarge {\n padding-left: var(--size-xlarge);\n}\n\n.pl-xxlarge {\n padding-left: var(--size-xxlarge);\n}\n\n.pl-huge {\n padding-left: var(--size-xxxlarge);\n}\n\n/* margin */\n.m-xxxsmall {\n margin: var(--size-xxxsmall);\n}\n\n.m-xxsmall {\n margin: var(--size-xxsmall);\n}\n\n.m-xsmall {\n margin: var(--size-xsmall);\n}\n\n.m-small {\n margin: var(--size-small);\n}\n\n.m-medium {\n margin: var(--size-medium);\n}\n\n.m-large {\n margin: var(--size-large);\n}\n\n.m-xlarge {\n margin: var(--size-xlarge);\n}\n\n.m-xxlarge {\n margin: var(--size-xxlarge);\n}\n\n.m-huge {\n margin: var(--size-xxxlarge);\n}\n\n/* margin top */\n.mt-xxxsmall {\n margin-top: var(--size-xxxsmall);\n}\n\n.mt-xxsmall {\n margin-top: var(--size-xxsmall);\n}\n\n.mt-xsmall {\n margin-top: var(--size-xsmall);\n}\n\n.mt-small {\n margin-top: var(--size-small);\n}\n\n.mt-medium {\n margin-top: var(--size-medium);\n}\n\n.mt-large {\n margin-top: var(--size-large);\n}\n\n.mt-xlarge {\n margin-top: var(--size-xlarge);\n}\n\n.mt-xxlarge {\n margin-top: var(--size-xxlarge);\n}\n\n.mt-huge {\n margin-top: var(--size-xxxlarge);\n}\n\n/* margin right */\n.mr-xxxsmall {\n margin-right: var(--size-xxxsmall);\n}\n\n.mr-xxsmall {\n margin-right: var(--size-xxsmall);\n}\n\n.mr-xsmall {\n margin-right: var(--size-xsmall);\n}\n\n.mr-small {\n margin-right: var(--size-small);\n}\n\n.mr-medium {\n margin-right: var(--size-medium);\n}\n\n.mr-large {\n margin-right: var(--size-large);\n}\n\n.mr-xlarge {\n margin-right: var(--size-xlarge);\n}\n\n.mr-xxlarge {\n margin-right: var(--size-xxlarge);\n}\n\n.mr-huge {\n margin-right: var(--size-xxxlarge);\n}\n\n/* margin bottom */\n.mb-xxxsmall {\n margin-bottom: var(--size-xxxsmall);\n}\n\n.mb-xxsmall {\n margin-bottom: var(--size-xxsmall);\n}\n\n.mb-xsmall {\n margin-bottom: var(--size-xsmall);\n}\n\n.mb-small {\n margin-bottom: var(--size-small);\n}\n\n.mb-medium {\n margin-bottom: var(--size-medium);\n}\n\n.mb-large {\n margin-bottom: var(--size-large);\n}\n\n.mb-xlarge {\n margin-bottom: var(--size-xlarge);\n}\n\n.mb-xxlarge {\n margin-bottom: var(--size-xxlarge);\n}\n\n.mb-huge {\n margin-bottom: var(--size-xxxlarge);\n}\n\n/* margin left */\n.ml-xxxsmall {\n margin-left: var(--size-xxxsmall);\n}\n\n.ml-xxsmall {\n margin-left: var(--size-xxsmall);\n}\n\n.ml-xsmall {\n margin-left: var(--size-xsmall);\n}\n\n.ml-small {\n margin-left: var(--size-small);\n}\n\n.ml-medium {\n margin-left: var(--size-medium);\n}\n\n.ml-large {\n margin-left: var(--size-large);\n}\n\n.ml-xlarge {\n margin-left: var(--size-xlarge);\n}\n\n.ml-xxlarge {\n margin-left: var(--size-xxlarge);\n}\n\n.ml-huge {\n margin-left: var(--size-xxxlarge);\n}\n\n/* layout utilities */\n.hidden {\n display: none;\n}\n\n.inline {\n display: inline;\n}\n\n.block {\n display: block;\n}\n\n.inline-block {\n display: inline-block;\n}\n\n.flex {\n display: flex;\n}\n\n.inline-flex {\n display: inline-flex;\n}\n\n.column {\n flex-direction: column;\n}\n\n.column-reverse {\n flex-direction: column-reverse;\n}\n\n.row {\n flex-direction: row;\n}\n\n.row-reverse {\n flex-direction: row-reverse;\n}\n\n.flex-wrap {\n flex-wrap: wrap;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n\n.flex-no-wrap {\n flex-wrap: nowrap;\n}\n\n.flex-shrink {\n flex-shrink: 1;\n}\n\n.flex-no-shrink {\n flex-shrink: 0;\n}\n\n.flex-grow {\n flex-grow: 1;\n}\n\n.flex-no-grow {\n flex-grow: 0;\n}\n\n.justify-content-start {\n justify-content: flex-start;\n}\n\n.justify-content-end {\n justify-content: flex-end;\n}\n\n.justify-content-center {\n justify-content: center;\n}\n\n.justify-content-between {\n justify-content: space-between;\n}\n\n.justify-content-around {\n justify-content: space-around;\n}\n\n.align-items-start {\n align-items: flex-start;\n}\n\n.align-items-end {\n align-items: flex-end;\n}\n\n.align-items-center {\n align-items: center;\n}\n\n.align-items-stretch {\n align-items: stretch;\n}\n\n.align-content-start {\n align-content: flex-start;\n}\n\n.align-content-end {\n align-content: flex-end;\n}\n\n.align-content-center {\n align-content: center;\n}\n\n.align-content-stretch {\n align-content: stretch;\n}\n\n.align-self-start {\n align-self: flex-start;\n}\n\n.align-self-end {\n align-items: flex-end;\n}\n\n.align-self-center {\n align-self: center;\n}\n\n.align-self-stretch {\n align-self: stretch;\n}\n\n.button {\n display: flex;\n align-items: center;\n border-radius: var(--border-radius-large);\n color: var(--white);\n flex-shrink: 0;\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-medium);\n letter-spacing: var(--font-letter-spacing-neg-small);\n line-height: var(--font-line-height);\n height: var(--size-medium);\n padding: 0 var(--size-xsmall) 0 var(--size-xsmall);\n text-decoration: none;\n outline: none;\n border: 2px solid transparent;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.button--primary {\n background-color: var(--blue);\n}\n\n.button--primary:enabled:active, .button--primary:enabled:focus {\n border: 2px solid var(--black3);\n}\n\n.button--primary:disabled {\n background-color: var(--black3);\n}\n\n.button--primary-destructive {\n background-color: var(--red);\n}\n\n.button--primary-destructive:enabled:active, .button--primary-destructive:enabled:focus {\n border: 2px solid var(--black3);\n}\n\n.button--primary-destructive:disabled {\n opacity: 0.3;\n}\n\n.button--secondary, .button--secondary-destructive {\n background-color: var(--white);\n border: 1px solid var(--black8);\n color: var(--black8);\n padding: 0 calc(var(--size-xsmall) + 1px) 0 calc(var(--size-xsmall) + 1px);\n letter-spacing: var(--font-letter-spacing-pos-small);\n}\n\n.button--secondary:enabled:active, .button--secondary-destructive:enabled:active, .button--secondary:enabled:focus, .button--secondary-destructive:enabled:focus {\n border: 2px solid var(--blue);\n padding: 0 var(--size-xsmall) 0 var(--size-xsmall);\n}\n\n.button--secondary:disabled, .button--secondary-destructive:disabled {\n border: 1px solid var(--black3);\n color: var(--black3);\n}\n\n.button--secondary-destructive {\n border-color: var(--red);\n color: var(--red);\n}\n\n.button--secondary-destructive:disabled {\n background-color: var(--white);\n}\n\n.button--secondary-destructive:enabled:active, .button--secondary-destructive:enabled:focus {\n border: 2px solid var(--red);\n padding: 0 var(--size-xsmall) 0 var(--size-xsmall);\n}\n\n.button--secondary-destructive:disabled {\n border: 1px solid var(--red);\n background-color: var(--white);\n color: var(--red);\n opacity: 0.4;\n}\n\n.button--tertiary, .button--tertiary-destructive {\n border: 1px solid transparent;\n color: var(--blue);\n background-color: transparent;\n padding: 0;\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-pos-small);\n cursor: pointer;\n}\n\n.button--tertiary:enabled:focus, .button--tertiary-destructive:enabled:focus {\n text-decoration: underline;\n}\n\n.button--tertiary:disabled, .button--tertiary-destructive:disabled {\n cursor: default;\n color: var(--black3);\n}\n\n.button--tertiary-destructive {\n color: var(--red);\n}\n\n.button--tertiary-destructive:enabled:focus {\n text-decoration: underline;\n}\n\n.button--tertiary-destructive:disabled {\n opacity: 0.4;\n}\n\n.checkbox {\n align-items: center;\n cursor: default;\n display: flex;\n height: var(--size-medium);\n position: relative;\n /* unchecked */\n /*\n\t&__box:focus + &__label:before {\n\t\tborder: 1px solid var(--white);\n\t box-shadow: 0 0 0 2px var(--blue);\n\t}*/\n /* checked */\n /*\n\t&__box:checked:focus + &__label:before {\n\t\tborder: 1px solid var(--white);\n\t box-shadow: 0 0 0 2px var(--blue);\n\t}*/\n}\n\n.checkbox__box {\n opacity: 0;\n width: 10px;\n height: 10px;\n margin: 0;\n padding: 0;\n}\n\n.checkbox__label {\n align-items: center;\n color: var(--black8);\n display: flex;\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n line-height: var(--font-line-height);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n margin-left: -16px;\n padding: 0 var(--size-xsmall) 0 var(--size-small);\n height: 100%;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.checkbox__label:before {\n border: 1px solid var(--black8);\n border-radius: var(--border-radius-small);\n content: '';\n display: block;\n width: 10px;\n height: 10px;\n margin: -1px 10px 0 -8px;\n box-shadow: none;\n}\n\n.checkbox__box:disabled + .checkbox__label {\n color: var(--black);\n opacity: 0.3;\n}\n\n.checkbox__box:checked + .checkbox__label:before {\n background-color: var(--blue);\n background-image: url(\"data:image/svg+xml;utf8,%3Csvg%20fill%3D%22none%22%20height%3D%227%22%20viewBox%3D%220%200%208%207%22%20width%3D%228%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20clip-rule%3D%22evenodd%22%20d%3D%22m1.17647%201.88236%201.88235%201.88236%203.76471-3.76472%201.17647%201.17648-4.94118%204.9412-3.05882-3.05884z%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E\");\n background-repeat: no-repeat;\n background-position: 1px 2px;\n border: 1px solid var(--blue);\n}\n\n.checkbox__box:checked:disabled + .checkbox__label:before {\n border: 1px solid transparent;\n background-color: var(--black8);\n}\n\n.disclosure {\n position: relative;\n width: 100%;\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n\n.disclosure__item {\n display: flex;\n flex-direction: column;\n position: relative;\n width: 100%;\n margin: 0;\n padding: 0;\n list-style-type: none;\n border-bottom: 1px solid var(--silver);\n}\n\n.disclosure__item:last-child {\n border-bottom: 1px solid transparent;\n}\n\n.disclosure__label {\n display: flex;\n align-items: center;\n height: var(--size-medium);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--line-height);\n color: var(--black8);\n padding: 0 8px 0 24px;\n cursor: default;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.disclosure__label:before {\n content: '';\n position: absolute;\n top: 8px;\n left: 4px;\n display: block;\n width: 16px;\n height: 16px;\n opacity: 0.3;\n background-image: url(\"data:image/svg+xml;utf8,%3Csvg%20fill%3D%22none%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20width%3D%2216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m11%208-4-3v6z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E\");\n background-repeat: no-repeat;\n background-position: center center;\n}\n\n.disclosure__label:hover:before {\n opacity: 0.8;\n}\n\n.disclosure__content {\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--line-height);\n color: var(--black8);\n padding: var(--size-xxsmall) var(--size-xxsmall) var(--size-xxsmall) var(--size-small);\n display: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n pointer-events: none;\n}\n\n.disclosure--section {\n font-weight: var(--font-weight-bold);\n}\n\n.disclosure--expanded .disclosure__content {\n display: block;\n border-bottom: 1px solid transparent;\n}\n\n.disclosure--expanded .disclosure__label:before {\n opacity: 0.8;\n background-image: url(\"data:image/svg+xml;utf8,%3Csvg%20fill%3D%22none%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20width%3D%2216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m9%2010%203-4h-6z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E\");\n}\n\n.icon {\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: default;\n width: var(--size-medium);\n height: var(--size-medium);\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-position: 50% 50%;\n}\n\n.icon--spin {\n -webkit-animation: rotating 1.0s linear infinite;\n animation: rotating 1.0s linear infinite;\n}\n\n@-webkit-keyframes rotating {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes rotating {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n.icon--blue {\n filter: invert(54%) sepia(16%) saturate(7499%) hue-rotate(179deg) brightness(98%) contrast(101%);\n}\n\n.icon--purple {\n filter: invert(40%) sepia(59%) saturate(4001%) hue-rotate(232deg) brightness(103%) contrast(102%);\n}\n\n.icon--purple4 {\n filter: invert(72%) sepia(40%) saturate(660%) hue-rotate(202deg) brightness(103%) contrast(103%);\n}\n\n.icon--hot-pink {\n filter: invert(18%) sepia(90%) saturate(3347%) hue-rotate(293deg) brightness(116%) contrast(132%);\n}\n\n.icon--green {\n filter: invert(66%) sepia(39%) saturate(5382%) hue-rotate(114deg) brightness(102%) contrast(79%);\n}\n\n.icon--red {\n filter: invert(43%) sepia(56%) saturate(5632%) hue-rotate(349deg) brightness(97%) contrast(95%);\n}\n\n.icon--yellow {\n filter: invert(78%) sepia(86%) saturate(1608%) hue-rotate(1deg) brightness(107%) contrast(104%);\n}\n\n.icon--black {\n filter: invert(0%) sepia(0%) saturate(7500%) hue-rotate(117deg) brightness(109%) contrast(105%);\n}\n\n.icon--black8 {\n filter: invert(0%) sepia(56%) saturate(25%) hue-rotate(137deg) brightness(105%) contrast(60%);\n}\n\n.icon--black3 {\n filter: invert(100%) sepia(0%) saturate(698%) hue-rotate(219deg) brightness(66%) contrast(127%);\n}\n\n.icon--white {\n filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(269deg) brightness(103%) contrast(104%);\n}\n\n.icon--white8 {\n filter: invert(99%) sepia(2%) saturate(5%) hue-rotate(55deg) brightness(104%) contrast(98%);\n}\n\n.icon--white4 {\n filter: invert(99%) sepia(2%) saturate(897%) hue-rotate(245deg) brightness(117%) contrast(93%);\n}\n\n.icon--adjust {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-rule='evenodd' fill='%23000' fill-rule='evenodd'%3E%3Cpath d='M12 16.05V9h1v7.05a2.5 2.5 0 010 4.9V23h-1v-2.05a2.5 2.5 0 010-4.9zm2 2.45a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM19 23h1v-7.05a2.5 2.5 0 000-4.9V9h-1v2.05a2.5 2.5 0 000 4.9zm2-9.5a1.5 1.5 0 10-3 0 1.5 1.5 0 003 0z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--alert {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath clip-rule='evenodd' d='M21.25 17.393a1.75 1.75 0 001.75 1.75V20H9v-.857a1.75 1.75 0 001.75-1.75V14c0-3.314 2.35-6 5.25-6s5.25 2.686 5.25 6zm-1-3.393v3.393c0 .6.192 1.155.518 1.607h-9.536a2.738 2.738 0 00.518-1.607V14c0-2.891 2.024-5 4.25-5s4.25 2.109 4.25 5z' fill-rule='evenodd'/%3E%3Cpath d='M16 23a2 2 0 01-2-2h-1a3 3 0 106 0h-1a2 2 0 01-2 2z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--angle {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M12 12v8h8v-1h-3a4 4 0 00-4-4v-3zm1 4v3h3a3 3 0 00-3-3z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--arrow-left-right {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 16.5l1.647 1.646-.707.708L10.293 16l2.854-2.854.707.708-1.647 1.646h7.586l-1.646-1.646.707-.708L21.707 16l-2.853 2.854-.707-.708 1.646-1.646z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--up-down {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 10.292l2.854 2.854-.707.707-1.646-1.646v7.585l1.646-1.646.707.707-2.853 2.854-2.854-2.854.707-.707 1.647 1.646v-7.585l-1.647 1.646-.707-.707z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--auto-layout-horizontal {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M10 10h5v12h-5zm1 1h3v10h-3zm6-1h5v12h-5zm1 1h3v10h-3z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--auto-layout-vertical {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M10 10h12v5H10zm1 1h10v3H11zm-1 6h12v5H10zm1 1h10v3H11z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--back {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M13.707 16l4.646-4.646-.707-.707L12.293 16l5.353 5.354.707-.707z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--blend-empty {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M16.695 11.72l-.693-.718L16 11l-.001.002-.694.718C13.102 14.012 12 15.294 12 16.852a4.199 4.199 0 001.172 2.936 3.906 3.906 0 005.656 0A4.199 4.199 0 0020 16.852c0-1.558-1.102-2.84-3.305-5.132zm-.695.72c-.977 1.017-1.693 1.79-2.195 2.471-.6.814-.805 1.38-.805 1.94v.003a3.2 3.2 0 00.89 2.239 2.906 2.906 0 004.22 0 3.2 3.2 0 00.89-2.239v-.002c0-.56-.205-1.127-.805-1.94-.502-.681-1.219-1.455-2.195-2.472z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--blend {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M16.002 11.002l.693.718C18.898 14.012 20 15.294 20 16.852a4.199 4.199 0 01-1.172 2.936 3.906 3.906 0 01-5.656 0A4.199 4.199 0 0112 16.852c0-1.558 1.102-2.84 3.305-5.132l.694-.719zm-2.197 3.91c.502-.681 1.219-1.455 2.195-2.472.976 1.017 1.693 1.79 2.195 2.471.6.814.805 1.38.805 1.94v.003c0 .049 0 .098-.003.146h-5.994a3.37 3.37 0 01-.003-.146v-.002c0-.56.205-1.127.805-1.94z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--break {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000' opacity='.9'%3E%3Cpath d='M13 9v3h1V9zM22.103 9.896a2.975 2.975 0 00-4.207 0l-2.75 2.75.707.707 2.75-2.75a1.975 1.975 0 012.793 2.793l-2.75 2.75.707.707 2.75-2.75a2.975 2.975 0 000-4.207zM9.896 22.104a2.975 2.975 0 010-4.208l2.75-2.75.707.707-2.75 2.75a1.975 1.975 0 002.793 2.793l2.75-2.75.707.707-2.75 2.75a2.975 2.975 0 01-4.207 0zM23 19h-3v-1h3zM19 20v3h-1v-3zM12 13H9v1h3z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--caret-down {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 18l3-4h-6z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--caret-left {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 16l4-3v6z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--caret-right {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 16l-4-3v6z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--caret-up {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 14l3 4h-6z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--check {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M21.207 13.707L15 19.914l-3.707-3.707 1.414-1.414L15 17.086l4.793-4.793z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--close {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 15.293l4.646-4.646.708.707L16.707 16l4.647 4.647-.707.707L16 16.707l-4.646 4.647-.707-.707L15.293 16l-4.646-4.646.707-.707z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--component {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M12.063 10.938L16 14.874l3.938-3.938L16 7zm6.46 0L16 13.46l-2.523-2.524L16 8.415zm-6.46 10.124L16 25l3.938-3.938L16 17.125zm6.46 0L16 23.587l-2.523-2.523L16 18.538zM7 16l3.937-3.938L14.875 16l-3.938 3.938zm3.937 2.523L13.461 16l-2.524-2.523L8.415 16zM17.125 16l3.938 3.938L25 16l-3.938-3.938zm6.46 0l-2.523 2.523L18.54 16l2.523-2.523z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--corner-radius {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M21 13h-4a4 4 0 00-4 4v4h-1v-4a5 5 0 015-5h4z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--corners {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M11 11h3v1h-2v2h-1zm7 0h3v3h-1v-2h-2zm-6 9v-2h-1v3h3v-1zm9-2v3h-3v-1h2v-2z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--distribute-horizontal-spacing {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M11 22.5v-13h-1v13zM22 9.5v13h-1v-13zM17 12.5v7h-2v-7z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--distribute-vertical-spacing {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9.5 10h13v1h-13zM12.5 15h7v2h-7zM22.5 21h-13v1h13z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--draft {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M10 8.5h7.707L22 12.793V23.5H10zm1 1v13h10v-9h-4v-4zm7 .707l2.293 2.293H18z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--effects {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M16.5 8.5h-1v3h1zM11.05 10.343l-.707.707 2.121 2.122.708-.708zM21.657 11.05l-.707-.707-2.121 2.121.707.708zM8.5 15.5v1h3v-1zM20.5 15.5v1h3v-1zM13.172 19.535l-.708-.707-2.12 2.122.706.707zM19.535 18.828l-.707.707 2.122 2.122.707-.707zM16.5 20.5h-1v3h1z'/%3E%3Cpath clip-rule='evenodd' d='M18.498 15.998a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm-1 0a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--ellipses {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M11.5 16a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm6 0a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm4.5 1.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--eyedropper {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22.447 9.6c-.8-.8-2-.8-2.8 0l-2.8 2.8-.8-.7c-.4-.4-1-.4-1.4 0s-.4 1 0 1.4l.7.7-5.8 5.8c-.4.4-1 1.9 0 2.9s2.5.4 2.9 0l5.8-5.8.7.7c.4.4 1 .4 1.4 0s.4-1 0-1.4l-.7-.7 2.8-2.8c.8-.9.8-2.1 0-2.9zm-10.9 11.9h-1v-1l5.8-5.8 1 1c-.1 0-5.8 5.8-5.8 5.8z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--forward {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M17.94 16l-4.647-4.646.707-.707L19.354 16 14 21.354l-.707-.707z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--frame {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M11 24v-3H8v-1h3v-8H8v-1h3V8h1v3h8V8h1v3h3v1h-3v8h3v1h-3v3h-1v-3h-8v3zm9-4v-8h-8v8z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--group {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M17.4 9h-2.8v1h2.8zM20.9 22H22v-1.1h1V23h-2.1zM10 14.6v2.8H9v-2.8zM22 11.1V10h-1.1V9H23v2.1zM22 14.6v2.8h1v-2.8zM10 11.1V10h1.1V9H9v2.1zM9 20.9h1V22h1.1v1H9zM17.4 22h-2.8v1h2.8z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--hidden {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M21.509 15.801A8.033 8.033 0 0022.928 14h-1.184A6.992 6.992 0 0116 17a6.992 6.992 0 01-5.745-3H9.07a8.033 8.033 0 001.421 1.801l-1.595 1.595.708.707 1.657-1.657c.71.523 1.511.932 2.374 1.199l-.617 2.221.964.268.626-2.255a8.051 8.051 0 002.784 0l.626 2.255.964-.268-.617-2.221a7.971 7.971 0 002.374-1.2l1.658 1.658.707-.707z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--horizontal-padding {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9 9v14h1V9zm13 0v14h1V9z'/%3E%3Cpath clip-rule='evenodd' d='M13 19v-6h6v6zm-1-7h8v8h-8z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--hyperlink {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.824 14.492l-1.657 1.657.828.829 1.658-1.657a3.517 3.517 0 00-4.973-4.973l-1.657 1.658.829.828 1.657-1.657a2.345 2.345 0 013.315 3.315zm-4.974 4.972l.829.829-1.658 1.657a3.516 3.516 0 11-4.972-4.972l1.659-1.658.828.829-1.656 1.657a2.343 2.343 0 103.315 3.315l1.657-1.657zm2.072-6.216l-4.972 4.973.828.829 4.973-4.973z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--image {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M22 10H10v7.793l3.083-3.083 7.29 7.29H22zM10 22v-2.793l3.083-3.083L18.96 22zm0-13a1 1 0 00-1 1v12a1 1 0 001 1h12a1 1 0 001-1V10a1 1 0 00-1-1zm9.667 4.667a1.333 1.333 0 11-2.667 0 1.333 1.333 0 012.667 0zm1 0a2.333 2.333 0 11-4.667 0 2.333 2.333 0 014.667 0z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--instance {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M16 7l9 9-9 9-9-9zm-7.586 9L16 23.586 23.586 16 16 8.414z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--key {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M15.14 20.14a3.014 3.014 0 00.331-3.868l2.047-2.047 1.767 1.767a.5.5 0 10.707-.707l-1.767-1.767 1.293-1.293 1.784 1.784a.5.5 0 10.707-.707l-1.784-1.784.762-.761a.5.5 0 00-.707-.708l-5.513 5.513a3.014 3.014 0 10.373 4.578zm-.712-.712a2.006 2.006 0 10-2.837-2.837 2.006 2.006 0 002.837 2.837z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--layout-align-bottom {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M14.5 10v10h-2V10zm8 12v1h-13v-1zm-3-2v-6h-2v6z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--align-horizontal-centers {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.5 9.5h-1v3h-5v2h5v3h-3v2h3v3h1v-3h3v-2h-3v-3h5v-2h-5z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--align-left {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M10 22.5H9v-13h1zM22 14.5H12v-2h10zM12 19.5h6v-2h-6z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--align-right {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M22 22.5h1v-13h-1zM10 14.5h10v-2H10zM20 19.5h-6v-2h6z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--align-top {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M14.5 22V12h-2v10zM22.5 10V9h-13v1zM19.5 12v6h-2v-6z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--align-vertical-centers {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.5 15.5v-5h2v5h3v-3h2v3h3v1h-3v3h-2v-3h-3v5h-2v-5h-3v-1z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--layout-grid-columns {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9 9h3v14H9zM14.5 9h3v14h-3zM20 9h3v14h-3z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--layout-grid-rows {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9 9h14v3H9zM9 14.5h14v3H9zM9 20h14v3H9z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--layout-grid-uniform {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9 9h3v3H9zM20 9h3v3h-3zM14.5 9h3v3h-3zM9 14.5h3v3H9zM20 14.5h3v3h-3zM14.5 14.5h3v3h-3zM9 20h3v3H9zM20 20h3v3h-3zM14.5 20h3v3h-3z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--library {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M15.373 22h1.258c.28-.32.616-.597.995-.819 1.478-.862 4.005-.909 5.386.109H24.5v-9.2s-.797-2.25-4.42-2.25c-1.875 0-2.902.602-3.456 1.184a2.568 2.568 0 00-.6.976h-.048a2.569 2.569 0 00-.6-.976c-.554-.582-1.581-1.184-3.456-1.184-3.623 0-4.42 2.25-4.42 2.25v9.19h1.488c1.382-1.019 3.91-.97 5.388-.105.38.223.717.503.997.825zm1.127-9.711v8.457c.195-.157.403-.3.622-.428.927-.541 2.115-.796 3.241-.787 1.006.008 2.081.227 2.952.759h.185v-7.973a2.414 2.414 0 00-.505-.595c-.46-.397-1.33-.882-2.915-.882-1.586 0-2.34.483-2.695.835a1.749 1.749 0 00-.353.49 1.076 1.076 0 00-.052.131l-.005.017.001-.006.002-.008v-.005l.001-.002v-.002l-.005-.001zm-1 0h-.474l-.006.001v.002l.001.002.001.005.002.008.001.006-.005-.017a1.076 1.076 0 00-.053-.131 1.749 1.749 0 00-.353-.49c-.354-.351-1.108-.835-2.694-.835-1.585 0-2.455.485-2.916.882a2.411 2.411 0 00-.504.595v7.963h.185c.872-.532 1.948-.752 2.954-.759 1.128-.008 2.316.249 3.243.792.217.127.424.27.618.426z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--link-broken {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M18 14v-2a2 2 0 10-4 0v2h-1v-2a3 3 0 116 0v2zM19 18h-1v2a2 2 0 11-4 0v-2h-1v2a3 3 0 106 0z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--link-connected {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M16 10a2 2 0 012 2v2h1v-2a3 3 0 10-6 0v2h1v-2a2 2 0 012-2zM18 18h1v2a3 3 0 11-6 0v-2h1v2a2 2 0 104 0z'/%3E%3Cpath d='M15.5 13v6h1v-6z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--list-detailed {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M12 10h-2v1h2zM12 20h-2v1h2zM10 15h2v1h-2zM22 10h-8v1h8zM14 20h8v1h-8zM22 15h-8v1h8z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--list-tile {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M14 11h-3v3h3zm-4-1v5h5v-5zm11 1h-3v3h3zm-4-1v5h5v-5zm-3 8h-3v3h3zm-4-1v5h5v-5zm11 1h-3v3h3zm-4-1v5h5v-5z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--list {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000' fill-opacity='.8'%3E%3Cpath d='M23 10H9v1h14zM9 15.5h14v1H9zM9 21h14v1H9z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--lock-off {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 15h.5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-6a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5H17v-2.5a2.5 2.5 0 015 0V14h-1v-1.5a1.5 1.5 0 00-3 0z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--lock-on {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M13.5 15v-1.5a2.5 2.5 0 015 0V15h.5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-6a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5zm4-1.5V15h-3v-1.5a1.5 1.5 0 013 0z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--minus {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.5 16.5h-11v-1h11z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--play {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M13 10.098L22.443 16 13 21.902zm1 1.804v8.196L20.557 16z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--plus {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.5 15.5v-5h1v5h5v1h-5v5h-1v-5h-5v-1z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--random {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath clip-rule='evenodd' d='M15.118 11a2.5 2.5 0 00-1.335.386L11.228 13H18.5v1h-8.497a.512.512 0 00-.003.051V20.5c0 .278.223.5.497.5h7.628a.498.498 0 00.328-.123l3.206-2.805a1 1 0 00.341-.753V11.5a.5.5 0 00-.5-.5zm-1.869-.46a3.5 3.5 0 011.87-.54H21.5a1.5 1.5 0 011.5 1.5v5.82a2 2 0 01-.683 1.504l-3.205 2.805c-.274.24-.624.371-.987.371h-7.627C9.668 22 9 21.327 9 20.5v-6.449a1.5 1.5 0 01.699-1.268z' fill-rule='evenodd'/%3E%3Cpath d='M13 16a1 1 0 11-2 0 1 1 0 012 0zM17 16a1 1 0 11-2 0 1 1 0 012 0zM17 19a1 1 0 11-2 0 1 1 0 012 0zM13 19a1 1 0 11-2 0 1 1 0 012 0z'/%3E%3Cg clip-rule='evenodd' fill-rule='evenodd'%3E%3Cpath d='M22.407 10.71a.5.5 0 01-.116.697l-3.5 2.5a.5.5 0 01-.582-.814l3.5-2.5a.5.5 0 01.698.116z'/%3E%3Cpath d='M18 21v-8h1v8z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--recent {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M15 12v5h5v-1h-4v-4z'/%3E%3Cpath clip-rule='evenodd' d='M24 16a8 8 0 11-16 0 8 8 0 0116 0zm-1 0a7 7 0 11-14 0 7 7 0 0114 0z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--resize-to-fit {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M8.646 9.354L12.293 13H10v1h4v-4h-1v2.293L9.354 8.646zM19.707 13l3.647-3.646-.707-.708L19 12.293V10h-1v4h4v-1zM19.707 19l3.647 3.646-.707.708L19 19.707V22h-1v-4h4v1zM12.293 19l-3.647 3.646.708.708L13 19.707V22h1v-4h-4v1z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--resolve-filled {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M16 24a8 8 0 100-16 8 8 0 000 16zm3.911-9.635l-.822-.73-3.613 4.064-2.587-2.588-.778.778 3.413 3.412z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--resolve {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M19.911 14.365l-.822-.73-3.613 4.063-2.587-2.587-.778.778 3.413 3.412z'/%3E%3Cpath clip-rule='evenodd' d='M24 16a8 8 0 11-16 0 8 8 0 0116 0zm-1 0a7 7 0 11-14 0 7 7 0 0114 0z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--reverse {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M15.854 8.646L18.207 11l-2.353 2.354-.708-.708 1.147-1.146H14c-.503 0-1.27.155-1.895.606-.6.432-1.105 1.157-1.105 2.394v7.25h-1V14.5c0-1.563.662-2.588 1.52-3.206.833-.6 1.817-.794 2.48-.794h2.293l-1.147-1.146zM22 10v7.25c0 1.563-.662 2.588-1.52 3.206-.833.6-1.817.794-2.48.794h-2.293l1.147 1.146-.708.708-2.353-2.354 2.353-2.354.708.708-1.147 1.146H18c.503 0 1.27-.155 1.895-.606.6-.432 1.105-1.157 1.105-2.394V10z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--search-large {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M18.874 19.581a6 6 0 11.707-.707l4.273 4.272-.708.708zM20 15a5 5 0 11-10 0 5 5 0 0110 0z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--search {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M18.397 18.605a4.552 4.552 0 11.707-.707l3.25 3.249-.708.707zm.706-3.553a3.552 3.552 0 11-7.103 0 3.552 3.552 0 017.103 0z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--settings {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-rule='evenodd' fill='%23000' fill-rule='evenodd'%3E%3Cpath d='M16.954 9.928l-.139-.331C16.635 9.165 16.301 9 16 9s-.635.165-.815.597l-.139.331c-.56 1.343-1.992 2.13-3.425 1.72l-.5-.144c-.309-.088-.606.025-.815.327a1.05 1.05 0 00-.049 1.123c.743 1.323.402 3.068-.86 3.95-.318.222-.456.614-.375 1.024.081.409.342.668.673.723l.195.033c1.525.253 2.51 1.687 2.423 3.18-.03.503.22.861.52 1.028.288.161.623.155.921-.108l.373-.33a2.8 2.8 0 013.746 0l.373.33c.298.264.633.27.922.108.3-.167.549-.525.52-1.028-.088-1.493.897-2.927 2.423-3.18l.194-.033c.33-.055.592-.314.673-.723.081-.41-.057-.802-.375-1.024-1.262-.882-1.603-2.627-.86-3.95a1.05 1.05 0 00-.05-1.123c-.208-.302-.505-.415-.815-.327l-.499.143c-1.433.41-2.865-.376-3.425-1.719zm.784-.717c-.674-1.615-2.802-1.615-3.476 0l-.138.332c-.383.917-1.326 1.401-2.228 1.143l-.499-.143c-1.575-.45-2.855 1.398-2.012 2.9.505.9.257 2.07-.56 2.64-1.392.973-.933 3.282.706 3.555l.195.032c.96.16 1.65 1.09 1.588 2.135-.104 1.788 1.82 2.864 3.103 1.727l.373-.33a1.8 1.8 0 012.42 0l.373.33c1.284 1.137 3.207.061 3.103-1.727-.061-1.046.628-1.975 1.589-2.135l.194-.032c1.639-.273 2.098-2.582.707-3.554-.818-.572-1.066-1.742-.561-2.64.843-1.503-.437-3.352-2.012-2.901l-.5.143c-.9.258-1.844-.226-2.226-1.143z'/%3E%3Cpath d='M16 18.5a2 2 0 100-4 2 2 0 000 4zm0 1a3 3 0 100-6 3 3 0 000 6z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--share {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M20 9.5a3.5 3.5 0 00-1.383 6.716A4.513 4.513 0 0016 18.436a4.513 4.513 0 00-2.618-2.22 3.501 3.501 0 10-2.764 0A4.502 4.502 0 007.5 20.5V22h17v-1.5c0-2.003-1.309-3.7-3.118-4.284A3.501 3.501 0 0020 9.5zM17.5 13a2.5 2.5 0 115 0 2.5 2.5 0 01-5 0zm-1 8v-.5a3.5 3.5 0 117 0v.5zm-1-.5v.5h-7v-.5a3.5 3.5 0 117 0zm-6-7.5a2.5 2.5 0 115 0 2.5 2.5 0 01-5 0z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--smiley {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M16 20a4.002 4.002 0 01-3.874-3h1.045a3.001 3.001 0 005.658 0h1.045A4.002 4.002 0 0116 20zM19.5 14.125a.875.875 0 11-1.75 0 .875.875 0 011.75 0zM13.125 15a.875.875 0 100-1.75.875.875 0 000 1.75z'/%3E%3Cpath clip-rule='evenodd' d='M24 16a8 8 0 11-16 0 8 8 0 0116 0zm-1 0a7 7 0 11-14 0 7 7 0 0114 0z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--sort-alpha-asc {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-rule='evenodd' fill='%23000' fill-rule='evenodd'%3E%3Cpath d='M10.897 9L9 14h1.07l.379-1h2.133l.338 1h1.056l-1.69-5zm1.347 3l-.667-1.973L10.828 12zM12.553 19H9.5v-1H14v.979L10.932 22H14v1H9.5v-.993zM20.5 8.293l3.354 3.353-.708.708L21 10.207V23h-1V10.207l-2.146 2.147-.708-.708z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--sort-alpha-dsc {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-rule='evenodd' fill='%23000' fill-rule='evenodd'%3E%3Cpath d='M10.897 9L9 14h1.07l.379-1h2.133l.338 1h1.056l-1.69-5zm1.347 3l-.667-1.973L10.828 12zM12.553 19H9.5v-1H14v.979L10.932 22H14v1H9.5v-.993zM20 21.793V9h1v12.793l2.146-2.147.708.708-3.354 3.353-3.354-3.353.708-.708z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--sort-top-bottom {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M20.45 12H10v-1h10.45c.97 0 1.372 1.244.584 1.812L11.05 20h9.243l-1.647-1.646.708-.708 2.853 2.854-2.853 2.854-.708-.708L20.293 21H11.05c-.97 0-1.372-1.244-.584-1.812z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--spacing {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 11h-2v10h2v1h-3V10h3zm-10-1v12H9v-1h2V11H9v-1zm4 3h-1v6h1z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--spinner {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M15.165 8.53a.5.5 0 01-.404.58A7 7 0 1023 16a.5.5 0 011 0 8 8 0 11-9.416-7.874.5.5 0 01.58.404z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--star-off {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M18 14.004L16 8l-2 6.004H8L12.96 18l-1.904 6L16 20l4.944 4-1.904-6L24 14zm3.165.998l-3.886.002L16 11.164l-1.28 3.84h-3.885l3.285 2.646-1.103 3.477L16 18.714l2.983 2.413-1.103-3.476z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--star-on {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 8l2 6.004L24 14l-4.96 4 1.904 6L16 20l-4.944 4 1.904-6L8 14.004h6z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--stroke-weight {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M10 10h12v1H10zm0 4h12v2H10zm12 5H10v3h12z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--styles {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M11.5 13a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zM17.5 13a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zM19 20.5a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM11.5 19a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--swap {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M23 13.188l-1.175 1.468a5.5 5.5 0 00-10.003-2.219l.83.557a4.5 4.5 0 018.216 2.057l-2.2-1.467-.555.832 3.381 2.254 2.287-2.858zM9 17.188l.78.624 1.176-1.468.026.156a5.5 5.5 0 009.976 2.065v-.002l-.83-.557-.001.001a4.5 4.5 0 01-8.214-2.058l2.2 1.467.555-.832-3.382-2.254z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--theme {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath clip-rule='evenodd' d='M13 10h-3v12h3zm-3-1a1 1 0 00-1 1v12a1 1 0 001 1h3a1 1 0 001-1V10a1 1 0 00-1-1z' fill-rule='evenodd'/%3E%3Cpath d='M10.75 20.5a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM22 18a1 1 0 011 1v3a1 1 0 01-1 1h-7v-1h7v-3h-7v-1zM18.385 17l2.757-2.757a1 1 0 000-1.415l-2.121-2.12a1 1 0 00-1.414 0L15 13.313v1.414l3.314-3.314 2.121 2.122L16.971 17z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--tidy-up-grid {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M10 10h2v2h-2zM20 10h2v2h-2zM12 15h-2v2h2zM20 15h2v2h-2zM12 20h-2v2h2zM20 20h2v2h-2zM17 10h-2v2h2zM15 15h2v2h-2zM17 20h-2v2h2z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--tidy-up-list-horizontal {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M10 22.5v-13h2v13zM15 22.5v-13h2v13zM20 9.5v13h2v-13z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--tidy-up-list-vertical {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9.5 10h13v2h-13zM9.5 15h13v2h-13zM22.5 20h-13v2h13z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--timer {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M19 8h-6V7h6zM16.5 17v-5h-1v5a.5.5 0 001 0z'/%3E%3Cpath clip-rule='evenodd' d='M22.715 12.65l1.527-1.529L22.122 9l-1.483 1.482a8 8 0 102.075 2.167zM23 17a7 7 0 11-2.384-5.263l.647.647A6.974 6.974 0 0123 17zm-1.008-5.3l.13.128.706-.707-.707-.707-.701.701c.2.185.391.38.572.585z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--trash {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M14 18.5v-4h1v4zM17 18.5v-4h1v4z'/%3E%3Cpath clip-rule='evenodd' d='M19 10.5a2 2 0 00-2-2h-2a2 2 0 00-2 2h-3v1h1v10a2 2 0 002 2h6a2 2 0 002-2v-10h1v-1zm-4-1a1 1 0 00-1 1h4a1 1 0 00-1-1zm5 2h-8v10a1 1 0 001 1h6a1 1 0 001-1z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--vertical-padding {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9 9h14v1H9zm0 13h14v1H9z'/%3E%3Cpath clip-rule='evenodd' d='M19 13h-6v6h6zm-7-1v8h8v-8z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--visible {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M16 18a2 2 0 100-4 2 2 0 000 4z'/%3E%3Cpath clip-rule='evenodd' d='M16 12a7.499 7.499 0 016.635 4A7.499 7.499 0 0116 20a7.499 7.499 0 01-6.635-4A7.499 7.499 0 0116 12zm0 7a6.495 6.495 0 01-5.478-3A6.495 6.495 0 0116 13c2.3 0 4.322 1.194 5.478 3A6.495 6.495 0 0116 19z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--warning-large {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M16 6l10 18H6zm-1 11v-4h2v4zm0 2v2h2v-2z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--warning {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M16 9l8 14H8zm-1 8.5V14h2v3.5zm0 1.5v2h2v-2z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon-button {\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n width: var(--size-medium);\n height: var(--size-medium);\n border-radius: var(--border-radius-small);\n border: 2px solid transparent;\n}\n\n.icon-button * {\n filter: invert(0%) sepia(0%) saturate(7500%) hue-rotate(117deg) brightness(109%) contrast(105%);\n}\n\n.icon-button:hover {\n background: var(--hover-fill);\n}\n\n.icon-button:active, .icon-button:focus {\n border: 2px solid var(--blue);\n outline: none;\n}\n\n.icon-button--selected {\n background-color: var(--blue);\n}\n\n.icon-button--selected:hover {\n background-color: var(--blue);\n}\n\n.icon-button--selected:active, .icon-button--selected:focus {\n border: 2px solid var(--black3);\n}\n\n.icon-button--selected * {\n filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(269deg) brightness(103%) contrast(104%);\n}\n\n.input {\n position: relative;\n}\n\n.input__field {\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-neg-xsmall);\n line-height: var(--line-height);\n position: relative;\n display: flex;\n overflow: visible;\n align-items: center;\n width: 100%;\n height: 30px;\n margin: 1px 0 1px 0;\n padding: var(--size-xxsmall) var(--size-xxxsmall) var(--size-xxsmall) var(--size-xxsmall);\n color: var(--black8);\n border: 1px solid transparent;\n border-radius: var(--border-radius-small);\n outline: none;\n background-color: var(--white);\n}\n\n.input__field:hover, .input__field:placeholder-shown:hover {\n color: var(--black8);\n border: 1px solid var(--black1);\n background-image: none;\n}\n\n.input__field::-moz-selection {\n color: var(--black);\n background-color: var(--blue3);\n}\n\n.input__field::selection {\n color: var(--black);\n background-color: var(--blue3);\n}\n\n.input__field::-moz-placeholder {\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.input__field:-ms-input-placeholder {\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.input__field::placeholder {\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.input__field:placeholder-shown {\n border: 1px solid var(--black1);\n}\n\n.input__field:focus:placeholder-shown {\n border: 1px solid var(--blue);\n outline: 1px solid var(--blue);\n outline-offset: -2px;\n}\n\n.input__field:disabled:hover {\n border: 1px solid transparent;\n}\n\n.input__field:active, .input__field:focus {\n color: var(--black);\n border: 1px solid var(--blue);\n outline: 1px solid var(--blue);\n outline-offset: -2px;\n}\n\n.input__field:disabled {\n position: relative;\n color: var(--black3);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.input__field:disabled:active {\n outline: none;\n}\n\n.input--with-icon .input__field {\n padding-left: 32px;\n}\n\n.input--borders {\n border: 1px solid var(--black1);\n}\n\n.input .icon {\n position: absolute;\n top: 0px;\n left: 0;\n width: var(--size-medium);\n height: var(--size-medium);\n z-index: 1;\n opacity: 0.3;\n}\n\n.label {\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--line-height);\n color: var(--black3);\n height: var(--size-medium);\n width: 100%;\n display: flex;\n align-items: center;\n cursor: default;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n padding: 0 var(--size-xxxsmall) 0 var(--size-xxsmall);\n}\n\n.onboarding-tip {\n display: flex;\n align-items: flex-start;\n padding: 0 var(--size-xsmall) 0 0;\n}\n\n.onboarding-tip .icon {\n margin-right: var(--size-xxsmall);\n flex: none;\n}\n\n.onboarding-tip__msg {\n padding: var(--size-xxsmall) 0 var(--size-xxsmall) 0;\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--line-height);\n color: var(--black8);\n margin: 0;\n}\n\n.radio {\n align-items: center;\n cursor: default;\n display: flex;\n height: var(--size-medium);\n position: relative;\n}\n\n.radio__button {\n opacity: 0;\n width: 10px;\n height: 10px;\n margin: 0;\n padding: 0;\n}\n\n.radio__button:checked + .radio__label:before {\n background-image: url('data:image/svg+xml,%3Csvg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Crect width=\"6\" height=\"6\" rx=\"3\" fill=\"black\" fill-opacity=\"0.8\"/%3E%3C/svg%3E%0A');\n background-repeat: no-repeat;\n background-position: 2px 2px;\n}\n\n.radio__button:disabled + .radio__label {\n opacity: 0.3;\n}\n\n.radio__button:checked:disabled + .radio__label:before {\n border: 1px solid var(--black);\n}\n\n.radio__label {\n align-items: center;\n color: var(--black8);\n display: flex;\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n line-height: var(--font-line-height);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n margin-left: -16px;\n padding: 0 var(--size-xsmall) 0 var(--size-small);\n height: 100%;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.radio__label:before {\n border: 1px solid var(--black8);\n border-radius: var(--border-radius-small);\n content: '';\n display: block;\n width: 10px;\n height: 10px;\n margin: 2px 10px 0 -8px;\n border-radius: 50%;\n}\n\n.section-title {\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-bold);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--line-height);\n color: var(--black8);\n height: var(--size-medium);\n width: 100%;\n display: flex;\n align-items: center;\n cursor: default;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n padding: 0 calc(var(--size-xxsmall) / 2) 0 var(--size-xxsmall);\n}\n\nselect.select-menu {\n display: none;\n}\n\n.select-menu {\n position: relative;\n}\n\n.select-menu__button {\n display: flex;\n align-items: center;\n border: 1px solid transparent;\n height: 30px;\n width: 100%;\n margin: 1px 0 1px 0;\n padding: 0px var(--size-xxsmall) 0px var(--size-xxsmall);\n overflow-y: hidden;\n border-radius: var(--border-radius-small);\n background-color: var(--white);\n}\n\n.select-menu__button:hover {\n border-color: var(--black1);\n}\n\n.select-menu__button:focus {\n border: 1px solid var(--blue);\n outline: 1px solid var(--blue);\n outline-offset: -2px;\n}\n\n.select-menu__button:disabled:hover {\n justify-content: flex-start;\n border-color: transparent;\n}\n\n.select-menu__button * {\n pointer-events: none;\n}\n\n.select-menu__button:hover .select-menu__label--placeholder {\n color: var(--black8);\n}\n\n.select-menu__button:focus .select-menu__label--placeholder {\n color: var(--black8);\n}\n\n.select-menu__button:disabled:hover .select-menu__label--placeholder {\n color: var(--black3);\n}\n\n.select-menu__button:hover .select-menu__caret, .select-menu__button:focus .select-menu__caret {\n opacity: 1.0;\n margin-left: auto;\n}\n\n.select-menu__button:disabled:hover .select-menu__caret {\n opacity: 0.3;\n margin-left: -12px;\n}\n\n.select-menu__button:disabled .select-menu__label {\n color: var(--black3);\n}\n\n.select-menu__label {\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-neg-xsmall);\n line-height: var(--line-height);\n color: var(--black8);\n margin-right: 6px;\n margin-top: -2px;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n\n.select-menu__label--placeholder {\n color: var(--black3);\n}\n\n.select-menu__caret {\n width: 30px;\n height: 30px;\n display: block;\n margin-top: -1px;\n margin-left: -12px;\n background-image: url(\"data:image/svg+xml;utf8,%3Csvg%20fill%3D%22none%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20width%3D%2230%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20clip-rule%3D%22evenodd%22%20d%3D%22m15%2016.7071-3-3%20.7071-.7071%202.6465%202.6464%202.6464-2.6464.7071.7071-3%203-.3535.3536z%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E\");\n background-repeat: no-repeat;\n background-position: center center;\n opacity: 0.3;\n}\n\n.select-menu .icon {\n margin-left: -8px;\n margin-top: -2px;\n margin-right: 0;\n opacity: 0.3;\n}\n\n.select-menu__menu {\n display: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n background-color: var(--hud);\n box-shadow: var(--shadow-hud);\n padding: var(--size-xxsmall) 0 var(--size-xxsmall) 0;\n border-radius: var(--border-radius-small);\n margin: 0;\n z-index: 1000;\n overflow-x: overlay;\n overflow-y: auto;\n}\n\n.select-menu__menu--active {\n display: block;\n}\n\n.select-menu__menu::-webkit-scrollbar {\n width: 12px;\n background-color: transparent;\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=);\n background-repeat: repeat;\n background-size: 100% auto;\n}\n\n.select-menu__menu::-webkit-scrollbar-track {\n border: solid 3px transparent;\n box-shadow: inset 0 0 10px 10px transparent;\n}\n\n.select-menu__menu::-webkit-scrollbar-thumb {\n border: solid 3px transparent;\n border-radius: 6px;\n box-shadow: inset 0 0 10px 10px rgba(255, 255, 255, 0.4);\n}\n\n.select-menu__item {\n align-items: center;\n color: var(--white);\n cursor: default;\n display: flex;\n font-family: var(--font-stack);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-neg-xsmall);\n line-height: var(--font-line-height);\n height: var(--size-small);\n padding: 0px var(--size-xsmall) 0px var(--size-xxsmall);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n outline: none;\n}\n\n.select-menu__item--selected .select-menu__item-icon {\n opacity: 1.0;\n}\n\n.select-menu__item-label {\n overflow-x: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n pointer-events: none;\n}\n\n.select-menu__item-icon {\n width: var(--size-xsmall);\n height: var(--size-xsmall);\n margin-right: var(--size-xxsmall);\n opacity: 0;\n pointer-events: none;\n background-image: url(\"data:image/svg+xml;utf8,%3Csvg%20fill%3D%22none%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20width%3D%2216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20clip-rule%3D%22evenodd%22%20d%3D%22m13.2069%205.20724-5.50002%205.49996-.70711.7072-.70711-.7072-3-2.99996%201.41422-1.41421%202.29289%202.29289%204.79293-4.79289z%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E\");\n background-repeat: no-repeat;\n background-position: center center;\n}\n\n.select-menu--highlight, .select-menu__item:hover, .select-menu__item:focus {\n background-color: var(--blue);\n}\n\n.select-menu__divider-label {\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-neg-small);\n line-height: var(--line-height);\n display: flex;\n align-items: center;\n height: var(--size-small);\n padding: 0 var(--size-xxsmall) 0 var(--size-medium);\n color: var(--white4);\n margin-top: 0;\n}\n\n.select-menu__divider {\n background-color: var(--white2);\n display: block;\n height: 1px;\n margin: 8px 0 7px 0;\n}\n\n.switch {\n align-items: center;\n cursor: default;\n display: flex;\n height: var(--size-medium);\n position: relative;\n /*\n &__toggle:focus + &__label:before {\n box-shadow: 0 0 0 2px var(--blue);\n }\n */\n}\n\n.switch__toggle {\n opacity: 0;\n}\n\n.switch__toggle:checked + .switch__label:before {\n color: var(--black8);\n background-color: var(--black8-opaque);\n}\n\n.switch__toggle:checked + .switch__label:after {\n transform: translateX(12px);\n}\n\n.switch__toggle:checked:disabled + .switch__label:before {\n border: 1px solid var(--black);\n background-color: var(--black);\n}\n\n.switch__toggle:disabled + .switch__label {\n color: var(--black);\n opacity: 0.3;\n}\n\n.switch__label {\n align-items: center;\n color: var(--black8);\n display: flex;\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n height: 100%;\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--font-line-height);\n margin-left: -16px;\n padding: 0 var(--size-xsmall) 0 calc(var(--size-xlarge) - 2px);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.switch__label:before {\n background-color: var(--white);\n border: 1px solid var(--black8-opaque);\n border-radius: 6px;\n content: '';\n display: block;\n height: 10px;\n left: 8px;\n position: absolute;\n top: 10px;\n transition: background-color 0 0.2s;\n width: 22px;\n}\n\n.switch__label:after {\n background-color: var(--white);\n border: 1px solid var(--black8-opaque);\n border-radius: 50%;\n content: '';\n display: block;\n height: 10px;\n left: 8px;\n position: absolute;\n top: 10px;\n transition: transform 0.2s;\n width: 10px;\n}\n\n.textarea {\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-neg-xsmall);\n line-height: var(--line-height);\n position: relative;\n display: flex;\n overflow: visible;\n align-items: center;\n width: 100%;\n min-height: 62px;\n margin: 1px 0 1px 0;\n padding: var(--size-xxsmall) var(--size-xxxsmall) var(--size-xxsmall) var(--size-xxsmall);\n color: var(--black8);\n border: 1px solid var(--black1);\n border-radius: var(--border-radius-small);\n outline: none;\n background-color: var(--white);\n resize: none;\n overflow-y: auto;\n}\n\n.textarea:hover, .textarea:placeholder-shown:hover {\n color: var(--black8);\n border: 1px solid var(--black1);\n background-image: none;\n}\n\n.textarea::-moz-selection {\n color: var(--black);\n background-color: var(--blue3);\n}\n\n.textarea::selection {\n color: var(--black);\n background-color: var(--blue3);\n}\n\n.textarea::-moz-placeholder {\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.textarea:-ms-input-placeholder {\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.textarea::placeholder {\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.textarea:focus:placeholder-shown {\n border: 1px solid var(--blue);\n outline: 1px solid var(--blue);\n outline-offset: -2px;\n}\n\n.textarea:active, .textarea:focus {\n color: var(--black);\n border: 1px solid var(--blue);\n outline: 1px solid var(--blue);\n outline-offset: -2px;\n}\n\n.textarea:disabled, .textarea:disabled:hover {\n position: relative;\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.textarea:disabled:active {\n outline: none;\n}\n\n.type {\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n line-height: var(--font-line-height);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n /* sizes */\n /* weights */\n /* letter spacing adjustments based pos/neg application */\n}\n\n.type--small {\n font-size: var(--font-size-small);\n letter-spacing: var(--font-letter-spacing-pos-small);\n}\n\n.type--large {\n font-size: var(--font-size-large);\n line-height: var(--font-line-height-large);\n letter-spacing: var(--font-letter-spacing-pos-large);\n}\n\n.type--xlarge {\n font-size: var(--font-size-xlarge);\n line-height: var(--font-line-height-large);\n letter-spacing: var(--font-letter-spacing-pos-xlarge);\n}\n\n.type--medium {\n font-weight: var(--font-weight-medium);\n}\n\n.type--bold {\n font-weight: var(--font-weight-bold);\n}\n\n.type--inverse {\n letter-spacing: var(--font-letter-spacing-neg-xsmall);\n}\n\n.type--inverse + .type--small {\n letter-spacing: var(--font-letter-spacing-neg-small);\n}\n\n.type--inverse + .type--large {\n letter-spacing: var(--font-letter-spacing-neg-large);\n}\n\n.type--inverse + .type--xlarge {\n letter-spacing: var(--font-letter-spacing-neg-xlarge);\n}\n\n.type--inline {\n display: inline-block;\n}\n", "",{"version":3,"sources":["webpack://./node_modules/figma-plugin-ds/dist/figma-plugin-ds.css"],"names":[],"mappings":"AAAA,SAAS;AACT;EACE,WAAW;EACX,WAAW;EACX,eAAe;EACf,iBAAiB;EACjB,mBAAmB;EACnB,gBAAgB;EAChB,cAAc;EACd,iBAAiB;EACjB,qBAAqB;EACrB,gBAAgB;EAChB,2BAA2B;EAC3B,wBAAwB;EACxB,2BAA2B;EAC3B,wBAAwB;EACxB,gBAAgB;EAChB,iCAAiC;EACjC,iCAAiC;EACjC,qBAAqB;EACrB,eAAe;EACf,iBAAiB;EACjB,cAAc;EACd,kBAAkB;EAClB,YAAY;EACZ,2BAA2B;EAC3B,+BAA+B;EAC/B,iCAAiC;EACjC,gCAAgC;EAChC,sBAAsB;EACtB,sBAAsB;EACtB,iCAAiC;EACjC,eAAe;EACf,iDAAiD;EACjD,iDAAiD;EACjD,eAAe;EACf,iCAAiC;EACjC,eAAe;EACf,wBAAwB;EACxB,uBAAuB;EACvB,uBAAuB;EACvB,wBAAwB;EACxB,iBAAiB;EACjB,yBAAyB;EACzB,yBAAyB;EACzB,uBAAuB;EACvB,eAAe;EACf,wBAAwB;EACxB,qCAAqC;EACrC,8BAA8B;EAC9B,qCAAqC;EACrC,kBAAkB;EAClB,wCAAwC;EACxC,uCAAuC;EACvC,kCAAkC;EAClC,uCAAuC;EACvC,yCAAyC;EACzC,wCAAwC;EACxC,yCAAyC;EACzC,yCAAyC;EACzC,kBAAkB;EAClB,0BAA0B;EAC1B,wBAAwB;EACxB,0BAA0B;EAC1B,YAAY;EACZ,wEAAwE;EACxE,uDAAuD;EACvD,qBAAqB;EACrB,oBAAoB;EACpB,mBAAmB;EACnB,mBAAmB;EACnB,kBAAkB;EAClB,mBAAmB;EACnB,kBAAkB;EAClB,mBAAmB;EACnB,oBAAoB;EACpB,qBAAqB;AACvB;;AAEA,kBAAkB;AAClB;EACE,sBAAsB;AACxB;;AAEA;EACE,kBAAkB;EAClB,sBAAsB;EACtB,gCAAgC;EAChC,SAAS;EACT,UAAU;AACZ;;AAEA,WAAW;AACX;EACE,oBAAoB;EACpB,gBAAgB;EAChB,kBAAkB;EAClB,uKAAuK;AACzK;;AAEA;EACE,oBAAoB;EACpB,gBAAgB;EAChB,kBAAkB;EAClB,sKAAsK;AACxK;;AAEA;EACE,oBAAoB;EACpB,gBAAgB;EAChB,kBAAkB;EAClB,0KAA0K;AAC5K;;AAEA,cAAc;AACd,YAAY;AACZ;EACE,6BAA6B;AAC/B;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA,gBAAgB;AAChB;EACE,iCAAiC;AACnC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,iCAAiC;AACnC;;AAEA,kBAAkB;AAClB;EACE,mCAAmC;AACrC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,mCAAmC;AACrC;;AAEA,mBAAmB;AACnB;EACE,oCAAoC;AACtC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,oCAAoC;AACtC;;AAEA,iBAAiB;AACjB;EACE,kCAAkC;AACpC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,kCAAkC;AACpC;;AAEA,WAAW;AACX;EACE,4BAA4B;AAC9B;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,4BAA4B;AAC9B;;AAEA,eAAe;AACf;EACE,gCAAgC;AAClC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,gCAAgC;AAClC;;AAEA,iBAAiB;AACjB;EACE,kCAAkC;AACpC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,kCAAkC;AACpC;;AAEA,kBAAkB;AAClB;EACE,mCAAmC;AACrC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,mCAAmC;AACrC;;AAEA,gBAAgB;AAChB;EACE,iCAAiC;AACnC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,iCAAiC;AACnC;;AAEA,qBAAqB;AACrB;EACE,aAAa;AACf;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,yCAAyC;EACzC,mBAAmB;EACnB,cAAc;EACd,8BAA8B;EAC9B,kCAAkC;EAClC,sCAAsC;EACtC,oDAAoD;EACpD,oCAAoC;EACpC,0BAA0B;EAC1B,kDAAkD;EAClD,qBAAqB;EACrB,aAAa;EACb,6BAA6B;EAC7B,yBAAyB;KACtB,sBAAsB;MACrB,qBAAqB;UACjB,iBAAiB;AAC3B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,8BAA8B;EAC9B,+BAA+B;EAC/B,oBAAoB;EACpB,0EAA0E;EAC1E,oDAAoD;AACtD;;AAEA;EACE,6BAA6B;EAC7B,kDAAkD;AACpD;;AAEA;EACE,+BAA+B;EAC/B,oBAAoB;AACtB;;AAEA;EACE,wBAAwB;EACxB,iBAAiB;AACnB;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,4BAA4B;EAC5B,kDAAkD;AACpD;;AAEA;EACE,4BAA4B;EAC5B,8BAA8B;EAC9B,iBAAiB;EACjB,YAAY;AACd;;AAEA;EACE,6BAA6B;EAC7B,kBAAkB;EAClB,6BAA6B;EAC7B,UAAU;EACV,sCAAsC;EACtC,oDAAoD;EACpD,eAAe;AACjB;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,eAAe;EACf,oBAAoB;AACtB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,mBAAmB;EACnB,eAAe;EACf,aAAa;EACb,0BAA0B;EAC1B,kBAAkB;EAClB,cAAc;EACd;;;;GAIC;EACD,YAAY;EACZ;;;;GAIC;AACH;;AAEA;EACE,UAAU;EACV,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;AACZ;;AAEA;EACE,mBAAmB;EACnB,oBAAoB;EACpB,aAAa;EACb,8BAA8B;EAC9B,kCAAkC;EAClC,sCAAsC;EACtC,oCAAoC;EACpC,qDAAqD;EACrD,kBAAkB;EAClB,iDAAiD;EACjD,YAAY;EACZ,yBAAyB;KACtB,sBAAsB;MACrB,qBAAqB;UACjB,iBAAiB;AAC3B;;AAEA;EACE,+BAA+B;EAC/B,yCAAyC;EACzC,WAAW;EACX,cAAc;EACd,WAAW;EACX,YAAY;EACZ,wBAAwB;EACxB,gBAAgB;AAClB;;AAEA;EACE,mBAAmB;EACnB,YAAY;AACd;;AAEA;EACE,6BAA6B;EAC7B,0aAA0a;EAC1a,4BAA4B;EAC5B,4BAA4B;EAC5B,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;EAC7B,+BAA+B;AACjC;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,UAAU;EACV,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,UAAU;EACV,qBAAqB;EACrB,sCAAsC;AACxC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,0BAA0B;EAC1B,kCAAkC;EAClC,sCAAsC;EACtC,qDAAqD;EACrD,+BAA+B;EAC/B,oBAAoB;EACpB,qBAAqB;EACrB,eAAe;EACf,yBAAyB;KACtB,sBAAsB;MACrB,qBAAqB;UACjB,iBAAiB;AAC3B;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,cAAc;EACd,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,sRAAsR;EACtR,4BAA4B;EAC5B,kCAAkC;AACpC;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,kCAAkC;EAClC,sCAAsC;EACtC,qDAAqD;EACrD,+BAA+B;EAC/B,oBAAoB;EACpB,sFAAsF;EACtF,aAAa;EACb,yBAAyB;KACtB,sBAAsB;MACrB,qBAAqB;UACjB,iBAAiB;EACzB,oBAAoB;AACtB;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,cAAc;EACd,oCAAoC;AACtC;;AAEA;EACE,YAAY;EACZ,yRAAyR;AAC3R;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,eAAe;EACf,yBAAyB;EACzB,0BAA0B;EAC1B,8BAA8B;EAC9B,kCAAkC;EAClC,yBAAyB;KACtB,sBAAsB;MACrB,qBAAqB;UACjB,iBAAiB;EACzB,4BAA4B;AAC9B;;AAEA;EACE,gDAAgD;UACxC,wCAAwC;AAClD;;AAEA;EACE;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;AACF;;AAEA;EACE;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;AACF;;AAEA;EACE,gGAAgG;AAClG;;AAEA;EACE,iGAAiG;AACnG;;AAEA;EACE,gGAAgG;AAClG;;AAEA;EACE,iGAAiG;AACnG;;AAEA;EACE,gGAAgG;AAClG;;AAEA;EACE,+FAA+F;AACjG;;AAEA;EACE,+FAA+F;AACjG;;AAEA;EACE,+FAA+F;AACjG;;AAEA;EACE,6FAA6F;AAC/F;;AAEA;EACE,+FAA+F;AACjG;;AAEA;EACE,gGAAgG;AAClG;;AAEA;EACE,2FAA2F;AAC7F;;AAEA;EACE,8FAA8F;AAChG;;AAEA;EACE,wbAAwb;AAC1b;;AAEA;EACE,qhBAAqhB;AACvhB;;AAEA;EACE,+QAA+Q;AACjR;;AAEA;EACE,qUAAqU;AACvU;;AAEA;EACE,iUAAiU;AACnU;;AAEA;EACE,8QAA8Q;AAChR;;AAEA;EACE,+QAA+Q;AACjR;;AAEA;EACE,wRAAwR;AAC1R;;AAEA;EACE,4mBAA4mB;AAC9mB;;AAEA;EACE,8kBAA8kB;AAChlB;;AAEA;EACE,2iBAA2iB;AAC7iB;;AAEA;EACE,8LAA8L;AAChM;;AAEA;EACE,6LAA6L;AAC/L;;AAEA;EACE,8LAA8L;AAChM;;AAEA;EACE,8LAA8L;AAChM;;AAEA;EACE,gSAAgS;AAClS;;AAEA;EACE,+SAA+S;AACjT;;AAEA;EACE,siBAAsiB;AACxiB;;AAEA;EACE,qQAAqQ;AACvQ;;AAEA;EACE,kSAAkS;AACpS;;AAEA;EACE,qPAAqP;AACvP;;AAEA;EACE,kPAAkP;AACpP;;AAEA;EACE,mSAAmS;AACrS;;AAEA;EACE,ykBAAykB;AAC3kB;;AAEA;EACE,iVAAiV;AACnV;;AAEA;EACE,kaAAka;AACpa;;AAEA;EACE,uRAAuR;AACzR;;AAEA;EACE,2SAA2S;AAC7S;;AAEA;EACE,gXAAgX;AAClX;;AAEA;EACE,2hBAA2hB;AAC7hB;;AAEA;EACE,2SAA2S;AAC7S;;AAEA;EACE,gfAAgf;AAClf;;AAEA;EACE,ydAAyd;AAC3d;;AAEA;EACE,iRAAiR;AACnR;;AAEA;EACE,0fAA0f;AAC5f;;AAEA;EACE,uQAAuQ;AACzQ;;AAEA;EACE,yOAAyO;AAC3O;;AAEA;EACE,mPAAmP;AACrP;;AAEA;EACE,oPAAoP;AACtP;;AAEA;EACE,mPAAmP;AACrP;;AAEA;EACE,2OAA2O;AAC7O;;AAEA;EACE,yOAAyO;AAC3O;;AAEA;EACE,uOAAuO;AACzO;;AAEA;EACE,gUAAgU;AAClU;;AAEA;EACE,uoCAAuoC;AACzoC;;AAEA;EACE,yRAAyR;AAC3R;;AAEA;EACE,oUAAoU;AACtU;;AAEA;EACE,mRAAmR;AACrR;;AAEA;EACE,iUAAiU;AACnU;;AAEA;EACE,2PAA2P;AAC7P;;AAEA;EACE,kTAAkT;AACpT;;AAEA;EACE,kWAAkW;AACpW;;AAEA;EACE,qMAAqM;AACvM;;AAEA;EACE,gRAAgR;AAClR;;AAEA;EACE,uNAAuN;AACzN;;AAEA;EACE,s6BAAs6B;AACx6B;;AAEA;EACE,8UAA8U;AAChV;;AAEA;EACE,2ZAA2Z;AAC7Z;;AAEA;EACE,6TAA6T;AAC/T;;AAEA;EACE,gYAAgY;AAClY;;AAEA;EACE,snBAAsnB;AACxnB;;AAEA;EACE,gTAAgT;AAClT;;AAEA;EACE,kVAAkV;AACpV;;AAEA;EACE,28CAA28C;AAC78C;;AAEA;EACE,kjBAAkjB;AACpjB;;AAEA;EACE,4fAA4f;AAC9f;;AAEA;EACE,8bAA8b;AAChc;;AAEA;EACE,0bAA0b;AAC5b;;AAEA;EACE,+XAA+X;AACjY;;AAEA;EACE,8OAA8O;AAChP;;AAEA;EACE,uTAAuT;AACzT;;AAEA;EACE,6YAA6Y;AAC/Y;;AAEA;EACE,sPAAsP;AACxP;;AAEA;EACE,kQAAkQ;AACpQ;;AAEA;EACE,sWAAsW;AACxW;;AAEA;EACE,4cAA4c;AAC9c;;AAEA;EACE,8hBAA8hB;AAChiB;;AAEA;EACE,6TAA6T;AAC/T;;AAEA;EACE,oPAAoP;AACtP;;AAEA;EACE,mPAAmP;AACrP;;AAEA;EACE,ueAAue;AACze;;AAEA;EACE,ibAAib;AACnb;;AAEA;EACE,2SAA2S;AAC7S;;AAEA;EACE,8dAA8d;AAChe;;AAEA;EACE,gQAAgQ;AAClQ;;AAEA;EACE,oQAAoQ;AACtQ;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,eAAe;EACf,yBAAyB;EACzB,0BAA0B;EAC1B,yCAAyC;EACzC,6BAA6B;AAC/B;;AAEA;EACE,+FAA+F;AACjG;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;EAC7B,aAAa;AACf;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,gGAAgG;AAClG;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,kCAAkC;EAClC,sCAAsC;EACtC,qDAAqD;EACrD,+BAA+B;EAC/B,kBAAkB;EAClB,aAAa;EACb,iBAAiB;EACjB,mBAAmB;EACnB,WAAW;EACX,YAAY;EACZ,mBAAmB;EACnB,yFAAyF;EACzF,oBAAoB;EACpB,6BAA6B;EAC7B,yCAAyC;EACzC,aAAa;EACb,8BAA8B;AAChC;;AAEA;EACE,oBAAoB;EACpB,+BAA+B;EAC/B,sBAAsB;AACxB;;AAEA;EACE,mBAAmB;EACnB,8BAA8B;AAChC;;AAEA;EACE,mBAAmB;EACnB,8BAA8B;AAChC;;AAEA;EACE,oBAAoB;EACpB,6BAA6B;AAC/B;;AAEA;EACE,oBAAoB;EACpB,6BAA6B;AAC/B;;AAEA;EACE,oBAAoB;EACpB,6BAA6B;AAC/B;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,6BAA6B;EAC7B,8BAA8B;EAC9B,oBAAoB;AACtB;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,mBAAmB;EACnB,6BAA6B;EAC7B,8BAA8B;EAC9B,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;EAClB,oBAAoB;EACpB,yBAAyB;KACtB,sBAAsB;MACrB,qBAAqB;UACjB,iBAAiB;AAC3B;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,kBAAkB;EAClB,QAAQ;EACR,OAAO;EACP,yBAAyB;EACzB,0BAA0B;EAC1B,UAAU;EACV,YAAY;AACd;;AAEA;EACE,kCAAkC;EAClC,sCAAsC;EACtC,qDAAqD;EACrD,+BAA+B;EAC/B,oBAAoB;EACpB,0BAA0B;EAC1B,WAAW;EACX,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,yBAAyB;KACtB,sBAAsB;MACrB,qBAAqB;UACjB,iBAAiB;EACzB,qDAAqD;AACvD;;AAEA;EACE,aAAa;EACb,uBAAuB;EACvB,iCAAiC;AACnC;;AAEA;EACE,iCAAiC;EACjC,UAAU;AACZ;;AAEA;EACE,oDAAoD;EACpD,kCAAkC;EAClC,sCAAsC;EACtC,qDAAqD;EACrD,+BAA+B;EAC/B,oBAAoB;EACpB,SAAS;AACX;;AAEA;EACE,mBAAmB;EACnB,eAAe;EACf,aAAa;EACb,0BAA0B;EAC1B,kBAAkB;AACpB;;AAEA;EACE,UAAU;EACV,WAAW;EACX,YAAY;EACZ,SAAS;EACT,UAAU;AACZ;;AAEA;EACE,+NAA+N;EAC/N,4BAA4B;EAC5B,4BAA4B;AAC9B;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,mBAAmB;EACnB,oBAAoB;EACpB,aAAa;EACb,8BAA8B;EAC9B,kCAAkC;EAClC,sCAAsC;EACtC,oCAAoC;EACpC,qDAAqD;EACrD,kBAAkB;EAClB,iDAAiD;EACjD,YAAY;EACZ,yBAAyB;KACtB,sBAAsB;MACrB,qBAAqB;UACjB,iBAAiB;AAC3B;;AAEA;EACE,+BAA+B;EAC/B,yCAAyC;EACzC,WAAW;EACX,cAAc;EACd,WAAW;EACX,YAAY;EACZ,uBAAuB;EACvB,kBAAkB;AACpB;;AAEA;EACE,kCAAkC;EAClC,oCAAoC;EACpC,qDAAqD;EACrD,+BAA+B;EAC/B,oBAAoB;EACpB,0BAA0B;EAC1B,WAAW;EACX,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,yBAAyB;KACtB,sBAAsB;MACrB,qBAAqB;UACjB,iBAAiB;EACzB,8DAA8D;AAChE;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,6BAA6B;EAC7B,YAAY;EACZ,WAAW;EACX,mBAAmB;EACnB,wDAAwD;EACxD,kBAAkB;EAClB,yCAAyC;EACzC,8BAA8B;AAChC;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,6BAA6B;EAC7B,8BAA8B;EAC9B,oBAAoB;AACtB;;AAEA;EACE,2BAA2B;EAC3B,yBAAyB;AAC3B;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,YAAY;EACZ,iBAAiB;AACnB;;AAEA;EACE,YAAY;EACZ,kBAAkB;AACpB;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,kCAAkC;EAClC,sCAAsC;EACtC,qDAAqD;EACrD,+BAA+B;EAC/B,oBAAoB;EACpB,iBAAiB;EACjB,gBAAgB;EAChB,mBAAmB;EACnB,kBAAkB;EAClB,uBAAuB;AACzB;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,cAAc;EACd,gBAAgB;EAChB,kBAAkB;EAClB,6ZAA6Z;EAC7Z,4BAA4B;EAC5B,kCAAkC;EAClC,YAAY;AACd;;AAEA;EACE,iBAAiB;EACjB,gBAAgB;EAChB,eAAe;EACf,YAAY;AACd;;AAEA;EACE,aAAa;EACb,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,4BAA4B;EAC5B,6BAA6B;EAC7B,oDAAoD;EACpD,yCAAyC;EACzC,SAAS;EACT,aAAa;EACb,mBAAmB;EACnB,gBAAgB;AAClB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,WAAW;EACX,6BAA6B;EAC7B,yIAAyI;EACzI,yBAAyB;EACzB,0BAA0B;AAC5B;;AAEA;EACE,6BAA6B;EAC7B,2CAA2C;AAC7C;;AAEA;EACE,6BAA6B;EAC7B,kBAAkB;EAClB,wDAAwD;AAC1D;;AAEA;EACE,mBAAmB;EACnB,mBAAmB;EACnB,eAAe;EACf,aAAa;EACb,8BAA8B;EAC9B,iCAAiC;EACjC,sCAAsC;EACtC,qDAAqD;EACrD,oCAAoC;EACpC,yBAAyB;EACzB,uDAAuD;EACvD,yBAAyB;KACtB,sBAAsB;MACrB,qBAAqB;UACjB,iBAAiB;EACzB,aAAa;AACf;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,kBAAkB;EAClB,mBAAmB;EACnB,uBAAuB;EACvB,oBAAoB;AACtB;;AAEA;EACE,yBAAyB;EACzB,0BAA0B;EAC1B,iCAAiC;EACjC,UAAU;EACV,oBAAoB;EACpB,gcAAgc;EAChc,4BAA4B;EAC5B,kCAAkC;AACpC;;AAEA;EACE,6BAA6B;AAC/B;;AAEA;EACE,iCAAiC;EACjC,sCAAsC;EACtC,oDAAoD;EACpD,+BAA+B;EAC/B,aAAa;EACb,mBAAmB;EACnB,yBAAyB;EACzB,mDAAmD;EACnD,oBAAoB;EACpB,aAAa;AACf;;AAEA;EACE,+BAA+B;EAC/B,cAAc;EACd,WAAW;EACX,mBAAmB;AACrB;;AAEA;EACE,mBAAmB;EACnB,eAAe;EACf,aAAa;EACb,0BAA0B;EAC1B,kBAAkB;EAClB;;;;KAIG;AACL;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,oBAAoB;EACpB,sCAAsC;AACxC;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,8BAA8B;EAC9B,8BAA8B;AAChC;;AAEA;EACE,mBAAmB;EACnB,YAAY;AACd;;AAEA;EACE,mBAAmB;EACnB,oBAAoB;EACpB,aAAa;EACb,8BAA8B;EAC9B,kCAAkC;EAClC,sCAAsC;EACtC,YAAY;EACZ,qDAAqD;EACrD,oCAAoC;EACpC,kBAAkB;EAClB,8DAA8D;EAC9D,yBAAyB;KACtB,sBAAsB;MACrB,qBAAqB;UACjB,iBAAiB;AAC3B;;AAEA;EACE,8BAA8B;EAC9B,sCAAsC;EACtC,kBAAkB;EAClB,WAAW;EACX,cAAc;EACd,YAAY;EACZ,SAAS;EACT,kBAAkB;EAClB,SAAS;EACT,mCAAmC;EACnC,WAAW;AACb;;AAEA;EACE,8BAA8B;EAC9B,sCAAsC;EACtC,kBAAkB;EAClB,WAAW;EACX,cAAc;EACd,YAAY;EACZ,SAAS;EACT,kBAAkB;EAClB,SAAS;EACT,0BAA0B;EAC1B,WAAW;AACb;;AAEA;EACE,kCAAkC;EAClC,sCAAsC;EACtC,qDAAqD;EACrD,+BAA+B;EAC/B,kBAAkB;EAClB,aAAa;EACb,iBAAiB;EACjB,mBAAmB;EACnB,WAAW;EACX,gBAAgB;EAChB,mBAAmB;EACnB,yFAAyF;EACzF,oBAAoB;EACpB,+BAA+B;EAC/B,yCAAyC;EACzC,aAAa;EACb,8BAA8B;EAC9B,YAAY;EACZ,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,+BAA+B;EAC/B,sBAAsB;AACxB;;AAEA;EACE,mBAAmB;EACnB,8BAA8B;AAChC;;AAEA;EACE,mBAAmB;EACnB,8BAA8B;AAChC;;AAEA;EACE,oBAAoB;EACpB,6BAA6B;AAC/B;;AAEA;EACE,oBAAoB;EACpB,6BAA6B;AAC/B;;AAEA;EACE,oBAAoB;EACpB,6BAA6B;AAC/B;;AAEA;EACE,6BAA6B;EAC7B,8BAA8B;EAC9B,oBAAoB;AACtB;;AAEA;EACE,mBAAmB;EACnB,6BAA6B;EAC7B,8BAA8B;EAC9B,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;EAClB,oBAAoB;EACpB,6BAA6B;AAC/B;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,8BAA8B;EAC9B,kCAAkC;EAClC,sCAAsC;EACtC,oCAAoC;EACpC,qDAAqD;EACrD,UAAU;EACV,YAAY;EACZ,yDAAyD;AAC3D;;AAEA;EACE,iCAAiC;EACjC,oDAAoD;AACtD;;AAEA;EACE,iCAAiC;EACjC,0CAA0C;EAC1C,oDAAoD;AACtD;;AAEA;EACE,kCAAkC;EAClC,0CAA0C;EAC1C,qDAAqD;AACvD;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,qBAAqB;AACvB","sourcesContent":["/* Vars */\n:root {\n /* COLORS */\n /* Accent */\n --blue: #18a0fb;\n --purple: #7b61ff;\n --hot-pink: #ff00ff;\n --green: #1bc47d;\n --red: #f24822;\n --yellow: #ffeb00;\n /* Basic foreground */\n --black: #000000;\n --black8: rgba(0, 0, 0, .8);\n --black8-opaque: #333333;\n --black3: rgba(0, 0, 0, .3);\n --black3-opaque: #B3B3B3;\n --white: #ffffff;\n --white8: rgba(255, 255, 255, .8);\n --white4: rgba(255, 255, 255, .4);\n /* Basic background */\n --grey: #f0f0f0;\n --silver: #e5e5e5;\n --hud: #222222;\n --toolbar: #2c2c2c;\n /* Special */\n --black1: rgba(0, 0, 0, .1);\n --blue3: rgba(24, 145, 251, .3);\n --purple4: rgba(123, 97, 255, .4);\n --hover-fill: rgba(0, 0, 0, .06);\n --selection-a: #daebf7;\n --selection-b: #edf5fa;\n --white2: rgba(255, 255, 255, .2);\n /* TYPOGRAPHY */\n /* Pos = positive applications (black on white) */\n /* Neg = negative applications (white on black) */\n /* Font stack */\n --font-stack: 'Inter', sans-serif;\n /* Font sizes */\n --font-size-xsmall: 11px;\n --font-size-small: 12px;\n --font-size-large: 13px;\n --font-size-xlarge: 14px;\n /* Font weights */\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-bold: 600;\n /* Lineheight */\n --font-line-height: 16px;\n /* Use For xsmall, small font sizes */\n --font-line-height-large: 24px;\n /* Use For large, xlarge font sizes */\n /* Letterspacing */\n --font-letter-spacing-pos-xsmall: .005em;\n --font-letter-spacing-neg-xsmall: .01em;\n --font-letter-spacing-pos-small: 0;\n --font-letter-spacing-neg-small: .005em;\n --font-letter-spacing-pos-large: -.0025em;\n --font-letter-spacing-neg-large: .0025em;\n --font-letter-spacing-pos-xlarge: -.001em;\n --font-letter-spacing-neg-xlarge: -.001em;\n /* BORDER RADIUS */\n --border-radius-small: 2px;\n --border-radius-med: 5px;\n --border-radius-large: 6px;\n /* SHADOWS */\n --shadow-hud: 0 5px 17px rgba(0, 0, 0, .2), 0 2px 7px rgba(0, 0, 0, .15);\n --shadow-floating-window: 0 2px 14px rgba(0, 0, 0, .15);\n /* SPACING + SIZING */\n --size-xxxsmall: 4px;\n --size-xxsmall: 8px;\n --size-xsmall: 16px;\n --size-small: 24px;\n --size-medium: 32px;\n --size-large: 40px;\n --size-xlarge: 48px;\n --size-xxlarge: 64px;\n --size-xxxlarge: 80px;\n}\n\n/* Global styles */\n* {\n box-sizing: border-box;\n}\n\nbody {\n position: relative;\n box-sizing: border-box;\n font-family: 'Inter', sans-serif;\n margin: 0;\n padding: 0;\n}\n\n/* FONTS */\n@font-face {\n font-family: 'Inter';\n font-weight: 400;\n font-style: normal;\n src: url(\"https://rsms.me/inter/font-files/Inter-Regular.woff2?v=3.7\") format(\"woff2\"), url(\"https://rsms.me/inter/font-files/Inter-Regular.woff?v=3.7\") format(\"woff\");\n}\n\n@font-face {\n font-family: 'Inter';\n font-weight: 500;\n font-style: normal;\n src: url(\"https://rsms.me/inter/font-files/Inter-Medium.woff2?v=3.7\") format(\"woff2\"), url(\"https://rsms.me/inter/font-files/Inter-Medium.woff2?v=3.7\") format(\"woff\");\n}\n\n@font-face {\n font-family: 'Inter';\n font-weight: 600;\n font-style: normal;\n src: url(\"https://rsms.me/inter/font-files/Inter-SemiBold.woff2?v=3.7\") format(\"woff2\"), url(\"https://rsms.me/inter/font-files/Inter-SemiBold.woff2?v=3.7\") format(\"woff\");\n}\n\n/* UTILITIES */\n/* padding */\n.p-xxxsmall {\n padding: var(--size-xxxsmall);\n}\n\n.p-xxsmall {\n padding: var(--size-xxsmall);\n}\n\n.p-xsmall {\n padding: var(--size-xsmall);\n}\n\n.p-small {\n padding: var(--size-small);\n}\n\n.p-medium {\n padding: var(--size-medium);\n}\n\n.p-large {\n padding: var(--size-large);\n}\n\n.p-xlarge {\n padding: var(--size-xlarge);\n}\n\n.p-xxlarge {\n padding: var(--size-xxlarge);\n}\n\n.p-huge {\n padding: var(--size-xxxlarge);\n}\n\n/* padding top */\n.pt-xxxsmall {\n padding-top: var(--size-xxxsmall);\n}\n\n.pt-xxsmall {\n padding-top: var(--size-xxsmall);\n}\n\n.pt-xsmall {\n padding-top: var(--size-xsmall);\n}\n\n.pt-small {\n padding-top: var(--size-small);\n}\n\n.pt-medium {\n padding-top: var(--size-medium);\n}\n\n.pt-large {\n padding-top: var(--size-large);\n}\n\n.pt-xlarge {\n padding-top: var(--size-xlarge);\n}\n\n.pt-xxlarge {\n padding-top: var(--size-xxlarge);\n}\n\n.pt-huge {\n padding-top: var(--size-xxxlarge);\n}\n\n/* padding right */\n.pr-xxxsmall {\n padding-right: var(--size-xxxsmall);\n}\n\n.pr-xxsmall {\n padding-right: var(--size-xxsmall);\n}\n\n.pr-xsmall {\n padding-right: var(--size-xsmall);\n}\n\n.pr-small {\n padding-right: var(--size-small);\n}\n\n.pr-medium {\n padding-right: var(--size-medium);\n}\n\n.pr-large {\n padding-right: var(--size-large);\n}\n\n.pr-xlarge {\n padding-right: var(--size-xlarge);\n}\n\n.pr-xxlarge {\n padding-right: var(--size-xxlarge);\n}\n\n.pr-huge {\n padding-right: var(--size-xxxlarge);\n}\n\n/* padding bottom */\n.pb-xxxsmall {\n padding-bottom: var(--size-xxxsmall);\n}\n\n.pb-xxsmall {\n padding-bottom: var(--size-xxsmall);\n}\n\n.pb-xsmall {\n padding-bottom: var(--size-xsmall);\n}\n\n.pb-small {\n padding-bottom: var(--size-small);\n}\n\n.pb-medium {\n padding-bottom: var(--size-medium);\n}\n\n.pb-large {\n padding-bottom: var(--size-large);\n}\n\n.pb-xlarge {\n padding-bottom: var(--size-xlarge);\n}\n\n.pb-xxlarge {\n padding-bottom: var(--size-xxlarge);\n}\n\n.pb-huge {\n padding-bottom: var(--size-xxxlarge);\n}\n\n/* padding left */\n.pl-xxxsmall {\n padding-left: var(--size-xxxsmall);\n}\n\n.pl-xxsmall {\n padding-left: var(--size-xxsmall);\n}\n\n.pl-xsmall {\n padding-left: var(--size-xsmall);\n}\n\n.pl-small {\n padding-left: var(--size-small);\n}\n\n.pl-medium {\n padding-left: var(--size-medium);\n}\n\n.pl-large {\n padding-left: var(--size-large);\n}\n\n.pl-xlarge {\n padding-left: var(--size-xlarge);\n}\n\n.pl-xxlarge {\n padding-left: var(--size-xxlarge);\n}\n\n.pl-huge {\n padding-left: var(--size-xxxlarge);\n}\n\n/* margin */\n.m-xxxsmall {\n margin: var(--size-xxxsmall);\n}\n\n.m-xxsmall {\n margin: var(--size-xxsmall);\n}\n\n.m-xsmall {\n margin: var(--size-xsmall);\n}\n\n.m-small {\n margin: var(--size-small);\n}\n\n.m-medium {\n margin: var(--size-medium);\n}\n\n.m-large {\n margin: var(--size-large);\n}\n\n.m-xlarge {\n margin: var(--size-xlarge);\n}\n\n.m-xxlarge {\n margin: var(--size-xxlarge);\n}\n\n.m-huge {\n margin: var(--size-xxxlarge);\n}\n\n/* margin top */\n.mt-xxxsmall {\n margin-top: var(--size-xxxsmall);\n}\n\n.mt-xxsmall {\n margin-top: var(--size-xxsmall);\n}\n\n.mt-xsmall {\n margin-top: var(--size-xsmall);\n}\n\n.mt-small {\n margin-top: var(--size-small);\n}\n\n.mt-medium {\n margin-top: var(--size-medium);\n}\n\n.mt-large {\n margin-top: var(--size-large);\n}\n\n.mt-xlarge {\n margin-top: var(--size-xlarge);\n}\n\n.mt-xxlarge {\n margin-top: var(--size-xxlarge);\n}\n\n.mt-huge {\n margin-top: var(--size-xxxlarge);\n}\n\n/* margin right */\n.mr-xxxsmall {\n margin-right: var(--size-xxxsmall);\n}\n\n.mr-xxsmall {\n margin-right: var(--size-xxsmall);\n}\n\n.mr-xsmall {\n margin-right: var(--size-xsmall);\n}\n\n.mr-small {\n margin-right: var(--size-small);\n}\n\n.mr-medium {\n margin-right: var(--size-medium);\n}\n\n.mr-large {\n margin-right: var(--size-large);\n}\n\n.mr-xlarge {\n margin-right: var(--size-xlarge);\n}\n\n.mr-xxlarge {\n margin-right: var(--size-xxlarge);\n}\n\n.mr-huge {\n margin-right: var(--size-xxxlarge);\n}\n\n/* margin bottom */\n.mb-xxxsmall {\n margin-bottom: var(--size-xxxsmall);\n}\n\n.mb-xxsmall {\n margin-bottom: var(--size-xxsmall);\n}\n\n.mb-xsmall {\n margin-bottom: var(--size-xsmall);\n}\n\n.mb-small {\n margin-bottom: var(--size-small);\n}\n\n.mb-medium {\n margin-bottom: var(--size-medium);\n}\n\n.mb-large {\n margin-bottom: var(--size-large);\n}\n\n.mb-xlarge {\n margin-bottom: var(--size-xlarge);\n}\n\n.mb-xxlarge {\n margin-bottom: var(--size-xxlarge);\n}\n\n.mb-huge {\n margin-bottom: var(--size-xxxlarge);\n}\n\n/* margin left */\n.ml-xxxsmall {\n margin-left: var(--size-xxxsmall);\n}\n\n.ml-xxsmall {\n margin-left: var(--size-xxsmall);\n}\n\n.ml-xsmall {\n margin-left: var(--size-xsmall);\n}\n\n.ml-small {\n margin-left: var(--size-small);\n}\n\n.ml-medium {\n margin-left: var(--size-medium);\n}\n\n.ml-large {\n margin-left: var(--size-large);\n}\n\n.ml-xlarge {\n margin-left: var(--size-xlarge);\n}\n\n.ml-xxlarge {\n margin-left: var(--size-xxlarge);\n}\n\n.ml-huge {\n margin-left: var(--size-xxxlarge);\n}\n\n/* layout utilities */\n.hidden {\n display: none;\n}\n\n.inline {\n display: inline;\n}\n\n.block {\n display: block;\n}\n\n.inline-block {\n display: inline-block;\n}\n\n.flex {\n display: flex;\n}\n\n.inline-flex {\n display: inline-flex;\n}\n\n.column {\n flex-direction: column;\n}\n\n.column-reverse {\n flex-direction: column-reverse;\n}\n\n.row {\n flex-direction: row;\n}\n\n.row-reverse {\n flex-direction: row-reverse;\n}\n\n.flex-wrap {\n flex-wrap: wrap;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n\n.flex-no-wrap {\n flex-wrap: nowrap;\n}\n\n.flex-shrink {\n flex-shrink: 1;\n}\n\n.flex-no-shrink {\n flex-shrink: 0;\n}\n\n.flex-grow {\n flex-grow: 1;\n}\n\n.flex-no-grow {\n flex-grow: 0;\n}\n\n.justify-content-start {\n justify-content: flex-start;\n}\n\n.justify-content-end {\n justify-content: flex-end;\n}\n\n.justify-content-center {\n justify-content: center;\n}\n\n.justify-content-between {\n justify-content: space-between;\n}\n\n.justify-content-around {\n justify-content: space-around;\n}\n\n.align-items-start {\n align-items: flex-start;\n}\n\n.align-items-end {\n align-items: flex-end;\n}\n\n.align-items-center {\n align-items: center;\n}\n\n.align-items-stretch {\n align-items: stretch;\n}\n\n.align-content-start {\n align-content: flex-start;\n}\n\n.align-content-end {\n align-content: flex-end;\n}\n\n.align-content-center {\n align-content: center;\n}\n\n.align-content-stretch {\n align-content: stretch;\n}\n\n.align-self-start {\n align-self: flex-start;\n}\n\n.align-self-end {\n align-items: flex-end;\n}\n\n.align-self-center {\n align-self: center;\n}\n\n.align-self-stretch {\n align-self: stretch;\n}\n\n.button {\n display: flex;\n align-items: center;\n border-radius: var(--border-radius-large);\n color: var(--white);\n flex-shrink: 0;\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-medium);\n letter-spacing: var(--font-letter-spacing-neg-small);\n line-height: var(--font-line-height);\n height: var(--size-medium);\n padding: 0 var(--size-xsmall) 0 var(--size-xsmall);\n text-decoration: none;\n outline: none;\n border: 2px solid transparent;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.button--primary {\n background-color: var(--blue);\n}\n\n.button--primary:enabled:active, .button--primary:enabled:focus {\n border: 2px solid var(--black3);\n}\n\n.button--primary:disabled {\n background-color: var(--black3);\n}\n\n.button--primary-destructive {\n background-color: var(--red);\n}\n\n.button--primary-destructive:enabled:active, .button--primary-destructive:enabled:focus {\n border: 2px solid var(--black3);\n}\n\n.button--primary-destructive:disabled {\n opacity: 0.3;\n}\n\n.button--secondary, .button--secondary-destructive {\n background-color: var(--white);\n border: 1px solid var(--black8);\n color: var(--black8);\n padding: 0 calc(var(--size-xsmall) + 1px) 0 calc(var(--size-xsmall) + 1px);\n letter-spacing: var(--font-letter-spacing-pos-small);\n}\n\n.button--secondary:enabled:active, .button--secondary-destructive:enabled:active, .button--secondary:enabled:focus, .button--secondary-destructive:enabled:focus {\n border: 2px solid var(--blue);\n padding: 0 var(--size-xsmall) 0 var(--size-xsmall);\n}\n\n.button--secondary:disabled, .button--secondary-destructive:disabled {\n border: 1px solid var(--black3);\n color: var(--black3);\n}\n\n.button--secondary-destructive {\n border-color: var(--red);\n color: var(--red);\n}\n\n.button--secondary-destructive:disabled {\n background-color: var(--white);\n}\n\n.button--secondary-destructive:enabled:active, .button--secondary-destructive:enabled:focus {\n border: 2px solid var(--red);\n padding: 0 var(--size-xsmall) 0 var(--size-xsmall);\n}\n\n.button--secondary-destructive:disabled {\n border: 1px solid var(--red);\n background-color: var(--white);\n color: var(--red);\n opacity: 0.4;\n}\n\n.button--tertiary, .button--tertiary-destructive {\n border: 1px solid transparent;\n color: var(--blue);\n background-color: transparent;\n padding: 0;\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-pos-small);\n cursor: pointer;\n}\n\n.button--tertiary:enabled:focus, .button--tertiary-destructive:enabled:focus {\n text-decoration: underline;\n}\n\n.button--tertiary:disabled, .button--tertiary-destructive:disabled {\n cursor: default;\n color: var(--black3);\n}\n\n.button--tertiary-destructive {\n color: var(--red);\n}\n\n.button--tertiary-destructive:enabled:focus {\n text-decoration: underline;\n}\n\n.button--tertiary-destructive:disabled {\n opacity: 0.4;\n}\n\n.checkbox {\n align-items: center;\n cursor: default;\n display: flex;\n height: var(--size-medium);\n position: relative;\n /* unchecked */\n /*\n\t&__box:focus + &__label:before {\n\t\tborder: 1px solid var(--white);\n\t box-shadow: 0 0 0 2px var(--blue);\n\t}*/\n /* checked */\n /*\n\t&__box:checked:focus + &__label:before {\n\t\tborder: 1px solid var(--white);\n\t box-shadow: 0 0 0 2px var(--blue);\n\t}*/\n}\n\n.checkbox__box {\n opacity: 0;\n width: 10px;\n height: 10px;\n margin: 0;\n padding: 0;\n}\n\n.checkbox__label {\n align-items: center;\n color: var(--black8);\n display: flex;\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n line-height: var(--font-line-height);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n margin-left: -16px;\n padding: 0 var(--size-xsmall) 0 var(--size-small);\n height: 100%;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.checkbox__label:before {\n border: 1px solid var(--black8);\n border-radius: var(--border-radius-small);\n content: '';\n display: block;\n width: 10px;\n height: 10px;\n margin: -1px 10px 0 -8px;\n box-shadow: none;\n}\n\n.checkbox__box:disabled + .checkbox__label {\n color: var(--black);\n opacity: 0.3;\n}\n\n.checkbox__box:checked + .checkbox__label:before {\n background-color: var(--blue);\n background-image: url(\"data:image/svg+xml;utf8,%3Csvg%20fill%3D%22none%22%20height%3D%227%22%20viewBox%3D%220%200%208%207%22%20width%3D%228%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20clip-rule%3D%22evenodd%22%20d%3D%22m1.17647%201.88236%201.88235%201.88236%203.76471-3.76472%201.17647%201.17648-4.94118%204.9412-3.05882-3.05884z%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E\");\n background-repeat: no-repeat;\n background-position: 1px 2px;\n border: 1px solid var(--blue);\n}\n\n.checkbox__box:checked:disabled + .checkbox__label:before {\n border: 1px solid transparent;\n background-color: var(--black8);\n}\n\n.disclosure {\n position: relative;\n width: 100%;\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n\n.disclosure__item {\n display: flex;\n flex-direction: column;\n position: relative;\n width: 100%;\n margin: 0;\n padding: 0;\n list-style-type: none;\n border-bottom: 1px solid var(--silver);\n}\n\n.disclosure__item:last-child {\n border-bottom: 1px solid transparent;\n}\n\n.disclosure__label {\n display: flex;\n align-items: center;\n height: var(--size-medium);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--line-height);\n color: var(--black8);\n padding: 0 8px 0 24px;\n cursor: default;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.disclosure__label:before {\n content: '';\n position: absolute;\n top: 8px;\n left: 4px;\n display: block;\n width: 16px;\n height: 16px;\n opacity: 0.3;\n background-image: url(\"data:image/svg+xml;utf8,%3Csvg%20fill%3D%22none%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20width%3D%2216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m11%208-4-3v6z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E\");\n background-repeat: no-repeat;\n background-position: center center;\n}\n\n.disclosure__label:hover:before {\n opacity: 0.8;\n}\n\n.disclosure__content {\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--line-height);\n color: var(--black8);\n padding: var(--size-xxsmall) var(--size-xxsmall) var(--size-xxsmall) var(--size-small);\n display: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n pointer-events: none;\n}\n\n.disclosure--section {\n font-weight: var(--font-weight-bold);\n}\n\n.disclosure--expanded .disclosure__content {\n display: block;\n border-bottom: 1px solid transparent;\n}\n\n.disclosure--expanded .disclosure__label:before {\n opacity: 0.8;\n background-image: url(\"data:image/svg+xml;utf8,%3Csvg%20fill%3D%22none%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20width%3D%2216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m9%2010%203-4h-6z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E\");\n}\n\n.icon {\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: default;\n width: var(--size-medium);\n height: var(--size-medium);\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-position: 50% 50%;\n}\n\n.icon--spin {\n -webkit-animation: rotating 1.0s linear infinite;\n animation: rotating 1.0s linear infinite;\n}\n\n@-webkit-keyframes rotating {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes rotating {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n.icon--blue {\n filter: invert(54%) sepia(16%) saturate(7499%) hue-rotate(179deg) brightness(98%) contrast(101%);\n}\n\n.icon--purple {\n filter: invert(40%) sepia(59%) saturate(4001%) hue-rotate(232deg) brightness(103%) contrast(102%);\n}\n\n.icon--purple4 {\n filter: invert(72%) sepia(40%) saturate(660%) hue-rotate(202deg) brightness(103%) contrast(103%);\n}\n\n.icon--hot-pink {\n filter: invert(18%) sepia(90%) saturate(3347%) hue-rotate(293deg) brightness(116%) contrast(132%);\n}\n\n.icon--green {\n filter: invert(66%) sepia(39%) saturate(5382%) hue-rotate(114deg) brightness(102%) contrast(79%);\n}\n\n.icon--red {\n filter: invert(43%) sepia(56%) saturate(5632%) hue-rotate(349deg) brightness(97%) contrast(95%);\n}\n\n.icon--yellow {\n filter: invert(78%) sepia(86%) saturate(1608%) hue-rotate(1deg) brightness(107%) contrast(104%);\n}\n\n.icon--black {\n filter: invert(0%) sepia(0%) saturate(7500%) hue-rotate(117deg) brightness(109%) contrast(105%);\n}\n\n.icon--black8 {\n filter: invert(0%) sepia(56%) saturate(25%) hue-rotate(137deg) brightness(105%) contrast(60%);\n}\n\n.icon--black3 {\n filter: invert(100%) sepia(0%) saturate(698%) hue-rotate(219deg) brightness(66%) contrast(127%);\n}\n\n.icon--white {\n filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(269deg) brightness(103%) contrast(104%);\n}\n\n.icon--white8 {\n filter: invert(99%) sepia(2%) saturate(5%) hue-rotate(55deg) brightness(104%) contrast(98%);\n}\n\n.icon--white4 {\n filter: invert(99%) sepia(2%) saturate(897%) hue-rotate(245deg) brightness(117%) contrast(93%);\n}\n\n.icon--adjust {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-rule='evenodd' fill='%23000' fill-rule='evenodd'%3E%3Cpath d='M12 16.05V9h1v7.05a2.5 2.5 0 010 4.9V23h-1v-2.05a2.5 2.5 0 010-4.9zm2 2.45a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM19 23h1v-7.05a2.5 2.5 0 000-4.9V9h-1v2.05a2.5 2.5 0 000 4.9zm2-9.5a1.5 1.5 0 10-3 0 1.5 1.5 0 003 0z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--alert {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath clip-rule='evenodd' d='M21.25 17.393a1.75 1.75 0 001.75 1.75V20H9v-.857a1.75 1.75 0 001.75-1.75V14c0-3.314 2.35-6 5.25-6s5.25 2.686 5.25 6zm-1-3.393v3.393c0 .6.192 1.155.518 1.607h-9.536a2.738 2.738 0 00.518-1.607V14c0-2.891 2.024-5 4.25-5s4.25 2.109 4.25 5z' fill-rule='evenodd'/%3E%3Cpath d='M16 23a2 2 0 01-2-2h-1a3 3 0 106 0h-1a2 2 0 01-2 2z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--angle {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M12 12v8h8v-1h-3a4 4 0 00-4-4v-3zm1 4v3h3a3 3 0 00-3-3z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--arrow-left-right {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 16.5l1.647 1.646-.707.708L10.293 16l2.854-2.854.707.708-1.647 1.646h7.586l-1.646-1.646.707-.708L21.707 16l-2.853 2.854-.707-.708 1.646-1.646z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--up-down {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 10.292l2.854 2.854-.707.707-1.646-1.646v7.585l1.646-1.646.707.707-2.853 2.854-2.854-2.854.707-.707 1.647 1.646v-7.585l-1.647 1.646-.707-.707z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--auto-layout-horizontal {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M10 10h5v12h-5zm1 1h3v10h-3zm6-1h5v12h-5zm1 1h3v10h-3z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--auto-layout-vertical {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M10 10h12v5H10zm1 1h10v3H11zm-1 6h12v5H10zm1 1h10v3H11z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--back {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M13.707 16l4.646-4.646-.707-.707L12.293 16l5.353 5.354.707-.707z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--blend-empty {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M16.695 11.72l-.693-.718L16 11l-.001.002-.694.718C13.102 14.012 12 15.294 12 16.852a4.199 4.199 0 001.172 2.936 3.906 3.906 0 005.656 0A4.199 4.199 0 0020 16.852c0-1.558-1.102-2.84-3.305-5.132zm-.695.72c-.977 1.017-1.693 1.79-2.195 2.471-.6.814-.805 1.38-.805 1.94v.003a3.2 3.2 0 00.89 2.239 2.906 2.906 0 004.22 0 3.2 3.2 0 00.89-2.239v-.002c0-.56-.205-1.127-.805-1.94-.502-.681-1.219-1.455-2.195-2.472z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--blend {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M16.002 11.002l.693.718C18.898 14.012 20 15.294 20 16.852a4.199 4.199 0 01-1.172 2.936 3.906 3.906 0 01-5.656 0A4.199 4.199 0 0112 16.852c0-1.558 1.102-2.84 3.305-5.132l.694-.719zm-2.197 3.91c.502-.681 1.219-1.455 2.195-2.472.976 1.017 1.693 1.79 2.195 2.471.6.814.805 1.38.805 1.94v.003c0 .049 0 .098-.003.146h-5.994a3.37 3.37 0 01-.003-.146v-.002c0-.56.205-1.127.805-1.94z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--break {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000' opacity='.9'%3E%3Cpath d='M13 9v3h1V9zM22.103 9.896a2.975 2.975 0 00-4.207 0l-2.75 2.75.707.707 2.75-2.75a1.975 1.975 0 012.793 2.793l-2.75 2.75.707.707 2.75-2.75a2.975 2.975 0 000-4.207zM9.896 22.104a2.975 2.975 0 010-4.208l2.75-2.75.707.707-2.75 2.75a1.975 1.975 0 002.793 2.793l2.75-2.75.707.707-2.75 2.75a2.975 2.975 0 01-4.207 0zM23 19h-3v-1h3zM19 20v3h-1v-3zM12 13H9v1h3z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--caret-down {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 18l3-4h-6z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--caret-left {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 16l4-3v6z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--caret-right {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 16l-4-3v6z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--caret-up {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 14l3 4h-6z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--check {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M21.207 13.707L15 19.914l-3.707-3.707 1.414-1.414L15 17.086l4.793-4.793z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--close {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 15.293l4.646-4.646.708.707L16.707 16l4.647 4.647-.707.707L16 16.707l-4.646 4.647-.707-.707L15.293 16l-4.646-4.646.707-.707z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--component {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M12.063 10.938L16 14.874l3.938-3.938L16 7zm6.46 0L16 13.46l-2.523-2.524L16 8.415zm-6.46 10.124L16 25l3.938-3.938L16 17.125zm6.46 0L16 23.587l-2.523-2.523L16 18.538zM7 16l3.937-3.938L14.875 16l-3.938 3.938zm3.937 2.523L13.461 16l-2.524-2.523L8.415 16zM17.125 16l3.938 3.938L25 16l-3.938-3.938zm6.46 0l-2.523 2.523L18.54 16l2.523-2.523z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--corner-radius {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M21 13h-4a4 4 0 00-4 4v4h-1v-4a5 5 0 015-5h4z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--corners {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M11 11h3v1h-2v2h-1zm7 0h3v3h-1v-2h-2zm-6 9v-2h-1v3h3v-1zm9-2v3h-3v-1h2v-2z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--distribute-horizontal-spacing {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M11 22.5v-13h-1v13zM22 9.5v13h-1v-13zM17 12.5v7h-2v-7z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--distribute-vertical-spacing {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9.5 10h13v1h-13zM12.5 15h7v2h-7zM22.5 21h-13v1h13z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--draft {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M10 8.5h7.707L22 12.793V23.5H10zm1 1v13h10v-9h-4v-4zm7 .707l2.293 2.293H18z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--effects {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M16.5 8.5h-1v3h1zM11.05 10.343l-.707.707 2.121 2.122.708-.708zM21.657 11.05l-.707-.707-2.121 2.121.707.708zM8.5 15.5v1h3v-1zM20.5 15.5v1h3v-1zM13.172 19.535l-.708-.707-2.12 2.122.706.707zM19.535 18.828l-.707.707 2.122 2.122.707-.707zM16.5 20.5h-1v3h1z'/%3E%3Cpath clip-rule='evenodd' d='M18.498 15.998a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm-1 0a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--ellipses {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M11.5 16a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm6 0a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm4.5 1.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--eyedropper {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22.447 9.6c-.8-.8-2-.8-2.8 0l-2.8 2.8-.8-.7c-.4-.4-1-.4-1.4 0s-.4 1 0 1.4l.7.7-5.8 5.8c-.4.4-1 1.9 0 2.9s2.5.4 2.9 0l5.8-5.8.7.7c.4.4 1 .4 1.4 0s.4-1 0-1.4l-.7-.7 2.8-2.8c.8-.9.8-2.1 0-2.9zm-10.9 11.9h-1v-1l5.8-5.8 1 1c-.1 0-5.8 5.8-5.8 5.8z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--forward {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M17.94 16l-4.647-4.646.707-.707L19.354 16 14 21.354l-.707-.707z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--frame {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M11 24v-3H8v-1h3v-8H8v-1h3V8h1v3h8V8h1v3h3v1h-3v8h3v1h-3v3h-1v-3h-8v3zm9-4v-8h-8v8z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--group {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M17.4 9h-2.8v1h2.8zM20.9 22H22v-1.1h1V23h-2.1zM10 14.6v2.8H9v-2.8zM22 11.1V10h-1.1V9H23v2.1zM22 14.6v2.8h1v-2.8zM10 11.1V10h1.1V9H9v2.1zM9 20.9h1V22h1.1v1H9zM17.4 22h-2.8v1h2.8z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--hidden {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M21.509 15.801A8.033 8.033 0 0022.928 14h-1.184A6.992 6.992 0 0116 17a6.992 6.992 0 01-5.745-3H9.07a8.033 8.033 0 001.421 1.801l-1.595 1.595.708.707 1.657-1.657c.71.523 1.511.932 2.374 1.199l-.617 2.221.964.268.626-2.255a8.051 8.051 0 002.784 0l.626 2.255.964-.268-.617-2.221a7.971 7.971 0 002.374-1.2l1.658 1.658.707-.707z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--horizontal-padding {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9 9v14h1V9zm13 0v14h1V9z'/%3E%3Cpath clip-rule='evenodd' d='M13 19v-6h6v6zm-1-7h8v8h-8z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--hyperlink {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.824 14.492l-1.657 1.657.828.829 1.658-1.657a3.517 3.517 0 00-4.973-4.973l-1.657 1.658.829.828 1.657-1.657a2.345 2.345 0 013.315 3.315zm-4.974 4.972l.829.829-1.658 1.657a3.516 3.516 0 11-4.972-4.972l1.659-1.658.828.829-1.656 1.657a2.343 2.343 0 103.315 3.315l1.657-1.657zm2.072-6.216l-4.972 4.973.828.829 4.973-4.973z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--image {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M22 10H10v7.793l3.083-3.083 7.29 7.29H22zM10 22v-2.793l3.083-3.083L18.96 22zm0-13a1 1 0 00-1 1v12a1 1 0 001 1h12a1 1 0 001-1V10a1 1 0 00-1-1zm9.667 4.667a1.333 1.333 0 11-2.667 0 1.333 1.333 0 012.667 0zm1 0a2.333 2.333 0 11-4.667 0 2.333 2.333 0 014.667 0z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--instance {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M16 7l9 9-9 9-9-9zm-7.586 9L16 23.586 23.586 16 16 8.414z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--key {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M15.14 20.14a3.014 3.014 0 00.331-3.868l2.047-2.047 1.767 1.767a.5.5 0 10.707-.707l-1.767-1.767 1.293-1.293 1.784 1.784a.5.5 0 10.707-.707l-1.784-1.784.762-.761a.5.5 0 00-.707-.708l-5.513 5.513a3.014 3.014 0 10.373 4.578zm-.712-.712a2.006 2.006 0 10-2.837-2.837 2.006 2.006 0 002.837 2.837z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--layout-align-bottom {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M14.5 10v10h-2V10zm8 12v1h-13v-1zm-3-2v-6h-2v6z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--align-horizontal-centers {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.5 9.5h-1v3h-5v2h5v3h-3v2h3v3h1v-3h3v-2h-3v-3h5v-2h-5z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--align-left {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M10 22.5H9v-13h1zM22 14.5H12v-2h10zM12 19.5h6v-2h-6z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--align-right {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M22 22.5h1v-13h-1zM10 14.5h10v-2H10zM20 19.5h-6v-2h6z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--align-top {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M14.5 22V12h-2v10zM22.5 10V9h-13v1zM19.5 12v6h-2v-6z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--align-vertical-centers {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.5 15.5v-5h2v5h3v-3h2v3h3v1h-3v3h-2v-3h-3v5h-2v-5h-3v-1z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--layout-grid-columns {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9 9h3v14H9zM14.5 9h3v14h-3zM20 9h3v14h-3z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--layout-grid-rows {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9 9h14v3H9zM9 14.5h14v3H9zM9 20h14v3H9z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--layout-grid-uniform {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9 9h3v3H9zM20 9h3v3h-3zM14.5 9h3v3h-3zM9 14.5h3v3H9zM20 14.5h3v3h-3zM14.5 14.5h3v3h-3zM9 20h3v3H9zM20 20h3v3h-3zM14.5 20h3v3h-3z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--library {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M15.373 22h1.258c.28-.32.616-.597.995-.819 1.478-.862 4.005-.909 5.386.109H24.5v-9.2s-.797-2.25-4.42-2.25c-1.875 0-2.902.602-3.456 1.184a2.568 2.568 0 00-.6.976h-.048a2.569 2.569 0 00-.6-.976c-.554-.582-1.581-1.184-3.456-1.184-3.623 0-4.42 2.25-4.42 2.25v9.19h1.488c1.382-1.019 3.91-.97 5.388-.105.38.223.717.503.997.825zm1.127-9.711v8.457c.195-.157.403-.3.622-.428.927-.541 2.115-.796 3.241-.787 1.006.008 2.081.227 2.952.759h.185v-7.973a2.414 2.414 0 00-.505-.595c-.46-.397-1.33-.882-2.915-.882-1.586 0-2.34.483-2.695.835a1.749 1.749 0 00-.353.49 1.076 1.076 0 00-.052.131l-.005.017.001-.006.002-.008v-.005l.001-.002v-.002l-.005-.001zm-1 0h-.474l-.006.001v.002l.001.002.001.005.002.008.001.006-.005-.017a1.076 1.076 0 00-.053-.131 1.749 1.749 0 00-.353-.49c-.354-.351-1.108-.835-2.694-.835-1.585 0-2.455.485-2.916.882a2.411 2.411 0 00-.504.595v7.963h.185c.872-.532 1.948-.752 2.954-.759 1.128-.008 2.316.249 3.243.792.217.127.424.27.618.426z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--link-broken {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M18 14v-2a2 2 0 10-4 0v2h-1v-2a3 3 0 116 0v2zM19 18h-1v2a2 2 0 11-4 0v-2h-1v2a3 3 0 106 0z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--link-connected {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M16 10a2 2 0 012 2v2h1v-2a3 3 0 10-6 0v2h1v-2a2 2 0 012-2zM18 18h1v2a3 3 0 11-6 0v-2h1v2a2 2 0 104 0z'/%3E%3Cpath d='M15.5 13v6h1v-6z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--list-detailed {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M12 10h-2v1h2zM12 20h-2v1h2zM10 15h2v1h-2zM22 10h-8v1h8zM14 20h8v1h-8zM22 15h-8v1h8z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--list-tile {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M14 11h-3v3h3zm-4-1v5h5v-5zm11 1h-3v3h3zm-4-1v5h5v-5zm-3 8h-3v3h3zm-4-1v5h5v-5zm11 1h-3v3h3zm-4-1v5h5v-5z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--list {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000' fill-opacity='.8'%3E%3Cpath d='M23 10H9v1h14zM9 15.5h14v1H9zM9 21h14v1H9z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--lock-off {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 15h.5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-6a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5H17v-2.5a2.5 2.5 0 015 0V14h-1v-1.5a1.5 1.5 0 00-3 0z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--lock-on {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M13.5 15v-1.5a2.5 2.5 0 015 0V15h.5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-6a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5zm4-1.5V15h-3v-1.5a1.5 1.5 0 013 0z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--minus {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.5 16.5h-11v-1h11z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--play {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M13 10.098L22.443 16 13 21.902zm1 1.804v8.196L20.557 16z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--plus {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.5 15.5v-5h1v5h5v1h-5v5h-1v-5h-5v-1z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--random {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath clip-rule='evenodd' d='M15.118 11a2.5 2.5 0 00-1.335.386L11.228 13H18.5v1h-8.497a.512.512 0 00-.003.051V20.5c0 .278.223.5.497.5h7.628a.498.498 0 00.328-.123l3.206-2.805a1 1 0 00.341-.753V11.5a.5.5 0 00-.5-.5zm-1.869-.46a3.5 3.5 0 011.87-.54H21.5a1.5 1.5 0 011.5 1.5v5.82a2 2 0 01-.683 1.504l-3.205 2.805c-.274.24-.624.371-.987.371h-7.627C9.668 22 9 21.327 9 20.5v-6.449a1.5 1.5 0 01.699-1.268z' fill-rule='evenodd'/%3E%3Cpath d='M13 16a1 1 0 11-2 0 1 1 0 012 0zM17 16a1 1 0 11-2 0 1 1 0 012 0zM17 19a1 1 0 11-2 0 1 1 0 012 0zM13 19a1 1 0 11-2 0 1 1 0 012 0z'/%3E%3Cg clip-rule='evenodd' fill-rule='evenodd'%3E%3Cpath d='M22.407 10.71a.5.5 0 01-.116.697l-3.5 2.5a.5.5 0 01-.582-.814l3.5-2.5a.5.5 0 01.698.116z'/%3E%3Cpath d='M18 21v-8h1v8z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--recent {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M15 12v5h5v-1h-4v-4z'/%3E%3Cpath clip-rule='evenodd' d='M24 16a8 8 0 11-16 0 8 8 0 0116 0zm-1 0a7 7 0 11-14 0 7 7 0 0114 0z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--resize-to-fit {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M8.646 9.354L12.293 13H10v1h4v-4h-1v2.293L9.354 8.646zM19.707 13l3.647-3.646-.707-.708L19 12.293V10h-1v4h4v-1zM19.707 19l3.647 3.646-.707.708L19 19.707V22h-1v-4h4v1zM12.293 19l-3.647 3.646.708.708L13 19.707V22h1v-4h-4v1z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--resolve-filled {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M16 24a8 8 0 100-16 8 8 0 000 16zm3.911-9.635l-.822-.73-3.613 4.064-2.587-2.588-.778.778 3.413 3.412z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--resolve {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M19.911 14.365l-.822-.73-3.613 4.063-2.587-2.587-.778.778 3.413 3.412z'/%3E%3Cpath clip-rule='evenodd' d='M24 16a8 8 0 11-16 0 8 8 0 0116 0zm-1 0a7 7 0 11-14 0 7 7 0 0114 0z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--reverse {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M15.854 8.646L18.207 11l-2.353 2.354-.708-.708 1.147-1.146H14c-.503 0-1.27.155-1.895.606-.6.432-1.105 1.157-1.105 2.394v7.25h-1V14.5c0-1.563.662-2.588 1.52-3.206.833-.6 1.817-.794 2.48-.794h2.293l-1.147-1.146zM22 10v7.25c0 1.563-.662 2.588-1.52 3.206-.833.6-1.817.794-2.48.794h-2.293l1.147 1.146-.708.708-2.353-2.354 2.353-2.354.708.708-1.147 1.146H18c.503 0 1.27-.155 1.895-.606.6-.432 1.105-1.157 1.105-2.394V10z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--search-large {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M18.874 19.581a6 6 0 11.707-.707l4.273 4.272-.708.708zM20 15a5 5 0 11-10 0 5 5 0 0110 0z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--search {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M18.397 18.605a4.552 4.552 0 11.707-.707l3.25 3.249-.708.707zm.706-3.553a3.552 3.552 0 11-7.103 0 3.552 3.552 0 017.103 0z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--settings {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-rule='evenodd' fill='%23000' fill-rule='evenodd'%3E%3Cpath d='M16.954 9.928l-.139-.331C16.635 9.165 16.301 9 16 9s-.635.165-.815.597l-.139.331c-.56 1.343-1.992 2.13-3.425 1.72l-.5-.144c-.309-.088-.606.025-.815.327a1.05 1.05 0 00-.049 1.123c.743 1.323.402 3.068-.86 3.95-.318.222-.456.614-.375 1.024.081.409.342.668.673.723l.195.033c1.525.253 2.51 1.687 2.423 3.18-.03.503.22.861.52 1.028.288.161.623.155.921-.108l.373-.33a2.8 2.8 0 013.746 0l.373.33c.298.264.633.27.922.108.3-.167.549-.525.52-1.028-.088-1.493.897-2.927 2.423-3.18l.194-.033c.33-.055.592-.314.673-.723.081-.41-.057-.802-.375-1.024-1.262-.882-1.603-2.627-.86-3.95a1.05 1.05 0 00-.05-1.123c-.208-.302-.505-.415-.815-.327l-.499.143c-1.433.41-2.865-.376-3.425-1.719zm.784-.717c-.674-1.615-2.802-1.615-3.476 0l-.138.332c-.383.917-1.326 1.401-2.228 1.143l-.499-.143c-1.575-.45-2.855 1.398-2.012 2.9.505.9.257 2.07-.56 2.64-1.392.973-.933 3.282.706 3.555l.195.032c.96.16 1.65 1.09 1.588 2.135-.104 1.788 1.82 2.864 3.103 1.727l.373-.33a1.8 1.8 0 012.42 0l.373.33c1.284 1.137 3.207.061 3.103-1.727-.061-1.046.628-1.975 1.589-2.135l.194-.032c1.639-.273 2.098-2.582.707-3.554-.818-.572-1.066-1.742-.561-2.64.843-1.503-.437-3.352-2.012-2.901l-.5.143c-.9.258-1.844-.226-2.226-1.143z'/%3E%3Cpath d='M16 18.5a2 2 0 100-4 2 2 0 000 4zm0 1a3 3 0 100-6 3 3 0 000 6z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--share {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M20 9.5a3.5 3.5 0 00-1.383 6.716A4.513 4.513 0 0016 18.436a4.513 4.513 0 00-2.618-2.22 3.501 3.501 0 10-2.764 0A4.502 4.502 0 007.5 20.5V22h17v-1.5c0-2.003-1.309-3.7-3.118-4.284A3.501 3.501 0 0020 9.5zM17.5 13a2.5 2.5 0 115 0 2.5 2.5 0 01-5 0zm-1 8v-.5a3.5 3.5 0 117 0v.5zm-1-.5v.5h-7v-.5a3.5 3.5 0 117 0zm-6-7.5a2.5 2.5 0 115 0 2.5 2.5 0 01-5 0z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--smiley {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M16 20a4.002 4.002 0 01-3.874-3h1.045a3.001 3.001 0 005.658 0h1.045A4.002 4.002 0 0116 20zM19.5 14.125a.875.875 0 11-1.75 0 .875.875 0 011.75 0zM13.125 15a.875.875 0 100-1.75.875.875 0 000 1.75z'/%3E%3Cpath clip-rule='evenodd' d='M24 16a8 8 0 11-16 0 8 8 0 0116 0zm-1 0a7 7 0 11-14 0 7 7 0 0114 0z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--sort-alpha-asc {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-rule='evenodd' fill='%23000' fill-rule='evenodd'%3E%3Cpath d='M10.897 9L9 14h1.07l.379-1h2.133l.338 1h1.056l-1.69-5zm1.347 3l-.667-1.973L10.828 12zM12.553 19H9.5v-1H14v.979L10.932 22H14v1H9.5v-.993zM20.5 8.293l3.354 3.353-.708.708L21 10.207V23h-1V10.207l-2.146 2.147-.708-.708z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--sort-alpha-dsc {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-rule='evenodd' fill='%23000' fill-rule='evenodd'%3E%3Cpath d='M10.897 9L9 14h1.07l.379-1h2.133l.338 1h1.056l-1.69-5zm1.347 3l-.667-1.973L10.828 12zM12.553 19H9.5v-1H14v.979L10.932 22H14v1H9.5v-.993zM20 21.793V9h1v12.793l2.146-2.147.708.708-3.354 3.353-3.354-3.353.708-.708z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--sort-top-bottom {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M20.45 12H10v-1h10.45c.97 0 1.372 1.244.584 1.812L11.05 20h9.243l-1.647-1.646.708-.708 2.853 2.854-2.853 2.854-.708-.708L20.293 21H11.05c-.97 0-1.372-1.244-.584-1.812z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--spacing {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 11h-2v10h2v1h-3V10h3zm-10-1v12H9v-1h2V11H9v-1zm4 3h-1v6h1z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--spinner {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M15.165 8.53a.5.5 0 01-.404.58A7 7 0 1023 16a.5.5 0 011 0 8 8 0 11-9.416-7.874.5.5 0 01.58.404z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--star-off {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M18 14.004L16 8l-2 6.004H8L12.96 18l-1.904 6L16 20l4.944 4-1.904-6L24 14zm3.165.998l-3.886.002L16 11.164l-1.28 3.84h-3.885l3.285 2.646-1.103 3.477L16 18.714l2.983 2.413-1.103-3.476z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--star-on {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 8l2 6.004L24 14l-4.96 4 1.904 6L16 20l-4.944 4 1.904-6L8 14.004h6z' fill='%23000'/%3E%3C/svg%3E\");\n}\n\n.icon--stroke-weight {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M10 10h12v1H10zm0 4h12v2H10zm12 5H10v3h12z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--styles {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M11.5 13a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zM17.5 13a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zM19 20.5a1.5 1.5 0 110-3 1.5 1.5 0 010 3zM11.5 19a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--swap {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M23 13.188l-1.175 1.468a5.5 5.5 0 00-10.003-2.219l.83.557a4.5 4.5 0 018.216 2.057l-2.2-1.467-.555.832 3.381 2.254 2.287-2.858zM9 17.188l.78.624 1.176-1.468.026.156a5.5 5.5 0 009.976 2.065v-.002l-.83-.557-.001.001a4.5 4.5 0 01-8.214-2.058l2.2 1.467.555-.832-3.382-2.254z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--theme {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath clip-rule='evenodd' d='M13 10h-3v12h3zm-3-1a1 1 0 00-1 1v12a1 1 0 001 1h3a1 1 0 001-1V10a1 1 0 00-1-1z' fill-rule='evenodd'/%3E%3Cpath d='M10.75 20.5a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM22 18a1 1 0 011 1v3a1 1 0 01-1 1h-7v-1h7v-3h-7v-1zM18.385 17l2.757-2.757a1 1 0 000-1.415l-2.121-2.12a1 1 0 00-1.414 0L15 13.313v1.414l3.314-3.314 2.121 2.122L16.971 17z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--tidy-up-grid {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M10 10h2v2h-2zM20 10h2v2h-2zM12 15h-2v2h2zM20 15h2v2h-2zM12 20h-2v2h2zM20 20h2v2h-2zM17 10h-2v2h2zM15 15h2v2h-2zM17 20h-2v2h2z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--tidy-up-list-horizontal {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M10 22.5v-13h2v13zM15 22.5v-13h2v13zM20 9.5v13h2v-13z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--tidy-up-list-vertical {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9.5 10h13v2h-13zM9.5 15h13v2h-13zM22.5 20h-13v2h13z'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--timer {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M19 8h-6V7h6zM16.5 17v-5h-1v5a.5.5 0 001 0z'/%3E%3Cpath clip-rule='evenodd' d='M22.715 12.65l1.527-1.529L22.122 9l-1.483 1.482a8 8 0 102.075 2.167zM23 17a7 7 0 11-2.384-5.263l.647.647A6.974 6.974 0 0123 17zm-1.008-5.3l.13.128.706-.707-.707-.707-.701.701c.2.185.391.38.572.585z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--trash {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M14 18.5v-4h1v4zM17 18.5v-4h1v4z'/%3E%3Cpath clip-rule='evenodd' d='M19 10.5a2 2 0 00-2-2h-2a2 2 0 00-2 2h-3v1h1v10a2 2 0 002 2h6a2 2 0 002-2v-10h1v-1zm-4-1a1 1 0 00-1 1h4a1 1 0 00-1-1zm5 2h-8v10a1 1 0 001 1h6a1 1 0 001-1z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--vertical-padding {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M9 9h14v1H9zm0 13h14v1H9z'/%3E%3Cpath clip-rule='evenodd' d='M19 13h-6v6h6zm-7-1v8h8v-8z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--visible {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000'%3E%3Cpath d='M16 18a2 2 0 100-4 2 2 0 000 4z'/%3E%3Cpath clip-rule='evenodd' d='M16 12a7.499 7.499 0 016.635 4A7.499 7.499 0 0116 20a7.499 7.499 0 01-6.635-4A7.499 7.499 0 0116 12zm0 7a6.495 6.495 0 01-5.478-3A6.495 6.495 0 0116 13c2.3 0 4.322 1.194 5.478 3A6.495 6.495 0 0116 19z' fill-rule='evenodd'/%3E%3C/g%3E%3C/svg%3E\");\n}\n\n.icon--warning-large {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M16 6l10 18H6zm-1 11v-4h2v4zm0 2v2h2v-2z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon--warning {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg fill='none' height='32' width='32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M16 9l8 14H8zm-1 8.5V14h2v3.5zm0 1.5v2h2v-2z' fill='%23000' fill-rule='evenodd'/%3E%3C/svg%3E\");\n}\n\n.icon-button {\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n width: var(--size-medium);\n height: var(--size-medium);\n border-radius: var(--border-radius-small);\n border: 2px solid transparent;\n}\n\n.icon-button * {\n filter: invert(0%) sepia(0%) saturate(7500%) hue-rotate(117deg) brightness(109%) contrast(105%);\n}\n\n.icon-button:hover {\n background: var(--hover-fill);\n}\n\n.icon-button:active, .icon-button:focus {\n border: 2px solid var(--blue);\n outline: none;\n}\n\n.icon-button--selected {\n background-color: var(--blue);\n}\n\n.icon-button--selected:hover {\n background-color: var(--blue);\n}\n\n.icon-button--selected:active, .icon-button--selected:focus {\n border: 2px solid var(--black3);\n}\n\n.icon-button--selected * {\n filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(269deg) brightness(103%) contrast(104%);\n}\n\n.input {\n position: relative;\n}\n\n.input__field {\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-neg-xsmall);\n line-height: var(--line-height);\n position: relative;\n display: flex;\n overflow: visible;\n align-items: center;\n width: 100%;\n height: 30px;\n margin: 1px 0 1px 0;\n padding: var(--size-xxsmall) var(--size-xxxsmall) var(--size-xxsmall) var(--size-xxsmall);\n color: var(--black8);\n border: 1px solid transparent;\n border-radius: var(--border-radius-small);\n outline: none;\n background-color: var(--white);\n}\n\n.input__field:hover, .input__field:placeholder-shown:hover {\n color: var(--black8);\n border: 1px solid var(--black1);\n background-image: none;\n}\n\n.input__field::-moz-selection {\n color: var(--black);\n background-color: var(--blue3);\n}\n\n.input__field::selection {\n color: var(--black);\n background-color: var(--blue3);\n}\n\n.input__field::-moz-placeholder {\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.input__field:-ms-input-placeholder {\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.input__field::placeholder {\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.input__field:placeholder-shown {\n border: 1px solid var(--black1);\n}\n\n.input__field:focus:placeholder-shown {\n border: 1px solid var(--blue);\n outline: 1px solid var(--blue);\n outline-offset: -2px;\n}\n\n.input__field:disabled:hover {\n border: 1px solid transparent;\n}\n\n.input__field:active, .input__field:focus {\n color: var(--black);\n border: 1px solid var(--blue);\n outline: 1px solid var(--blue);\n outline-offset: -2px;\n}\n\n.input__field:disabled {\n position: relative;\n color: var(--black3);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.input__field:disabled:active {\n outline: none;\n}\n\n.input--with-icon .input__field {\n padding-left: 32px;\n}\n\n.input--borders {\n border: 1px solid var(--black1);\n}\n\n.input .icon {\n position: absolute;\n top: 0px;\n left: 0;\n width: var(--size-medium);\n height: var(--size-medium);\n z-index: 1;\n opacity: 0.3;\n}\n\n.label {\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--line-height);\n color: var(--black3);\n height: var(--size-medium);\n width: 100%;\n display: flex;\n align-items: center;\n cursor: default;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n padding: 0 var(--size-xxxsmall) 0 var(--size-xxsmall);\n}\n\n.onboarding-tip {\n display: flex;\n align-items: flex-start;\n padding: 0 var(--size-xsmall) 0 0;\n}\n\n.onboarding-tip .icon {\n margin-right: var(--size-xxsmall);\n flex: none;\n}\n\n.onboarding-tip__msg {\n padding: var(--size-xxsmall) 0 var(--size-xxsmall) 0;\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--line-height);\n color: var(--black8);\n margin: 0;\n}\n\n.radio {\n align-items: center;\n cursor: default;\n display: flex;\n height: var(--size-medium);\n position: relative;\n}\n\n.radio__button {\n opacity: 0;\n width: 10px;\n height: 10px;\n margin: 0;\n padding: 0;\n}\n\n.radio__button:checked + .radio__label:before {\n background-image: url('data:image/svg+xml,%3Csvg width=\"6\" height=\"6\" viewBox=\"0 0 6 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Crect width=\"6\" height=\"6\" rx=\"3\" fill=\"black\" fill-opacity=\"0.8\"/%3E%3C/svg%3E%0A');\n background-repeat: no-repeat;\n background-position: 2px 2px;\n}\n\n.radio__button:disabled + .radio__label {\n opacity: 0.3;\n}\n\n.radio__button:checked:disabled + .radio__label:before {\n border: 1px solid var(--black);\n}\n\n.radio__label {\n align-items: center;\n color: var(--black8);\n display: flex;\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n line-height: var(--font-line-height);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n margin-left: -16px;\n padding: 0 var(--size-xsmall) 0 var(--size-small);\n height: 100%;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.radio__label:before {\n border: 1px solid var(--black8);\n border-radius: var(--border-radius-small);\n content: '';\n display: block;\n width: 10px;\n height: 10px;\n margin: 2px 10px 0 -8px;\n border-radius: 50%;\n}\n\n.section-title {\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-bold);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--line-height);\n color: var(--black8);\n height: var(--size-medium);\n width: 100%;\n display: flex;\n align-items: center;\n cursor: default;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n padding: 0 calc(var(--size-xxsmall) / 2) 0 var(--size-xxsmall);\n}\n\nselect.select-menu {\n display: none;\n}\n\n.select-menu {\n position: relative;\n}\n\n.select-menu__button {\n display: flex;\n align-items: center;\n border: 1px solid transparent;\n height: 30px;\n width: 100%;\n margin: 1px 0 1px 0;\n padding: 0px var(--size-xxsmall) 0px var(--size-xxsmall);\n overflow-y: hidden;\n border-radius: var(--border-radius-small);\n background-color: var(--white);\n}\n\n.select-menu__button:hover {\n border-color: var(--black1);\n}\n\n.select-menu__button:focus {\n border: 1px solid var(--blue);\n outline: 1px solid var(--blue);\n outline-offset: -2px;\n}\n\n.select-menu__button:disabled:hover {\n justify-content: flex-start;\n border-color: transparent;\n}\n\n.select-menu__button * {\n pointer-events: none;\n}\n\n.select-menu__button:hover .select-menu__label--placeholder {\n color: var(--black8);\n}\n\n.select-menu__button:focus .select-menu__label--placeholder {\n color: var(--black8);\n}\n\n.select-menu__button:disabled:hover .select-menu__label--placeholder {\n color: var(--black3);\n}\n\n.select-menu__button:hover .select-menu__caret, .select-menu__button:focus .select-menu__caret {\n opacity: 1.0;\n margin-left: auto;\n}\n\n.select-menu__button:disabled:hover .select-menu__caret {\n opacity: 0.3;\n margin-left: -12px;\n}\n\n.select-menu__button:disabled .select-menu__label {\n color: var(--black3);\n}\n\n.select-menu__label {\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-neg-xsmall);\n line-height: var(--line-height);\n color: var(--black8);\n margin-right: 6px;\n margin-top: -2px;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n}\n\n.select-menu__label--placeholder {\n color: var(--black3);\n}\n\n.select-menu__caret {\n width: 30px;\n height: 30px;\n display: block;\n margin-top: -1px;\n margin-left: -12px;\n background-image: url(\"data:image/svg+xml;utf8,%3Csvg%20fill%3D%22none%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20width%3D%2230%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20clip-rule%3D%22evenodd%22%20d%3D%22m15%2016.7071-3-3%20.7071-.7071%202.6465%202.6464%202.6464-2.6464.7071.7071-3%203-.3535.3536z%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E\");\n background-repeat: no-repeat;\n background-position: center center;\n opacity: 0.3;\n}\n\n.select-menu .icon {\n margin-left: -8px;\n margin-top: -2px;\n margin-right: 0;\n opacity: 0.3;\n}\n\n.select-menu__menu {\n display: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n background-color: var(--hud);\n box-shadow: var(--shadow-hud);\n padding: var(--size-xxsmall) 0 var(--size-xxsmall) 0;\n border-radius: var(--border-radius-small);\n margin: 0;\n z-index: 1000;\n overflow-x: overlay;\n overflow-y: auto;\n}\n\n.select-menu__menu--active {\n display: block;\n}\n\n.select-menu__menu::-webkit-scrollbar {\n width: 12px;\n background-color: transparent;\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=);\n background-repeat: repeat;\n background-size: 100% auto;\n}\n\n.select-menu__menu::-webkit-scrollbar-track {\n border: solid 3px transparent;\n box-shadow: inset 0 0 10px 10px transparent;\n}\n\n.select-menu__menu::-webkit-scrollbar-thumb {\n border: solid 3px transparent;\n border-radius: 6px;\n box-shadow: inset 0 0 10px 10px rgba(255, 255, 255, 0.4);\n}\n\n.select-menu__item {\n align-items: center;\n color: var(--white);\n cursor: default;\n display: flex;\n font-family: var(--font-stack);\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-neg-xsmall);\n line-height: var(--font-line-height);\n height: var(--size-small);\n padding: 0px var(--size-xsmall) 0px var(--size-xxsmall);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n outline: none;\n}\n\n.select-menu__item--selected .select-menu__item-icon {\n opacity: 1.0;\n}\n\n.select-menu__item-label {\n overflow-x: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n pointer-events: none;\n}\n\n.select-menu__item-icon {\n width: var(--size-xsmall);\n height: var(--size-xsmall);\n margin-right: var(--size-xxsmall);\n opacity: 0;\n pointer-events: none;\n background-image: url(\"data:image/svg+xml;utf8,%3Csvg%20fill%3D%22none%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20width%3D%2216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20clip-rule%3D%22evenodd%22%20d%3D%22m13.2069%205.20724-5.50002%205.49996-.70711.7072-.70711-.7072-3-2.99996%201.41422-1.41421%202.29289%202.29289%204.79293-4.79289z%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E\");\n background-repeat: no-repeat;\n background-position: center center;\n}\n\n.select-menu--highlight, .select-menu__item:hover, .select-menu__item:focus {\n background-color: var(--blue);\n}\n\n.select-menu__divider-label {\n font-size: var(--font-size-small);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-neg-small);\n line-height: var(--line-height);\n display: flex;\n align-items: center;\n height: var(--size-small);\n padding: 0 var(--size-xxsmall) 0 var(--size-medium);\n color: var(--white4);\n margin-top: 0;\n}\n\n.select-menu__divider {\n background-color: var(--white2);\n display: block;\n height: 1px;\n margin: 8px 0 7px 0;\n}\n\n.switch {\n align-items: center;\n cursor: default;\n display: flex;\n height: var(--size-medium);\n position: relative;\n /*\n &__toggle:focus + &__label:before {\n box-shadow: 0 0 0 2px var(--blue);\n }\n */\n}\n\n.switch__toggle {\n opacity: 0;\n}\n\n.switch__toggle:checked + .switch__label:before {\n color: var(--black8);\n background-color: var(--black8-opaque);\n}\n\n.switch__toggle:checked + .switch__label:after {\n transform: translateX(12px);\n}\n\n.switch__toggle:checked:disabled + .switch__label:before {\n border: 1px solid var(--black);\n background-color: var(--black);\n}\n\n.switch__toggle:disabled + .switch__label {\n color: var(--black);\n opacity: 0.3;\n}\n\n.switch__label {\n align-items: center;\n color: var(--black8);\n display: flex;\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n height: 100%;\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--font-line-height);\n margin-left: -16px;\n padding: 0 var(--size-xsmall) 0 calc(var(--size-xlarge) - 2px);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.switch__label:before {\n background-color: var(--white);\n border: 1px solid var(--black8-opaque);\n border-radius: 6px;\n content: '';\n display: block;\n height: 10px;\n left: 8px;\n position: absolute;\n top: 10px;\n transition: background-color 0 0.2s;\n width: 22px;\n}\n\n.switch__label:after {\n background-color: var(--white);\n border: 1px solid var(--black8-opaque);\n border-radius: 50%;\n content: '';\n display: block;\n height: 10px;\n left: 8px;\n position: absolute;\n top: 10px;\n transition: transform 0.2s;\n width: 10px;\n}\n\n.textarea {\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-neg-xsmall);\n line-height: var(--line-height);\n position: relative;\n display: flex;\n overflow: visible;\n align-items: center;\n width: 100%;\n min-height: 62px;\n margin: 1px 0 1px 0;\n padding: var(--size-xxsmall) var(--size-xxxsmall) var(--size-xxsmall) var(--size-xxsmall);\n color: var(--black8);\n border: 1px solid var(--black1);\n border-radius: var(--border-radius-small);\n outline: none;\n background-color: var(--white);\n resize: none;\n overflow-y: auto;\n}\n\n.textarea:hover, .textarea:placeholder-shown:hover {\n color: var(--black8);\n border: 1px solid var(--black1);\n background-image: none;\n}\n\n.textarea::-moz-selection {\n color: var(--black);\n background-color: var(--blue3);\n}\n\n.textarea::selection {\n color: var(--black);\n background-color: var(--blue3);\n}\n\n.textarea::-moz-placeholder {\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.textarea:-ms-input-placeholder {\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.textarea::placeholder {\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.textarea:focus:placeholder-shown {\n border: 1px solid var(--blue);\n outline: 1px solid var(--blue);\n outline-offset: -2px;\n}\n\n.textarea:active, .textarea:focus {\n color: var(--black);\n border: 1px solid var(--blue);\n outline: 1px solid var(--blue);\n outline-offset: -2px;\n}\n\n.textarea:disabled, .textarea:disabled:hover {\n position: relative;\n color: var(--black3);\n border: 1px solid transparent;\n}\n\n.textarea:disabled:active {\n outline: none;\n}\n\n.type {\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n line-height: var(--font-line-height);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n /* sizes */\n /* weights */\n /* letter spacing adjustments based pos/neg application */\n}\n\n.type--small {\n font-size: var(--font-size-small);\n letter-spacing: var(--font-letter-spacing-pos-small);\n}\n\n.type--large {\n font-size: var(--font-size-large);\n line-height: var(--font-line-height-large);\n letter-spacing: var(--font-letter-spacing-pos-large);\n}\n\n.type--xlarge {\n font-size: var(--font-size-xlarge);\n line-height: var(--font-line-height-large);\n letter-spacing: var(--font-letter-spacing-pos-xlarge);\n}\n\n.type--medium {\n font-weight: var(--font-weight-medium);\n}\n\n.type--bold {\n font-weight: var(--font-weight-bold);\n}\n\n.type--inverse {\n letter-spacing: var(--font-letter-spacing-neg-xsmall);\n}\n\n.type--inverse + .type--small {\n letter-spacing: var(--font-letter-spacing-neg-small);\n}\n\n.type--inverse + .type--large {\n letter-spacing: var(--font-letter-spacing-neg-large);\n}\n\n.type--inverse + .type--xlarge {\n letter-spacing: var(--font-letter-spacing-neg-xlarge);\n}\n\n.type--inline {\n display: inline-block;\n}\n"],"sourceRoot":""}]); -// Exports -/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); - - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./src/ui/css/ui.css": -/*!*****************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./src/ui/css/ui.css ***! - \*****************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ "./node_modules/css-loader/dist/runtime/cssWithMappingToString.js"); -/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); -/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); -// Imports - - -var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a); -// Module -___CSS_LOADER_EXPORT___.push([module.i, "/* figma plugin ds overwrite */\n.switch__label {\n padding-right: 0 !important;\n}\n.switch__toggle:focus-visible + .switch__label:before {\n box-shadow: 0 0 0 2px var(--blue);\n}\n/* Normal css */\nh3 {\n padding: 0 var(--size-xxsmall);\n margin: var(--size-xxsmall) 0 0;\n font-size: var(--font-size-small);\n letter-spacing: var(--font-letter-spacing-pos-small);\n line-height: var(--line-height);\n color: var(--black8);\n height: var(--size-medium);\n width: 100%;\n display: flex;\n align-items: center;\n}\nh3:first-child {\n margin-top: 8px;\n}\n.label {\n color: var(--dark-grey);\n}\n.message-box {\n padding: 0 var(--size-xxxsmall) var(--size-xxsmall) var(--size-xxsmall);\n}\n.message-box .message {\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--font-line-height);\n}\n.flex-horizontal {\n display: flex;\n}\n.flex-half {\n flex: 0;\n flex-basis: 50%;\n}\n.flex-horizontal ~ .flex-horizontal {\n margin-top: var(--size-xxsmall);\n}\n.flex-horizontal .label {\n width: auto;\n flex-shrink: 0;\n align-items: flex-start;\n padding-top: var(--size-xxsmall);\n}\n.label.label--info {\n color: var(--black4);\n flex-shrink: 1;\n height: auto;\n}\n.flex-horizontal input[type=\"text\"] {\n min-width: 50px;\n}\n.inside-label-behind--sm {\n position: absolute;\n right: var(--size-xxsmall);\n}\n.with-inside-label-behind-sm {\n padding-right: 50px;\n}\ninput:invalid {\n border: 1px solid var(--red);\n outline: 1px solid var(--red);\n outline-offset: -2px;\n}\n:not(h3) + .section-title {\n padding-top: var(--size-xxsmall);\n margin-top: var(--size-xsmall);\n border-top: 1px solid var(--silver);\n}\n#eventtype {\n width: 130px;\n flex-shrink: 0;\n}\n.select-css {\n display: flex;\n align-items: center;\n border: 1px solid transparent;\n height: 30px;\n width: 100%;\n margin: 1px 0 1px 0;\n padding: 0px var(--size-xxsmall) 0px var(--size-xxsmall);\n overflow-y: hidden;\n background-color: var(--white);\n margin: 1px 0 1px 0;\n color: var(--black8);\n border: 1px solid var(--black1);\n border-radius: 1px;\n font-size: var(--font-size-xsmall);\n}\n.select-css:hover {\n border-color: var(--black1);\n}\n.select-css:focus {\n border: 1px solid var(--blue);\n outline: 1px solid var(--blue);\n outline-offset: -2px;\n}", "",{"version":3,"sources":["webpack://./src/ui/css/ui.css"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B;EACE,2BAA2B;AAC7B;AACA;EACE,iCAAiC;AACnC;AACA,eAAe;AACf;EACE,8BAA8B;EAC9B,+BAA+B;EAC/B,iCAAiC;EACjC,oDAAoD;EACpD,+BAA+B;EAC/B,oBAAoB;EACpB,0BAA0B;EAC1B,WAAW;EACX,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,eAAe;AACjB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,uEAAuE;AACzE;AACA;EACE,8BAA8B;EAC9B,kCAAkC;EAClC,sCAAsC;EACtC,qDAAqD;EACrD,oCAAoC;AACtC;AACA;EACE,aAAa;AACf;AACA;EACE,OAAO;EACP,eAAe;AACjB;AACA;EACE,+BAA+B;AACjC;AACA;EACE,WAAW;EACX,cAAc;EACd,uBAAuB;EACvB,gCAAgC;AAClC;AACA;EACE,oBAAoB;EACpB,cAAc;EACd,YAAY;AACd;AACA;EACE,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,0BAA0B;AAC5B;AACA;EACE,mBAAmB;AACrB;AACA;EACE,4BAA4B;EAC5B,6BAA6B;EAC7B,oBAAoB;AACtB;AACA;EACE,gCAAgC;EAChC,8BAA8B;EAC9B,mCAAmC;AACrC;AACA;EACE,YAAY;EACZ,cAAc;AAChB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,6BAA6B;EAC7B,YAAY;EACZ,WAAW;EACX,mBAAmB;EACnB,wDAAwD;EACxD,kBAAkB;EAClB,8BAA8B;EAC9B,mBAAmB;EACnB,oBAAoB;EACpB,+BAA+B;EAC/B,kBAAkB;EAClB,kCAAkC;AACpC;AACA;EACE,2BAA2B;AAC7B;AACA;EACE,6BAA6B;EAC7B,8BAA8B;EAC9B,oBAAoB;AACtB","sourcesContent":["/* figma plugin ds overwrite */\n.switch__label {\n padding-right: 0 !important;\n}\n.switch__toggle:focus-visible + .switch__label:before {\n box-shadow: 0 0 0 2px var(--blue);\n}\n/* Normal css */\nh3 {\n padding: 0 var(--size-xxsmall);\n margin: var(--size-xxsmall) 0 0;\n font-size: var(--font-size-small);\n letter-spacing: var(--font-letter-spacing-pos-small);\n line-height: var(--line-height);\n color: var(--black8);\n height: var(--size-medium);\n width: 100%;\n display: flex;\n align-items: center;\n}\nh3:first-child {\n margin-top: 8px;\n}\n.label {\n color: var(--dark-grey);\n}\n.message-box {\n padding: 0 var(--size-xxxsmall) var(--size-xxsmall) var(--size-xxsmall);\n}\n.message-box .message {\n font-family: var(--font-stack);\n font-size: var(--font-size-xsmall);\n font-weight: var(--font-weight-normal);\n letter-spacing: var(--font-letter-spacing-pos-xsmall);\n line-height: var(--font-line-height);\n}\n.flex-horizontal {\n display: flex;\n}\n.flex-half {\n flex: 0;\n flex-basis: 50%;\n}\n.flex-horizontal ~ .flex-horizontal {\n margin-top: var(--size-xxsmall);\n}\n.flex-horizontal .label {\n width: auto;\n flex-shrink: 0;\n align-items: flex-start;\n padding-top: var(--size-xxsmall);\n}\n.label.label--info {\n color: var(--black4);\n flex-shrink: 1;\n height: auto;\n}\n.flex-horizontal input[type=\"text\"] {\n min-width: 50px;\n}\n.inside-label-behind--sm {\n position: absolute;\n right: var(--size-xxsmall);\n}\n.with-inside-label-behind-sm {\n padding-right: 50px;\n}\ninput:invalid {\n border: 1px solid var(--red);\n outline: 1px solid var(--red);\n outline-offset: -2px;\n}\n:not(h3) + .section-title {\n padding-top: var(--size-xxsmall);\n margin-top: var(--size-xsmall);\n border-top: 1px solid var(--silver);\n}\n#eventtype {\n width: 130px;\n flex-shrink: 0;\n}\n.select-css {\n display: flex;\n align-items: center;\n border: 1px solid transparent;\n height: 30px;\n width: 100%;\n margin: 1px 0 1px 0;\n padding: 0px var(--size-xxsmall) 0px var(--size-xxsmall);\n overflow-y: hidden;\n background-color: var(--white);\n margin: 1px 0 1px 0;\n color: var(--black8);\n border: 1px solid var(--black1);\n border-radius: 1px;\n font-size: var(--font-size-xsmall);\n}\n.select-css:hover {\n border-color: var(--black1);\n}\n.select-css:focus {\n border: 1px solid var(--blue);\n outline: 1px solid var(--blue);\n outline-offset: -2px;\n}"],"sourceRoot":""}]); -// Exports -/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); - - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./src/ui/css/variables.css": -/*!************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./src/ui/css/variables.css ***! - \************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */ "./node_modules/css-loader/dist/runtime/cssWithMappingToString.js"); -/* harmony import */ var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); -/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); -// Imports - - -var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a); -// Module -___CSS_LOADER_EXPORT___.push([module.i, ":root {\n --black4: rgba(0, 0, 0, .4);\n --blue: rgb(24, 160, 351);\n --blue-10: rgba(24, 160, 351, 0.1);\n --blue-black: rgb(20, 45, 60);\n --dark-grey: rgb(100, 100, 100);\n --light-grey: #e5e5e5;\n --ui-contrast: #000000;\n --on--ui-contrast: #ffffff;\n}", "",{"version":3,"sources":["webpack://./src/ui/css/variables.css"],"names":[],"mappings":"AAAA;EACE,2BAA2B;EAC3B,yBAAyB;EACzB,kCAAkC;EAClC,6BAA6B;EAC7B,+BAA+B;EAC/B,qBAAqB;EACrB,sBAAsB;EACtB,0BAA0B;AAC5B","sourcesContent":[":root {\n --black4: rgba(0, 0, 0, .4);\n --blue: rgb(24, 160, 351);\n --blue-10: rgba(24, 160, 351, 0.1);\n --blue-black: rgb(20, 45, 60);\n --dark-grey: rgb(100, 100, 100);\n --light-grey: #e5e5e5;\n --ui-contrast: #000000;\n --on--ui-contrast: #ffffff;\n}"],"sourceRoot":""}]); -// Exports -/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); - - -/***/ }), - -/***/ "./node_modules/css-loader/dist/runtime/api.js": -/*!*****************************************************!*\ - !*** ./node_modules/css-loader/dist/runtime/api.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -// css base code, injected by the css-loader -// eslint-disable-next-line func-names -module.exports = function (cssWithMappingToString) { - var list = []; // return the list of modules as css string - - list.toString = function toString() { - return this.map(function (item) { - var content = cssWithMappingToString(item); - - if (item[2]) { - return "@media ".concat(item[2], " {").concat(content, "}"); - } - - return content; - }).join(""); - }; // import a list of modules into the list - // eslint-disable-next-line func-names - - - list.i = function (modules, mediaQuery, dedupe) { - if (typeof modules === "string") { - // eslint-disable-next-line no-param-reassign - modules = [[null, modules, ""]]; - } - - var alreadyImportedModules = {}; - - if (dedupe) { - for (var i = 0; i < this.length; i++) { - // eslint-disable-next-line prefer-destructuring - var id = this[i][0]; - - if (id != null) { - alreadyImportedModules[id] = true; - } - } - } - - for (var _i = 0; _i < modules.length; _i++) { - var item = [].concat(modules[_i]); - - if (dedupe && alreadyImportedModules[item[0]]) { - // eslint-disable-next-line no-continue - continue; - } - - if (mediaQuery) { - if (!item[2]) { - item[2] = mediaQuery; - } else { - item[2] = "".concat(mediaQuery, " and ").concat(item[2]); - } - } - - list.push(item); - } - }; - - return list; -}; - -/***/ }), - -/***/ "./node_modules/css-loader/dist/runtime/cssWithMappingToString.js": -/*!************************************************************************!*\ - !*** ./node_modules/css-loader/dist/runtime/cssWithMappingToString.js ***! - \************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - -function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } - -function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } - -function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -module.exports = function cssWithMappingToString(item) { - var _item = _slicedToArray(item, 4), - content = _item[1], - cssMapping = _item[3]; - - if (typeof btoa === "function") { - // eslint-disable-next-line no-undef - var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping)))); - var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64); - var sourceMapping = "/*# ".concat(data, " */"); - var sourceURLs = cssMapping.sources.map(function (source) { - return "/*# sourceURL=".concat(cssMapping.sourceRoot || "").concat(source, " */"); - }); - return [content].concat(sourceURLs).concat([sourceMapping]).join("\n"); - } - - return [content].join("\n"); -}; - -/***/ }), - -/***/ "./node_modules/define-properties/index.js": -/*!*************************************************!*\ - !*** ./node_modules/define-properties/index.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var keys = __webpack_require__(/*! object-keys */ "./node_modules/object-keys/index.js"); -var hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol'; - -var toStr = Object.prototype.toString; -var concat = Array.prototype.concat; -var origDefineProperty = Object.defineProperty; - -var isFunction = function (fn) { - return typeof fn === 'function' && toStr.call(fn) === '[object Function]'; -}; - -var arePropertyDescriptorsSupported = function () { - var obj = {}; - try { - origDefineProperty(obj, 'x', { enumerable: false, value: obj }); - // eslint-disable-next-line no-unused-vars, no-restricted-syntax - for (var _ in obj) { // jscs:ignore disallowUnusedVariables - return false; - } - return obj.x === obj; - } catch (e) { /* this is IE 8. */ - return false; - } -}; -var supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported(); - -var defineProperty = function (object, name, value, predicate) { - if (name in object && (!isFunction(predicate) || !predicate())) { - return; - } - if (supportsDescriptors) { - origDefineProperty(object, name, { - configurable: true, - enumerable: false, - value: value, - writable: true - }); - } else { - object[name] = value; - } -}; - -var defineProperties = function (object, map) { - var predicates = arguments.length > 2 ? arguments[2] : {}; - var props = keys(map); - if (hasSymbols) { - props = concat.call(props, Object.getOwnPropertySymbols(map)); - } - for (var i = 0; i < props.length; i += 1) { - defineProperty(object, props[i], map[props[i]], predicates[props[i]]); - } -}; - -defineProperties.supportsDescriptors = !!supportsDescriptors; - -module.exports = defineProperties; - - -/***/ }), - -/***/ "./node_modules/document.contains/implementation.js": -/*!**********************************************************!*\ - !*** ./node_modules/document.contains/implementation.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function contains(other) { - if (arguments.length < 1) { - throw new TypeError('1 argument is required'); - } - if (typeof other !== 'object') { - throw new TypeError('Argument 1 (”other“) to Node.contains must be an instance of Node'); - } - - var node = other; - do { - if (this === node) { - return true; - } - if (node) { - node = node.parentNode; - } - } while (node); - - return false; -}; - - -/***/ }), - -/***/ "./node_modules/document.contains/index.js": -/*!*************************************************!*\ - !*** ./node_modules/document.contains/index.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js"); - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/document.contains/implementation.js"); -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/document.contains/polyfill.js"); -var polyfill = getPolyfill(); -var shim = __webpack_require__(/*! ./shim */ "./node_modules/document.contains/shim.js"); - -var boundContains = function contains(node, other) { - return polyfill.apply(node, [other]); -}; - -define(boundContains, { - getPolyfill: getPolyfill, - implementation: implementation, - shim: shim -}); - -module.exports = boundContains; - - -/***/ }), - -/***/ "./node_modules/document.contains/polyfill.js": -/*!****************************************************!*\ - !*** ./node_modules/document.contains/polyfill.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/document.contains/implementation.js"); - -module.exports = function getPolyfill() { - if (typeof document !== 'undefined') { - if (document.contains) { - return document.contains; - } - if (document.body && document.body.contains) { - try { - if (typeof document.body.contains.call(document, '') === 'boolean') { - return document.body.contains; - } - } catch (e) { /**/ } - } - } - return implementation; -}; - - -/***/ }), - -/***/ "./node_modules/document.contains/shim.js": -/*!************************************************!*\ - !*** ./node_modules/document.contains/shim.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js"); -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/document.contains/polyfill.js"); - -module.exports = function shimContains() { - var polyfill = getPolyfill(); - if (typeof document !== 'undefined') { - define( - document, - { contains: polyfill }, - { contains: function () { return document.contains !== polyfill; } } - ); - if (typeof Element !== 'undefined') { - define( - Element.prototype, - { contains: polyfill }, - { contains: function () { return Element.prototype.contains !== polyfill; } } - ); - } - } - return polyfill; -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/2019/IsCallable.js": -/*!*****************************************************!*\ - !*** ./node_modules/es-abstract/2019/IsCallable.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.11 - -module.exports = __webpack_require__(/*! is-callable */ "./node_modules/is-callable/index.js"); - - -/***/ }), - -/***/ "./node_modules/es-abstract/2019/RequireObjectCoercible.js": -/*!*****************************************************************!*\ - !*** ./node_modules/es-abstract/2019/RequireObjectCoercible.js ***! - \*****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(/*! ../5/CheckObjectCoercible */ "./node_modules/es-abstract/5/CheckObjectCoercible.js"); - - -/***/ }), - -/***/ "./node_modules/es-abstract/2019/ToInteger.js": -/*!****************************************************!*\ - !*** ./node_modules/es-abstract/2019/ToInteger.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var ES5ToInteger = __webpack_require__(/*! ../5/ToInteger */ "./node_modules/es-abstract/5/ToInteger.js"); - -var ToNumber = __webpack_require__(/*! ./ToNumber */ "./node_modules/es-abstract/2019/ToNumber.js"); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tointeger - -module.exports = function ToInteger(value) { - var number = ToNumber(value); - return ES5ToInteger(number); -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/2019/ToLength.js": -/*!***************************************************!*\ - !*** ./node_modules/es-abstract/2019/ToLength.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var MAX_SAFE_INTEGER = __webpack_require__(/*! ../helpers/maxSafeInteger */ "./node_modules/es-abstract/helpers/maxSafeInteger.js"); - -var ToInteger = __webpack_require__(/*! ./ToInteger */ "./node_modules/es-abstract/2019/ToInteger.js"); - -module.exports = function ToLength(argument) { - var len = ToInteger(argument); - if (len <= 0) { return 0; } // includes converting -0 to +0 - if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; } - return len; -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/2019/ToNumber.js": -/*!***************************************************!*\ - !*** ./node_modules/es-abstract/2019/ToNumber.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ "./node_modules/es-abstract/GetIntrinsic.js"); - -var $TypeError = GetIntrinsic('%TypeError%'); -var $Number = GetIntrinsic('%Number%'); -var $RegExp = GetIntrinsic('%RegExp%'); -var $parseInteger = GetIntrinsic('%parseInt%'); - -var callBound = __webpack_require__(/*! ../helpers/callBound */ "./node_modules/es-abstract/helpers/callBound.js"); -var regexTester = __webpack_require__(/*! ../helpers/regexTester */ "./node_modules/es-abstract/helpers/regexTester.js"); -var isPrimitive = __webpack_require__(/*! ../helpers/isPrimitive */ "./node_modules/es-abstract/helpers/isPrimitive.js"); - -var $strSlice = callBound('String.prototype.slice'); -var isBinary = regexTester(/^0b[01]+$/i); -var isOctal = regexTester(/^0o[0-7]+$/i); -var isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i); -var nonWS = ['\u0085', '\u200b', '\ufffe'].join(''); -var nonWSregex = new $RegExp('[' + nonWS + ']', 'g'); -var hasNonWS = regexTester(nonWSregex); - -// whitespace from: https://es5.github.io/#x15.5.4.20 -// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324 -var ws = [ - '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003', - '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028', - '\u2029\uFEFF' -].join(''); -var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g'); -var $replace = callBound('String.prototype.replace'); -var $trim = function (value) { - return $replace(value, trimRegex, ''); -}; - -var ToPrimitive = __webpack_require__(/*! ./ToPrimitive */ "./node_modules/es-abstract/2019/ToPrimitive.js"); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-tonumber - -module.exports = function ToNumber(argument) { - var value = isPrimitive(argument) ? argument : ToPrimitive(argument, $Number); - if (typeof value === 'symbol') { - throw new $TypeError('Cannot convert a Symbol value to a number'); - } - if (typeof value === 'string') { - if (isBinary(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 2)); - } else if (isOctal(value)) { - return ToNumber($parseInteger($strSlice(value, 2), 8)); - } else if (hasNonWS(value) || isInvalidHexLiteral(value)) { - return NaN; - } else { - var trimmed = $trim(value); - if (trimmed !== value) { - return ToNumber(trimmed); - } - } - } - return $Number(value); -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/2019/ToObject.js": -/*!***************************************************!*\ - !*** ./node_modules/es-abstract/2019/ToObject.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ "./node_modules/es-abstract/GetIntrinsic.js"); - -var $Object = GetIntrinsic('%Object%'); - -var RequireObjectCoercible = __webpack_require__(/*! ./RequireObjectCoercible */ "./node_modules/es-abstract/2019/RequireObjectCoercible.js"); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toobject - -module.exports = function ToObject(value) { - RequireObjectCoercible(value); - return $Object(value); -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/2019/ToPrimitive.js": -/*!******************************************************!*\ - !*** ./node_modules/es-abstract/2019/ToPrimitive.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var toPrimitive = __webpack_require__(/*! es-to-primitive/es2015 */ "./node_modules/es-to-primitive/es2015.js"); - -// https://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive - -module.exports = function ToPrimitive(input) { - if (arguments.length > 1) { - return toPrimitive(input, arguments[1]); - } - return toPrimitive(input); -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/5/CheckObjectCoercible.js": -/*!************************************************************!*\ - !*** ./node_modules/es-abstract/5/CheckObjectCoercible.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ "./node_modules/es-abstract/GetIntrinsic.js"); - -var $TypeError = GetIntrinsic('%TypeError%'); - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.10 - -module.exports = function CheckObjectCoercible(value, optMessage) { - if (value == null) { - throw new $TypeError(optMessage || ('Cannot call method on ' + value)); - } - return value; -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/5/ToInteger.js": -/*!*************************************************!*\ - !*** ./node_modules/es-abstract/5/ToInteger.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ "./node_modules/es-abstract/GetIntrinsic.js"); - -var $Math = GetIntrinsic('%Math%'); - -var ToNumber = __webpack_require__(/*! ./ToNumber */ "./node_modules/es-abstract/5/ToNumber.js"); -var $isNaN = __webpack_require__(/*! ../helpers/isNaN */ "./node_modules/es-abstract/helpers/isNaN.js"); -var $isFinite = __webpack_require__(/*! ../helpers/isFinite */ "./node_modules/es-abstract/helpers/isFinite.js"); -var $sign = __webpack_require__(/*! ../helpers/sign */ "./node_modules/es-abstract/helpers/sign.js"); - -var $floor = $Math.floor; -var $abs = $Math.abs; - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.4 - -module.exports = function ToInteger(value) { - var number = ToNumber(value); - if ($isNaN(number)) { return 0; } - if (number === 0 || !$isFinite(number)) { return number; } - return $sign(number) * $floor($abs(number)); -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/5/ToNumber.js": -/*!************************************************!*\ - !*** ./node_modules/es-abstract/5/ToNumber.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// http://www.ecma-international.org/ecma-262/5.1/#sec-9.3 - -module.exports = function ToNumber(value) { - return +value; // eslint-disable-line no-implicit-coercion -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/GetIntrinsic.js": -/*!**************************************************!*\ - !*** ./node_modules/es-abstract/GetIntrinsic.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/* globals - Atomics, - SharedArrayBuffer, -*/ - -var undefined; - -var $TypeError = TypeError; - -var $gOPD = Object.getOwnPropertyDescriptor; -if ($gOPD) { - try { - $gOPD({}, ''); - } catch (e) { - $gOPD = null; // this is IE 8, which has a broken gOPD - } -} - -var throwTypeError = function () { throw new $TypeError(); }; -var ThrowTypeError = $gOPD - ? (function () { - try { - // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties - arguments.callee; // IE 8 does not throw here - return throwTypeError; - } catch (calleeThrows) { - try { - // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') - return $gOPD(arguments, 'callee').get; - } catch (gOPDthrows) { - return throwTypeError; - } - } - }()) - : throwTypeError; - -var hasSymbols = __webpack_require__(/*! has-symbols */ "./node_modules/has-symbols/index.js")(); - -var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto - -var generator; // = function * () {}; -var generatorFunction = generator ? getProto(generator) : undefined; -var asyncFn; // async function() {}; -var asyncFunction = asyncFn ? asyncFn.constructor : undefined; -var asyncGen; // async function * () {}; -var asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined; -var asyncGenIterator = asyncGen ? asyncGen() : undefined; - -var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array); - -var INTRINSICS = { - '%Array%': Array, - '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, - '%ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype, - '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined, - '%ArrayPrototype%': Array.prototype, - '%ArrayProto_entries%': Array.prototype.entries, - '%ArrayProto_forEach%': Array.prototype.forEach, - '%ArrayProto_keys%': Array.prototype.keys, - '%ArrayProto_values%': Array.prototype.values, - '%AsyncFromSyncIteratorPrototype%': undefined, - '%AsyncFunction%': asyncFunction, - '%AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined, - '%AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined, - '%AsyncGeneratorFunction%': asyncGenFunction, - '%AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined, - '%AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined, - '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, - '%Boolean%': Boolean, - '%BooleanPrototype%': Boolean.prototype, - '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, - '%DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype, - '%Date%': Date, - '%DatePrototype%': Date.prototype, - '%decodeURI%': decodeURI, - '%decodeURIComponent%': decodeURIComponent, - '%encodeURI%': encodeURI, - '%encodeURIComponent%': encodeURIComponent, - '%Error%': Error, - '%ErrorPrototype%': Error.prototype, - '%eval%': eval, // eslint-disable-line no-eval - '%EvalError%': EvalError, - '%EvalErrorPrototype%': EvalError.prototype, - '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, - '%Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype, - '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, - '%Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype, - '%Function%': Function, - '%FunctionPrototype%': Function.prototype, - '%Generator%': generator ? getProto(generator()) : undefined, - '%GeneratorFunction%': generatorFunction, - '%GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined, - '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, - '%Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype, - '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, - '%Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype, - '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, - '%Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype, - '%isFinite%': isFinite, - '%isNaN%': isNaN, - '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined, - '%JSON%': typeof JSON === 'object' ? JSON : undefined, - '%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined, - '%Map%': typeof Map === 'undefined' ? undefined : Map, - '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()), - '%MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype, - '%Math%': Math, - '%Number%': Number, - '%NumberPrototype%': Number.prototype, - '%Object%': Object, - '%ObjectPrototype%': Object.prototype, - '%ObjProto_toString%': Object.prototype.toString, - '%ObjProto_valueOf%': Object.prototype.valueOf, - '%parseFloat%': parseFloat, - '%parseInt%': parseInt, - '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, - '%PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype, - '%PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then, - '%Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all, - '%Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject, - '%Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve, - '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, - '%RangeError%': RangeError, - '%RangeErrorPrototype%': RangeError.prototype, - '%ReferenceError%': ReferenceError, - '%ReferenceErrorPrototype%': ReferenceError.prototype, - '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, - '%RegExp%': RegExp, - '%RegExpPrototype%': RegExp.prototype, - '%Set%': typeof Set === 'undefined' ? undefined : Set, - '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()), - '%SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype, - '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, - '%SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype, - '%String%': String, - '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined, - '%StringPrototype%': String.prototype, - '%Symbol%': hasSymbols ? Symbol : undefined, - '%SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined, - '%SyntaxError%': SyntaxError, - '%SyntaxErrorPrototype%': SyntaxError.prototype, - '%ThrowTypeError%': ThrowTypeError, - '%TypedArray%': TypedArray, - '%TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined, - '%TypeError%': $TypeError, - '%TypeErrorPrototype%': $TypeError.prototype, - '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, - '%Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype, - '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, - '%Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype, - '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, - '%Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype, - '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, - '%Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype, - '%URIError%': URIError, - '%URIErrorPrototype%': URIError.prototype, - '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, - '%WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype, - '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet, - '%WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype -}; - -var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js"); -var $replace = bind.call(Function.call, String.prototype.replace); - -/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ -var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; -var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ -var stringToPath = function stringToPath(string) { - var result = []; - $replace(string, rePropName, function (match, number, quote, subString) { - result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match); - }); - return result; -}; -/* end adaptation */ - -var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { - if (!(name in INTRINSICS)) { - throw new SyntaxError('intrinsic ' + name + ' does not exist!'); - } - - // istanbul ignore if // hopefully this is impossible to test :-) - if (typeof INTRINSICS[name] === 'undefined' && !allowMissing) { - throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); - } - - return INTRINSICS[name]; -}; - -module.exports = function GetIntrinsic(name, allowMissing) { - if (typeof name !== 'string' || name.length === 0) { - throw new TypeError('intrinsic name must be a non-empty string'); - } - if (arguments.length > 1 && typeof allowMissing !== 'boolean') { - throw new TypeError('"allowMissing" argument must be a boolean'); - } - - var parts = stringToPath(name); - - var value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing); - for (var i = 1; i < parts.length; i += 1) { - if (value != null) { - if ($gOPD && (i + 1) >= parts.length) { - var desc = $gOPD(value, parts[i]); - if (!allowMissing && !(parts[i] in value)) { - throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); - } - // By convention, when a data property is converted to an accessor - // property to emulate a data property that does not suffer from - // the override mistake, that accessor's getter is marked with - // an `originalValue` property. Here, when we detect this, we - // uphold the illusion by pretending to see that original data - // property, i.e., returning the value rather than the getter - // itself. - value = desc && 'get' in desc && !('originalValue' in desc.get) ? desc.get : value[parts[i]]; - } else { - value = value[parts[i]]; - } - } - } - return value; -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/helpers/callBind.js": -/*!******************************************************!*\ - !*** ./node_modules/es-abstract/helpers/callBind.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js"); - -var GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ "./node_modules/es-abstract/GetIntrinsic.js"); - -var $apply = GetIntrinsic('%Function.prototype.apply%'); -var $call = GetIntrinsic('%Function.prototype.call%'); -var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply); - -var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); - -if ($defineProperty) { - try { - $defineProperty({}, 'a', { value: 1 }); - } catch (e) { - // IE 8 has a broken defineProperty - $defineProperty = null; - } -} - -module.exports = function callBind() { - return $reflectApply(bind, $call, arguments); -}; - -var applyBind = function applyBind() { - return $reflectApply(bind, $apply, arguments); -}; - -if ($defineProperty) { - $defineProperty(module.exports, 'apply', { value: applyBind }); -} else { - module.exports.apply = applyBind; -} - - -/***/ }), - -/***/ "./node_modules/es-abstract/helpers/callBound.js": -/*!*******************************************************!*\ - !*** ./node_modules/es-abstract/helpers/callBound.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ "./node_modules/es-abstract/GetIntrinsic.js"); - -var callBind = __webpack_require__(/*! ./callBind */ "./node_modules/es-abstract/helpers/callBind.js"); - -var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); - -module.exports = function callBoundIntrinsic(name, allowMissing) { - var intrinsic = GetIntrinsic(name, !!allowMissing); - if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.')) { - return callBind(intrinsic); - } - return intrinsic; -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/helpers/isFinite.js": -/*!******************************************************!*\ - !*** ./node_modules/es-abstract/helpers/isFinite.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var $isNaN = Number.isNaN || function (a) { return a !== a; }; - -module.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; }; - - -/***/ }), - -/***/ "./node_modules/es-abstract/helpers/isNaN.js": -/*!***************************************************!*\ - !*** ./node_modules/es-abstract/helpers/isNaN.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = Number.isNaN || function isNaN(a) { - return a !== a; -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/helpers/isPrimitive.js": -/*!*********************************************************!*\ - !*** ./node_modules/es-abstract/helpers/isPrimitive.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function isPrimitive(value) { - return value === null || (typeof value !== 'function' && typeof value !== 'object'); -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/helpers/maxSafeInteger.js": -/*!************************************************************!*\ - !*** ./node_modules/es-abstract/helpers/maxSafeInteger.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ "./node_modules/es-abstract/GetIntrinsic.js"); - -var $Math = GetIntrinsic('%Math%'); -var $Number = GetIntrinsic('%Number%'); - -module.exports = $Number.MAX_SAFE_INTEGER || $Math.pow(2, 53) - 1; - - -/***/ }), - -/***/ "./node_modules/es-abstract/helpers/regexTester.js": -/*!*********************************************************!*\ - !*** ./node_modules/es-abstract/helpers/regexTester.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ "./node_modules/es-abstract/GetIntrinsic.js"); - -var $test = GetIntrinsic('RegExp.prototype.test'); - -var callBind = __webpack_require__(/*! ./callBind */ "./node_modules/es-abstract/helpers/callBind.js"); - -module.exports = function regexTester(regex) { - return callBind($test, regex); -}; - - -/***/ }), - -/***/ "./node_modules/es-abstract/helpers/sign.js": -/*!**************************************************!*\ - !*** ./node_modules/es-abstract/helpers/sign.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function sign(number) { - return number >= 0 ? 1 : -1; -}; - - -/***/ }), - -/***/ "./node_modules/es-to-primitive/es2015.js": -/*!************************************************!*\ - !*** ./node_modules/es-to-primitive/es2015.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol'; - -var isPrimitive = __webpack_require__(/*! ./helpers/isPrimitive */ "./node_modules/es-to-primitive/helpers/isPrimitive.js"); -var isCallable = __webpack_require__(/*! is-callable */ "./node_modules/is-callable/index.js"); -var isDate = __webpack_require__(/*! is-date-object */ "./node_modules/is-date-object/index.js"); -var isSymbol = __webpack_require__(/*! is-symbol */ "./node_modules/is-symbol/index.js"); - -var ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) { - if (typeof O === 'undefined' || O === null) { - throw new TypeError('Cannot call method on ' + O); - } - if (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) { - throw new TypeError('hint must be "string" or "number"'); - } - var methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString']; - var method, result, i; - for (i = 0; i < methodNames.length; ++i) { - method = O[methodNames[i]]; - if (isCallable(method)) { - result = method.call(O); - if (isPrimitive(result)) { - return result; - } - } - } - throw new TypeError('No default value'); -}; - -var GetMethod = function GetMethod(O, P) { - var func = O[P]; - if (func !== null && typeof func !== 'undefined') { - if (!isCallable(func)) { - throw new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function'); - } - return func; - } - return void 0; -}; - -// http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive -module.exports = function ToPrimitive(input) { - if (isPrimitive(input)) { - return input; - } - var hint = 'default'; - if (arguments.length > 1) { - if (arguments[1] === String) { - hint = 'string'; - } else if (arguments[1] === Number) { - hint = 'number'; - } - } - - var exoticToPrim; - if (hasSymbols) { - if (Symbol.toPrimitive) { - exoticToPrim = GetMethod(input, Symbol.toPrimitive); - } else if (isSymbol(input)) { - exoticToPrim = Symbol.prototype.valueOf; - } - } - if (typeof exoticToPrim !== 'undefined') { - var result = exoticToPrim.call(input, hint); - if (isPrimitive(result)) { - return result; - } - throw new TypeError('unable to convert exotic object to primitive'); - } - if (hint === 'default' && (isDate(input) || isSymbol(input))) { - hint = 'string'; - } - return ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint); -}; - - -/***/ }), - -/***/ "./node_modules/es-to-primitive/helpers/isPrimitive.js": -/*!*************************************************************!*\ - !*** ./node_modules/es-to-primitive/helpers/isPrimitive.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function isPrimitive(value) { - return value === null || (typeof value !== 'function' && typeof value !== 'object'); -}; - - -/***/ }), - -/***/ "./node_modules/figma-plugin-ds/dist/figma-plugin-ds.css": -/*!***************************************************************!*\ - !*** ./node_modules/figma-plugin-ds/dist/figma-plugin-ds.css ***! - \***************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); -/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _css_loader_dist_cjs_js_figma_plugin_ds_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../css-loader/dist/cjs.js!./figma-plugin-ds.css */ "./node_modules/css-loader/dist/cjs.js!./node_modules/figma-plugin-ds/dist/figma-plugin-ds.css"); - - - -var options = {}; - -options.insert = "head"; -options.singleton = false; - -var update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_css_loader_dist_cjs_js_figma_plugin_ds_css__WEBPACK_IMPORTED_MODULE_1__["default"], options); - - - -/* harmony default export */ __webpack_exports__["default"] = (_css_loader_dist_cjs_js_figma_plugin_ds_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); - -/***/ }), - -/***/ "./node_modules/function-bind/implementation.js": -/*!******************************************************!*\ - !*** ./node_modules/function-bind/implementation.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/* eslint no-invalid-this: 1 */ - -var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible '; -var slice = Array.prototype.slice; -var toStr = Object.prototype.toString; -var funcType = '[object Function]'; - -module.exports = function bind(that) { - var target = this; - if (typeof target !== 'function' || toStr.call(target) !== funcType) { - throw new TypeError(ERROR_MESSAGE + target); - } - var args = slice.call(arguments, 1); - - var bound; - var binder = function () { - if (this instanceof bound) { - var result = target.apply( - this, - args.concat(slice.call(arguments)) - ); - if (Object(result) === result) { - return result; - } - return this; - } else { - return target.apply( - that, - args.concat(slice.call(arguments)) - ); - } - }; - - var boundLength = Math.max(0, target.length - args.length); - var boundArgs = []; - for (var i = 0; i < boundLength; i++) { - boundArgs.push('$' + i); - } - - bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder); - - if (target.prototype) { - var Empty = function Empty() {}; - Empty.prototype = target.prototype; - bound.prototype = new Empty(); - Empty.prototype = null; - } - - return bound; -}; - - -/***/ }), - -/***/ "./node_modules/function-bind/index.js": -/*!*********************************************!*\ - !*** ./node_modules/function-bind/index.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/function-bind/implementation.js"); - -module.exports = Function.prototype.bind || implementation; - - -/***/ }), - -/***/ "./node_modules/function.prototype.name/implementation.js": -/*!****************************************************************!*\ - !*** ./node_modules/function.prototype.name/implementation.js ***! - \****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var IsCallable = __webpack_require__(/*! es-abstract/2020/IsCallable */ "./node_modules/function.prototype.name/node_modules/es-abstract/2020/IsCallable.js"); -var functionsHaveNames = __webpack_require__(/*! functions-have-names */ "./node_modules/functions-have-names/index.js")(); -var callBound = __webpack_require__(/*! call-bind/callBound */ "./node_modules/function.prototype.name/node_modules/call-bind/callBound.js"); -var $functionToString = callBound('Function.prototype.toString'); -var $stringMatch = callBound('String.prototype.match'); - -var classRegex = /^class /; - -var isClass = function isClassConstructor(fn) { - if (IsCallable(fn)) { - return false; - } - if (typeof fn !== 'function') { - return false; - } - try { - var match = $stringMatch($functionToString(fn), classRegex); - return !!match; - } catch (e) {} - return false; -}; - -var regex = /\s*function\s+([^(\s]*)\s*/; - -var functionProto = Function.prototype; - -module.exports = function getName() { - if (!isClass(this) && !IsCallable(this)) { - throw new TypeError('Function.prototype.name sham getter called on non-function'); - } - if (functionsHaveNames) { - return this.name; - } - if (this === functionProto) { - return ''; - } - var str = $functionToString(this); - var match = $stringMatch(str, regex); - var name = match && match[1]; - return name; -}; - - -/***/ }), - -/***/ "./node_modules/function.prototype.name/index.js": -/*!*******************************************************!*\ - !*** ./node_modules/function.prototype.name/index.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js"); -var callBind = __webpack_require__(/*! call-bind */ "./node_modules/function.prototype.name/node_modules/call-bind/index.js"); - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/function.prototype.name/implementation.js"); -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/function.prototype.name/polyfill.js"); -var shim = __webpack_require__(/*! ./shim */ "./node_modules/function.prototype.name/shim.js"); - -var bound = callBind(implementation); - -define(bound, { - getPolyfill: getPolyfill, - implementation: implementation, - shim: shim -}); - -module.exports = bound; - - -/***/ }), - -/***/ "./node_modules/function.prototype.name/node_modules/call-bind/callBound.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/function.prototype.name/node_modules/call-bind/callBound.js ***! - \**********************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/function.prototype.name/node_modules/get-intrinsic/index.js"); - -var callBind = __webpack_require__(/*! ./ */ "./node_modules/function.prototype.name/node_modules/call-bind/index.js"); - -var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); - -module.exports = function callBoundIntrinsic(name, allowMissing) { - var intrinsic = GetIntrinsic(name, !!allowMissing); - if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { - return callBind(intrinsic); - } - return intrinsic; -}; - - -/***/ }), - -/***/ "./node_modules/function.prototype.name/node_modules/call-bind/index.js": -/*!******************************************************************************!*\ - !*** ./node_modules/function.prototype.name/node_modules/call-bind/index.js ***! - \******************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js"); -var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/function.prototype.name/node_modules/get-intrinsic/index.js"); - -var $apply = GetIntrinsic('%Function.prototype.apply%'); -var $call = GetIntrinsic('%Function.prototype.call%'); -var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply); - -var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true); -var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); -var $max = GetIntrinsic('%Math.max%'); - -if ($defineProperty) { - try { - $defineProperty({}, 'a', { value: 1 }); - } catch (e) { - // IE 8 has a broken defineProperty - $defineProperty = null; - } -} - -module.exports = function callBind(originalFunction) { - var func = $reflectApply(bind, $call, arguments); - if ($gOPD && $defineProperty) { - var desc = $gOPD(func, 'length'); - if (desc.configurable) { - // original length, plus the receiver, minus any additional arguments (after the receiver) - $defineProperty( - func, - 'length', - { value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) } - ); - } - } - return func; -}; - -var applyBind = function applyBind() { - return $reflectApply(bind, $apply, arguments); -}; - -if ($defineProperty) { - $defineProperty(module.exports, 'apply', { value: applyBind }); -} else { - module.exports.apply = applyBind; -} - - -/***/ }), - -/***/ "./node_modules/function.prototype.name/node_modules/es-abstract/2020/IsCallable.js": -/*!******************************************************************************************!*\ - !*** ./node_modules/function.prototype.name/node_modules/es-abstract/2020/IsCallable.js ***! - \******************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// http://262.ecma-international.org/5.1/#sec-9.11 - -module.exports = __webpack_require__(/*! is-callable */ "./node_modules/function.prototype.name/node_modules/is-callable/index.js"); - - -/***/ }), - -/***/ "./node_modules/function.prototype.name/node_modules/get-intrinsic/index.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/function.prototype.name/node_modules/get-intrinsic/index.js ***! - \**********************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var undefined; - -var $SyntaxError = SyntaxError; -var $Function = Function; -var $TypeError = TypeError; - -// eslint-disable-next-line consistent-return -var getEvalledConstructor = function (expressionSyntax) { - try { - return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); - } catch (e) {} -}; - -var $gOPD = Object.getOwnPropertyDescriptor; -if ($gOPD) { - try { - $gOPD({}, ''); - } catch (e) { - $gOPD = null; // this is IE 8, which has a broken gOPD - } -} - -var throwTypeError = function () { - throw new $TypeError(); -}; -var ThrowTypeError = $gOPD - ? (function () { - try { - // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties - arguments.callee; // IE 8 does not throw here - return throwTypeError; - } catch (calleeThrows) { - try { - // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') - return $gOPD(arguments, 'callee').get; - } catch (gOPDthrows) { - return throwTypeError; - } - } - }()) - : throwTypeError; - -var hasSymbols = __webpack_require__(/*! has-symbols */ "./node_modules/has-symbols/index.js")(); - -var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto - -var needsEval = {}; - -var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array); - -var INTRINSICS = { - '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, - '%Array%': Array, - '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, - '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined, - '%AsyncFromSyncIteratorPrototype%': undefined, - '%AsyncFunction%': needsEval, - '%AsyncGenerator%': needsEval, - '%AsyncGeneratorFunction%': needsEval, - '%AsyncIteratorPrototype%': needsEval, - '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, - '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, - '%Boolean%': Boolean, - '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, - '%Date%': Date, - '%decodeURI%': decodeURI, - '%decodeURIComponent%': decodeURIComponent, - '%encodeURI%': encodeURI, - '%encodeURIComponent%': encodeURIComponent, - '%Error%': Error, - '%eval%': eval, // eslint-disable-line no-eval - '%EvalError%': EvalError, - '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, - '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, - '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, - '%Function%': $Function, - '%GeneratorFunction%': needsEval, - '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, - '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, - '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, - '%isFinite%': isFinite, - '%isNaN%': isNaN, - '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined, - '%JSON%': typeof JSON === 'object' ? JSON : undefined, - '%Map%': typeof Map === 'undefined' ? undefined : Map, - '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()), - '%Math%': Math, - '%Number%': Number, - '%Object%': Object, - '%parseFloat%': parseFloat, - '%parseInt%': parseInt, - '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, - '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, - '%RangeError%': RangeError, - '%ReferenceError%': ReferenceError, - '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, - '%RegExp%': RegExp, - '%Set%': typeof Set === 'undefined' ? undefined : Set, - '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()), - '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, - '%String%': String, - '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined, - '%Symbol%': hasSymbols ? Symbol : undefined, - '%SyntaxError%': $SyntaxError, - '%ThrowTypeError%': ThrowTypeError, - '%TypedArray%': TypedArray, - '%TypeError%': $TypeError, - '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, - '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, - '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, - '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, - '%URIError%': URIError, - '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, - '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, - '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet -}; - -var doEval = function doEval(name) { - var value; - if (name === '%AsyncFunction%') { - value = getEvalledConstructor('async function () {}'); - } else if (name === '%GeneratorFunction%') { - value = getEvalledConstructor('function* () {}'); - } else if (name === '%AsyncGeneratorFunction%') { - value = getEvalledConstructor('async function* () {}'); - } else if (name === '%AsyncGenerator%') { - var fn = doEval('%AsyncGeneratorFunction%'); - if (fn) { - value = fn.prototype; - } - } else if (name === '%AsyncIteratorPrototype%') { - var gen = doEval('%AsyncGenerator%'); - if (gen) { - value = getProto(gen.prototype); - } - } - - INTRINSICS[name] = value; - - return value; -}; - -var LEGACY_ALIASES = { - '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], - '%ArrayPrototype%': ['Array', 'prototype'], - '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], - '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], - '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], - '%ArrayProto_values%': ['Array', 'prototype', 'values'], - '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], - '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], - '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], - '%BooleanPrototype%': ['Boolean', 'prototype'], - '%DataViewPrototype%': ['DataView', 'prototype'], - '%DatePrototype%': ['Date', 'prototype'], - '%ErrorPrototype%': ['Error', 'prototype'], - '%EvalErrorPrototype%': ['EvalError', 'prototype'], - '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], - '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], - '%FunctionPrototype%': ['Function', 'prototype'], - '%Generator%': ['GeneratorFunction', 'prototype'], - '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], - '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], - '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], - '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], - '%JSONParse%': ['JSON', 'parse'], - '%JSONStringify%': ['JSON', 'stringify'], - '%MapPrototype%': ['Map', 'prototype'], - '%NumberPrototype%': ['Number', 'prototype'], - '%ObjectPrototype%': ['Object', 'prototype'], - '%ObjProto_toString%': ['Object', 'prototype', 'toString'], - '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], - '%PromisePrototype%': ['Promise', 'prototype'], - '%PromiseProto_then%': ['Promise', 'prototype', 'then'], - '%Promise_all%': ['Promise', 'all'], - '%Promise_reject%': ['Promise', 'reject'], - '%Promise_resolve%': ['Promise', 'resolve'], - '%RangeErrorPrototype%': ['RangeError', 'prototype'], - '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], - '%RegExpPrototype%': ['RegExp', 'prototype'], - '%SetPrototype%': ['Set', 'prototype'], - '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], - '%StringPrototype%': ['String', 'prototype'], - '%SymbolPrototype%': ['Symbol', 'prototype'], - '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], - '%TypedArrayPrototype%': ['TypedArray', 'prototype'], - '%TypeErrorPrototype%': ['TypeError', 'prototype'], - '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], - '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], - '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], - '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], - '%URIErrorPrototype%': ['URIError', 'prototype'], - '%WeakMapPrototype%': ['WeakMap', 'prototype'], - '%WeakSetPrototype%': ['WeakSet', 'prototype'] -}; - -var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js"); -var hasOwn = __webpack_require__(/*! has */ "./node_modules/has/src/index.js"); -var $concat = bind.call(Function.call, Array.prototype.concat); -var $spliceApply = bind.call(Function.apply, Array.prototype.splice); -var $replace = bind.call(Function.call, String.prototype.replace); -var $strSlice = bind.call(Function.call, String.prototype.slice); - -/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ -var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; -var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ -var stringToPath = function stringToPath(string) { - var first = $strSlice(string, 0, 1); - var last = $strSlice(string, -1); - if (first === '%' && last !== '%') { - throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`'); - } else if (last === '%' && first !== '%') { - throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`'); - } - var result = []; - $replace(string, rePropName, function (match, number, quote, subString) { - result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; - }); - return result; -}; -/* end adaptation */ - -var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { - var intrinsicName = name; - var alias; - if (hasOwn(LEGACY_ALIASES, intrinsicName)) { - alias = LEGACY_ALIASES[intrinsicName]; - intrinsicName = '%' + alias[0] + '%'; - } - - if (hasOwn(INTRINSICS, intrinsicName)) { - var value = INTRINSICS[intrinsicName]; - if (value === needsEval) { - value = doEval(intrinsicName); - } - if (typeof value === 'undefined' && !allowMissing) { - throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); - } - - return { - alias: alias, - name: intrinsicName, - value: value - }; - } - - throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); -}; - -module.exports = function GetIntrinsic(name, allowMissing) { - if (typeof name !== 'string' || name.length === 0) { - throw new $TypeError('intrinsic name must be a non-empty string'); - } - if (arguments.length > 1 && typeof allowMissing !== 'boolean') { - throw new $TypeError('"allowMissing" argument must be a boolean'); - } - - var parts = stringToPath(name); - var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; - - var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); - var intrinsicRealName = intrinsic.name; - var value = intrinsic.value; - var skipFurtherCaching = false; - - var alias = intrinsic.alias; - if (alias) { - intrinsicBaseName = alias[0]; - $spliceApply(parts, $concat([0, 1], alias)); - } - - for (var i = 1, isOwn = true; i < parts.length; i += 1) { - var part = parts[i]; - var first = $strSlice(part, 0, 1); - var last = $strSlice(part, -1); - if ( - ( - (first === '"' || first === "'" || first === '`') - || (last === '"' || last === "'" || last === '`') - ) - && first !== last - ) { - throw new $SyntaxError('property names with quotes must have matching quotes'); - } - if (part === 'constructor' || !isOwn) { - skipFurtherCaching = true; - } - - intrinsicBaseName += '.' + part; - intrinsicRealName = '%' + intrinsicBaseName + '%'; - - if (hasOwn(INTRINSICS, intrinsicRealName)) { - value = INTRINSICS[intrinsicRealName]; - } else if (value != null) { - if (!(part in value)) { - if (!allowMissing) { - throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); - } - return void undefined; - } - if ($gOPD && (i + 1) >= parts.length) { - var desc = $gOPD(value, part); - isOwn = !!desc; - - // By convention, when a data property is converted to an accessor - // property to emulate a data property that does not suffer from - // the override mistake, that accessor's getter is marked with - // an `originalValue` property. Here, when we detect this, we - // uphold the illusion by pretending to see that original data - // property, i.e., returning the value rather than the getter - // itself. - if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { - value = desc.get; - } else { - value = value[part]; - } - } else { - isOwn = hasOwn(value, part); - value = value[part]; - } - - if (isOwn && !skipFurtherCaching) { - INTRINSICS[intrinsicRealName] = value; - } - } - } - return value; -}; - - -/***/ }), - -/***/ "./node_modules/function.prototype.name/node_modules/is-callable/index.js": -/*!********************************************************************************!*\ - !*** ./node_modules/function.prototype.name/node_modules/is-callable/index.js ***! - \********************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var fnToStr = Function.prototype.toString; -var reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply; -var badArrayLike; -var isCallableMarker; -if (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') { - try { - badArrayLike = Object.defineProperty({}, 'length', { - get: function () { - throw isCallableMarker; - } - }); - isCallableMarker = {}; - // eslint-disable-next-line no-throw-literal - reflectApply(function () { throw 42; }, null, badArrayLike); - } catch (_) { - if (_ !== isCallableMarker) { - reflectApply = null; - } - } -} else { - reflectApply = null; -} - -var constructorRegex = /^\s*class\b/; -var isES6ClassFn = function isES6ClassFunction(value) { - try { - var fnStr = fnToStr.call(value); - return constructorRegex.test(fnStr); - } catch (e) { - return false; // not a function - } -}; - -var tryFunctionObject = function tryFunctionToStr(value) { - try { - if (isES6ClassFn(value)) { return false; } - fnToStr.call(value); - return true; - } catch (e) { - return false; - } -}; -var toStr = Object.prototype.toString; -var fnClass = '[object Function]'; -var genClass = '[object GeneratorFunction]'; -var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; -/* globals document: false */ -var documentDotAll = typeof document === 'object' && typeof document.all === 'undefined' && document.all !== undefined ? document.all : {}; - -module.exports = reflectApply - ? function isCallable(value) { - if (value === documentDotAll) { return true; } - if (!value) { return false; } - if (typeof value !== 'function' && typeof value !== 'object') { return false; } - if (typeof value === 'function' && !value.prototype) { return true; } - try { - reflectApply(value, null, badArrayLike); - } catch (e) { - if (e !== isCallableMarker) { return false; } - } - return !isES6ClassFn(value); - } - : function isCallable(value) { - if (value === documentDotAll) { return true; } - if (!value) { return false; } - if (typeof value !== 'function' && typeof value !== 'object') { return false; } - if (typeof value === 'function' && !value.prototype) { return true; } - if (hasToStringTag) { return tryFunctionObject(value); } - if (isES6ClassFn(value)) { return false; } - var strClass = toStr.call(value); - return strClass === fnClass || strClass === genClass; - }; - - -/***/ }), - -/***/ "./node_modules/function.prototype.name/polyfill.js": -/*!**********************************************************!*\ - !*** ./node_modules/function.prototype.name/polyfill.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/function.prototype.name/implementation.js"); - -module.exports = function getPolyfill() { - return implementation; -}; - - -/***/ }), - -/***/ "./node_modules/function.prototype.name/shim.js": -/*!******************************************************!*\ - !*** ./node_modules/function.prototype.name/shim.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var supportsDescriptors = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js").supportsDescriptors; -var functionsHaveNames = __webpack_require__(/*! functions-have-names */ "./node_modules/functions-have-names/index.js")(); -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/function.prototype.name/polyfill.js"); -var defineProperty = Object.defineProperty; -var TypeErr = TypeError; - -module.exports = function shimName() { - var polyfill = getPolyfill(); - if (functionsHaveNames) { - return polyfill; - } - if (!supportsDescriptors) { - throw new TypeErr('Shimming Function.prototype.name support requires ES5 property descriptor support.'); - } - var functionProto = Function.prototype; - defineProperty(functionProto, 'name', { - configurable: true, - enumerable: false, - get: function () { - var name = polyfill.call(this); - if (this !== functionProto) { - defineProperty(this, 'name', { - configurable: true, - enumerable: false, - value: name, - writable: false - }); - } - return name; - } - }); - return polyfill; -}; - - -/***/ }), - -/***/ "./node_modules/functions-have-names/index.js": -/*!****************************************************!*\ - !*** ./node_modules/functions-have-names/index.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var functionsHaveNames = function functionsHaveNames() { - return typeof function f() {}.name === 'string'; -}; - -var gOPD = Object.getOwnPropertyDescriptor; -if (gOPD) { - try { - gOPD([], 'length'); - } catch (e) { - // IE 8 has a broken gOPD - gOPD = null; - } -} - -functionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() { - return functionsHaveNames() && gOPD && !!gOPD(function () {}, 'name').configurable; -}; - -var $bind = Function.prototype.bind; - -functionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() { - return functionsHaveNames() && typeof $bind === 'function' && function f() {}.bind().name !== ''; -}; - -module.exports = functionsHaveNames; - - -/***/ }), - -/***/ "./node_modules/get-intrinsic/index.js": -/*!*********************************************!*\ - !*** ./node_modules/get-intrinsic/index.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/* globals - AggregateError, - Atomics, - FinalizationRegistry, - SharedArrayBuffer, - WeakRef, -*/ - -var undefined; - -var $SyntaxError = SyntaxError; -var $Function = Function; -var $TypeError = TypeError; - -// eslint-disable-next-line consistent-return -var getEvalledConstructor = function (expressionSyntax) { - try { - // eslint-disable-next-line no-new-func - return Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); - } catch (e) {} -}; - -var $gOPD = Object.getOwnPropertyDescriptor; -if ($gOPD) { - try { - $gOPD({}, ''); - } catch (e) { - $gOPD = null; // this is IE 8, which has a broken gOPD - } -} - -var throwTypeError = function () { - throw new $TypeError(); -}; -var ThrowTypeError = $gOPD - ? (function () { - try { - // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties - arguments.callee; // IE 8 does not throw here - return throwTypeError; - } catch (calleeThrows) { - try { - // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') - return $gOPD(arguments, 'callee').get; - } catch (gOPDthrows) { - return throwTypeError; - } - } - }()) - : throwTypeError; - -var hasSymbols = __webpack_require__(/*! has-symbols */ "./node_modules/has-symbols/index.js")(); - -var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto - -var asyncGenFunction = getEvalledConstructor('async function* () {}'); -var asyncGenFunctionPrototype = asyncGenFunction ? asyncGenFunction.prototype : undefined; -var asyncGenPrototype = asyncGenFunctionPrototype ? asyncGenFunctionPrototype.prototype : undefined; - -var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array); - -var INTRINSICS = { - '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, - '%Array%': Array, - '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, - '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined, - '%AsyncFromSyncIteratorPrototype%': undefined, - '%AsyncFunction%': getEvalledConstructor('async function () {}'), - '%AsyncGenerator%': asyncGenFunctionPrototype, - '%AsyncGeneratorFunction%': asyncGenFunction, - '%AsyncIteratorPrototype%': asyncGenPrototype ? getProto(asyncGenPrototype) : undefined, - '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, - '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, - '%Boolean%': Boolean, - '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, - '%Date%': Date, - '%decodeURI%': decodeURI, - '%decodeURIComponent%': decodeURIComponent, - '%encodeURI%': encodeURI, - '%encodeURIComponent%': encodeURIComponent, - '%Error%': Error, - '%eval%': eval, // eslint-disable-line no-eval - '%EvalError%': EvalError, - '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, - '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, - '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, - '%Function%': $Function, - '%GeneratorFunction%': getEvalledConstructor('function* () {}'), - '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, - '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, - '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, - '%isFinite%': isFinite, - '%isNaN%': isNaN, - '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined, - '%JSON%': typeof JSON === 'object' ? JSON : undefined, - '%Map%': typeof Map === 'undefined' ? undefined : Map, - '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()), - '%Math%': Math, - '%Number%': Number, - '%Object%': Object, - '%parseFloat%': parseFloat, - '%parseInt%': parseInt, - '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, - '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, - '%RangeError%': RangeError, - '%ReferenceError%': ReferenceError, - '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, - '%RegExp%': RegExp, - '%Set%': typeof Set === 'undefined' ? undefined : Set, - '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()), - '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, - '%String%': String, - '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined, - '%Symbol%': hasSymbols ? Symbol : undefined, - '%SyntaxError%': $SyntaxError, - '%ThrowTypeError%': ThrowTypeError, - '%TypedArray%': TypedArray, - '%TypeError%': $TypeError, - '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, - '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, - '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, - '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, - '%URIError%': URIError, - '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, - '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, - '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet -}; - -var LEGACY_ALIASES = { - '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], - '%ArrayPrototype%': ['Array', 'prototype'], - '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], - '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], - '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], - '%ArrayProto_values%': ['Array', 'prototype', 'values'], - '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], - '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], - '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], - '%BooleanPrototype%': ['Boolean', 'prototype'], - '%DataViewPrototype%': ['DataView', 'prototype'], - '%DatePrototype%': ['Date', 'prototype'], - '%ErrorPrototype%': ['Error', 'prototype'], - '%EvalErrorPrototype%': ['EvalError', 'prototype'], - '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], - '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], - '%FunctionPrototype%': ['Function', 'prototype'], - '%Generator%': ['GeneratorFunction', 'prototype'], - '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], - '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], - '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], - '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], - '%JSONParse%': ['JSON', 'parse'], - '%JSONStringify%': ['JSON', 'stringify'], - '%MapPrototype%': ['Map', 'prototype'], - '%NumberPrototype%': ['Number', 'prototype'], - '%ObjectPrototype%': ['Object', 'prototype'], - '%ObjProto_toString%': ['Object', 'prototype', 'toString'], - '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], - '%PromisePrototype%': ['Promise', 'prototype'], - '%PromiseProto_then%': ['Promise', 'prototype', 'then'], - '%Promise_all%': ['Promise', 'all'], - '%Promise_reject%': ['Promise', 'reject'], - '%Promise_resolve%': ['Promise', 'resolve'], - '%RangeErrorPrototype%': ['RangeError', 'prototype'], - '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], - '%RegExpPrototype%': ['RegExp', 'prototype'], - '%SetPrototype%': ['Set', 'prototype'], - '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], - '%StringPrototype%': ['String', 'prototype'], - '%SymbolPrototype%': ['Symbol', 'prototype'], - '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], - '%TypedArrayPrototype%': ['TypedArray', 'prototype'], - '%TypeErrorPrototype%': ['TypeError', 'prototype'], - '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], - '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], - '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], - '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], - '%URIErrorPrototype%': ['URIError', 'prototype'], - '%WeakMapPrototype%': ['WeakMap', 'prototype'], - '%WeakSetPrototype%': ['WeakSet', 'prototype'] -}; - -var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js"); -var hasOwn = __webpack_require__(/*! has */ "./node_modules/has/src/index.js"); -var $concat = bind.call(Function.call, Array.prototype.concat); -var $spliceApply = bind.call(Function.apply, Array.prototype.splice); -var $replace = bind.call(Function.call, String.prototype.replace); - -/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ -var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; -var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ -var stringToPath = function stringToPath(string) { - var result = []; - $replace(string, rePropName, function (match, number, quote, subString) { - result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; - }); - return result; -}; -/* end adaptation */ - -var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { - var intrinsicName = name; - var alias; - if (hasOwn(LEGACY_ALIASES, intrinsicName)) { - alias = LEGACY_ALIASES[intrinsicName]; - intrinsicName = '%' + alias[0] + '%'; - } - - if (hasOwn(INTRINSICS, intrinsicName)) { - var value = INTRINSICS[intrinsicName]; - if (typeof value === 'undefined' && !allowMissing) { - throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); - } - - return { - alias: alias, - name: intrinsicName, - value: value - }; - } - - throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); -}; - -module.exports = function GetIntrinsic(name, allowMissing) { - if (typeof name !== 'string' || name.length === 0) { - throw new $TypeError('intrinsic name must be a non-empty string'); - } - if (arguments.length > 1 && typeof allowMissing !== 'boolean') { - throw new $TypeError('"allowMissing" argument must be a boolean'); - } - - var parts = stringToPath(name); - var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; - - var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); - var intrinsicRealName = intrinsic.name; - var value = intrinsic.value; - var skipFurtherCaching = false; - - var alias = intrinsic.alias; - if (alias) { - intrinsicBaseName = alias[0]; - $spliceApply(parts, $concat([0, 1], alias)); - } - - for (var i = 1, isOwn = true; i < parts.length; i += 1) { - var part = parts[i]; - if (part === 'constructor' || !isOwn) { - skipFurtherCaching = true; - } - - intrinsicBaseName += '.' + part; - intrinsicRealName = '%' + intrinsicBaseName + '%'; - - if (hasOwn(INTRINSICS, intrinsicRealName)) { - value = INTRINSICS[intrinsicRealName]; - } else if (value != null) { - if ($gOPD && (i + 1) >= parts.length) { - var desc = $gOPD(value, part); - isOwn = !!desc; - - if (!allowMissing && !(part in value)) { - throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); - } - // By convention, when a data property is converted to an accessor - // property to emulate a data property that does not suffer from - // the override mistake, that accessor's getter is marked with - // an `originalValue` property. Here, when we detect this, we - // uphold the illusion by pretending to see that original data - // property, i.e., returning the value rather than the getter - // itself. - if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { - value = desc.get; - } else { - value = value[part]; - } - } else { - isOwn = hasOwn(value, part); - value = value[part]; - } - - if (isOwn && !skipFurtherCaching) { - INTRINSICS[intrinsicRealName] = value; - } - } - } - return value; -}; - - -/***/ }), - -/***/ "./node_modules/has-symbols/index.js": -/*!*******************************************!*\ - !*** ./node_modules/has-symbols/index.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global) { - -var origSymbol = global.Symbol; -var hasSymbolSham = __webpack_require__(/*! ./shams */ "./node_modules/has-symbols/shams.js"); - -module.exports = function hasNativeSymbols() { - if (typeof origSymbol !== 'function') { return false; } - if (typeof Symbol !== 'function') { return false; } - if (typeof origSymbol('foo') !== 'symbol') { return false; } - if (typeof Symbol('bar') !== 'symbol') { return false; } - - return hasSymbolSham(); -}; - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) - -/***/ }), - -/***/ "./node_modules/has-symbols/shams.js": -/*!*******************************************!*\ - !*** ./node_modules/has-symbols/shams.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/* eslint complexity: [2, 18], max-statements: [2, 33] */ -module.exports = function hasSymbols() { - if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; } - if (typeof Symbol.iterator === 'symbol') { return true; } - - var obj = {}; - var sym = Symbol('test'); - var symObj = Object(sym); - if (typeof sym === 'string') { return false; } - - if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; } - if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; } - - // temp disabled per https://github.com/ljharb/object.assign/issues/17 - // if (sym instanceof Symbol) { return false; } - // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4 - // if (!(symObj instanceof Symbol)) { return false; } - - // if (typeof Symbol.prototype.toString !== 'function') { return false; } - // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; } - - var symVal = 42; - obj[sym] = symVal; - for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax - if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; } - - if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; } - - var syms = Object.getOwnPropertySymbols(obj); - if (syms.length !== 1 || syms[0] !== sym) { return false; } - - if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; } - - if (typeof Object.getOwnPropertyDescriptor === 'function') { - var descriptor = Object.getOwnPropertyDescriptor(obj, sym); - if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; } - } - - return true; -}; - - -/***/ }), - -/***/ "./node_modules/has/src/index.js": -/*!***************************************!*\ - !*** ./node_modules/has/src/index.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js"); - -module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); - - -/***/ }), - -/***/ "./node_modules/immer/dist/immer.esm.js": -/*!**********************************************!*\ - !*** ./node_modules/immer/dist/immer.esm.js ***! - \**********************************************/ -/*! exports provided: default, Immer, applyPatches, castDraft, castImmutable, createDraft, current, enableAllPlugins, enableES5, enableMapSet, enablePatches, finishDraft, freeze, immerable, isDraft, isDraftable, nothing, original, produce, produceWithPatches, setAutoFreeze, setUseProxies */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Immer", function() { return un; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "applyPatches", function() { return pn; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "castDraft", function() { return K; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "castImmutable", function() { return $; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createDraft", function() { return ln; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "current", function() { return D; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "enableAllPlugins", function() { return J; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "enableES5", function() { return N; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "enableMapSet", function() { return C; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "enablePatches", function() { return T; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "finishDraft", function() { return dn; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "freeze", function() { return d; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "immerable", function() { return L; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isDraft", function() { return t; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isDraftable", function() { return r; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "nothing", function() { return H; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "original", function() { return e; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "produce", function() { return fn; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "produceWithPatches", function() { return cn; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setAutoFreeze", function() { return sn; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setUseProxies", function() { return vn; }); -function n(n){for(var t=arguments.length,r=Array(t>1?t-1:0),e=1;e3?t.i-4:t.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,t){return 2===o(n)?n.has(t):Object.prototype.hasOwnProperty.call(n,t)}function a(n,t){return 2===o(n)?n.get(t):n[t]}function f(n,t,r){var e=o(n);2===e?n.set(t,r):3===e?(n.delete(t),n.add(r)):n[t]=r}function c(n,t){return n===t?0!==n||1/n==1/t:n!=n&&t!=t}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var t=tn(n);delete t[Q];for(var r=nn(t),e=0;e1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,t){return d(t,!0)}),!0),n)}function h(){n(2)}function y(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b(t){var r=rn[t];return r||n(18,t),r}function m(n,t){rn[n]||(rn[n]=t)}function _(){return false||U||n(0),U}function j(n,t){t&&(b("Patches"),n.u=[],n.s=[],n.v=t)}function O(n){g(n),n.p.forEach(S),n.p=null}function g(n){n===U&&(U=n.l)}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var t=n[Q];0===t.i||1===t.i?t.j():t.O=!0}function P(t,e){e._=e.p.length;var i=e.p[0],o=void 0!==t&&t!==i;return e.h.g||b("ES5").S(e,t,o),o?(i[Q].P&&(O(e),n(4)),r(t)&&(t=M(e,t),e.l||x(e,t)),e.u&&b("Patches").M(i[Q],t,e.u,e.s)):t=M(e,i,[]),O(e),e.u&&e.v(e.u,e.s),t!==H?t:void 0}function M(n,t,r){if(y(t))return t;var e=t[Q];if(!e)return i(t,(function(i,o){return A(n,e,t,i,o,r)}),!0),t;if(e.A!==n)return t;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o;i(3===e.i?new Set(o):o,(function(t,i){return A(n,e,o,t,i,r)})),x(n,o,!1),r&&n.u&&b("Patches").R(e,r,n.u,n.s)}return e.o}function A(e,i,o,a,c,s){if( true&&c===o&&n(5),t(c)){var v=M(e,c,s&&i&&3!==i.i&&!u(i.D,a)?s.concat(a):void 0);if(f(o,a,v),!t(v))return;e.m=!1}if(r(c)&&!y(c)){if(!e.h.F&&e._<1)return;M(e,c),i&&i.A.l||x(e,c)}}function x(n,t,r){void 0===r&&(r=!1),n.h.F&&n.m&&d(t,r)}function z(n,t){var r=n[Q];return(r?p(r):n)[t]}function I(n,t){if(t in n)for(var r=Object.getPrototypeOf(n);r;){var e=Object.getOwnPropertyDescriptor(r,t);if(e)return e;r=Object.getPrototypeOf(r)}}function k(n){n.P||(n.P=!0,n.l&&k(n.l))}function E(n){n.o||(n.o=l(n.t))}function R(n,t,r){var e=s(t)?b("MapSet").N(t,r):v(t)?b("MapSet").T(t,r):n.g?function(n,t){var r=Array.isArray(n),e={i:r?1:0,A:t?t.A:_(),P:!1,I:!1,D:{},l:t,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;r&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(t,r):b("ES5").J(t,r);return(r?r.A:_()).p.push(e),e}function D(e){return t(e)||n(22,e),function n(t){if(!r(t))return t;var e,u=t[Q],c=o(t);if(u){if(!u.P&&(u.i<4||!b("ES5").K(u)))return u.t;u.I=!0,e=F(t,c),u.I=!1}else e=F(t,c);return i(e,(function(t,r){u&&a(u.t,t)===r||f(e,t,n(r))})),3===c?new Set(e):e}(e)}function F(n,t){switch(t){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function N(){function r(n,t){var r=s[n];return r?r.enumerable=t:s[n]=r={configurable:!0,enumerable:t,get:function(){var t=this[Q];return true&&f(t),en.get(t,n)},set:function(t){var r=this[Q]; true&&f(r),en.set(r,n,t)}},r}function e(n){for(var t=n.length-1;t>=0;t--){var r=n[t][Q];if(!r.P)switch(r.i){case 5:a(r)&&k(r);break;case 4:o(r)&&k(r)}}}function o(n){for(var t=n.t,r=n.k,e=nn(r),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=t[o];if(void 0===a&&!u(t,o))return!0;var f=r[o],s=f&&f[Q];if(s?s.t!==a:!c(f,a))return!0}}var v=!!t[Q];return e.length!==nn(t).length+(v?0:1)}function a(n){var t=n.k;if(t.length!==n.t.length)return!0;var r=Object.getOwnPropertyDescriptor(t,t.length-1);return!(!r||r.get)}function f(t){t.O&&n(3,JSON.stringify(p(t)))}var s={};m("ES5",{J:function(n,t){var e=Array.isArray(n),i=function(n,t){if(n){for(var e=Array(t.length),i=0;i1?r-1:0),o=1;o1?r-1:0),o=1;o=0;e--){var i=r[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}var o=b("Patches").$;return t(n)?o(n,r):this.produce(n,(function(n){return o(n,r.slice(e+1))}))},e}(),an=new un,fn=an.produce,cn=an.produceWithPatches.bind(an),sn=an.setAutoFreeze.bind(an),vn=an.setUseProxies.bind(an),pn=an.applyPatches.bind(an),ln=an.createDraft.bind(an),dn=an.finishDraft.bind(an);/* harmony default export */ __webpack_exports__["default"] = (fn); -//# sourceMappingURL=immer.esm.js.map - - -/***/ }), - -/***/ "./node_modules/is-callable/index.js": -/*!*******************************************!*\ - !*** ./node_modules/is-callable/index.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var fnToStr = Function.prototype.toString; -var reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply; -var badArrayLike; -var isCallableMarker; -if (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') { - try { - badArrayLike = Object.defineProperty({}, 'length', { - get: function () { - throw isCallableMarker; - } - }); - isCallableMarker = {}; - // eslint-disable-next-line no-throw-literal - reflectApply(function () { throw 42; }, null, badArrayLike); - } catch (_) { - if (_ !== isCallableMarker) { - reflectApply = null; - } - } -} else { - reflectApply = null; -} - -var constructorRegex = /^\s*class\b/; -var isES6ClassFn = function isES6ClassFunction(value) { - try { - var fnStr = fnToStr.call(value); - return constructorRegex.test(fnStr); - } catch (e) { - return false; // not a function - } -}; - -var tryFunctionObject = function tryFunctionToStr(value) { - try { - if (isES6ClassFn(value)) { return false; } - fnToStr.call(value); - return true; - } catch (e) { - return false; - } -}; -var toStr = Object.prototype.toString; -var fnClass = '[object Function]'; -var genClass = '[object GeneratorFunction]'; -var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; - -module.exports = reflectApply - ? function isCallable(value) { - if (!value) { return false; } - if (typeof value !== 'function' && typeof value !== 'object') { return false; } - if (typeof value === 'function' && !value.prototype) { return true; } - try { - reflectApply(value, null, badArrayLike); - } catch (e) { - if (e !== isCallableMarker) { return false; } - } - return !isES6ClassFn(value); - } - : function isCallable(value) { - if (!value) { return false; } - if (typeof value !== 'function' && typeof value !== 'object') { return false; } - if (typeof value === 'function' && !value.prototype) { return true; } - if (hasToStringTag) { return tryFunctionObject(value); } - if (isES6ClassFn(value)) { return false; } - var strClass = toStr.call(value); - return strClass === fnClass || strClass === genClass; - }; - - -/***/ }), - -/***/ "./node_modules/is-date-object/index.js": -/*!**********************************************!*\ - !*** ./node_modules/is-date-object/index.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var getDay = Date.prototype.getDay; -var tryDateObject = function tryDateGetDayCall(value) { - try { - getDay.call(value); - return true; - } catch (e) { - return false; - } -}; - -var toStr = Object.prototype.toString; -var dateClass = '[object Date]'; -var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; - -module.exports = function isDateObject(value) { - if (typeof value !== 'object' || value === null) { - return false; - } - return hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass; -}; - - -/***/ }), - -/***/ "./node_modules/is-regex/index.js": -/*!****************************************!*\ - !*** ./node_modules/is-regex/index.js ***! - \****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var hasSymbols = __webpack_require__(/*! has-symbols */ "./node_modules/has-symbols/index.js")(); -var hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol'; -var hasOwnProperty; -var regexExec; -var isRegexMarker; -var badStringifier; - -if (hasToStringTag) { - hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty); - regexExec = Function.call.bind(RegExp.prototype.exec); - isRegexMarker = {}; - - var throwRegexMarker = function () { - throw isRegexMarker; - }; - badStringifier = { - toString: throwRegexMarker, - valueOf: throwRegexMarker - }; - - if (typeof Symbol.toPrimitive === 'symbol') { - badStringifier[Symbol.toPrimitive] = throwRegexMarker; - } -} - -var toStr = Object.prototype.toString; -var gOPD = Object.getOwnPropertyDescriptor; -var regexClass = '[object RegExp]'; - -module.exports = hasToStringTag - // eslint-disable-next-line consistent-return - ? function isRegex(value) { - if (!value || typeof value !== 'object') { - return false; - } - - var descriptor = gOPD(value, 'lastIndex'); - var hasLastIndexDataProperty = descriptor && hasOwnProperty(descriptor, 'value'); - if (!hasLastIndexDataProperty) { - return false; - } - - try { - regexExec(value, badStringifier); - } catch (e) { - return e === isRegexMarker; - } - } - : function isRegex(value) { - // In older browsers, typeof regex incorrectly returns 'function' - if (!value || (typeof value !== 'object' && typeof value !== 'function')) { - return false; - } - - return toStr.call(value) === regexClass; - }; - - -/***/ }), - -/***/ "./node_modules/is-symbol/index.js": -/*!*****************************************!*\ - !*** ./node_modules/is-symbol/index.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var toStr = Object.prototype.toString; -var hasSymbols = __webpack_require__(/*! has-symbols */ "./node_modules/has-symbols/index.js")(); - -if (hasSymbols) { - var symToStr = Symbol.prototype.toString; - var symStringRegex = /^Symbol\(.*\)$/; - var isSymbolObject = function isRealSymbolObject(value) { - if (typeof value.valueOf() !== 'symbol') { - return false; - } - return symStringRegex.test(symToStr.call(value)); - }; - - module.exports = function isSymbol(value) { - if (typeof value === 'symbol') { - return true; - } - if (toStr.call(value) !== '[object Symbol]') { - return false; - } - try { - return isSymbolObject(value); - } catch (e) { - return false; - } - }; -} else { - - module.exports = function isSymbol(value) { - // this environment does not support Symbols. - return false && false; - }; -} - - -/***/ }), - -/***/ "./node_modules/object-assign/index.js": -/*!*********************************************!*\ - !*** ./node_modules/object-assign/index.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ - - -/* eslint-disable no-unused-vars */ -var getOwnPropertySymbols = Object.getOwnPropertySymbols; -var hasOwnProperty = Object.prototype.hasOwnProperty; -var propIsEnumerable = Object.prototype.propertyIsEnumerable; - -function toObject(val) { - if (val === null || val === undefined) { - throw new TypeError('Object.assign cannot be called with null or undefined'); - } - - return Object(val); -} - -function shouldUseNative() { - try { - if (!Object.assign) { - return false; - } - - // Detect buggy property enumeration order in older V8 versions. - - // https://bugs.chromium.org/p/v8/issues/detail?id=4118 - var test1 = new String('abc'); // eslint-disable-line no-new-wrappers - test1[5] = 'de'; - if (Object.getOwnPropertyNames(test1)[0] === '5') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test2 = {}; - for (var i = 0; i < 10; i++) { - test2['_' + String.fromCharCode(i)] = i; - } - var order2 = Object.getOwnPropertyNames(test2).map(function (n) { - return test2[n]; - }); - if (order2.join('') !== '0123456789') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test3 = {}; - 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { - test3[letter] = letter; - }); - if (Object.keys(Object.assign({}, test3)).join('') !== - 'abcdefghijklmnopqrst') { - return false; - } - - return true; - } catch (err) { - // We don't expect any of the above to throw, but better to be safe. - return false; - } -} - -module.exports = shouldUseNative() ? Object.assign : function (target, source) { - var from; - var to = toObject(target); - var symbols; - - for (var s = 1; s < arguments.length; s++) { - from = Object(arguments[s]); - - for (var key in from) { - if (hasOwnProperty.call(from, key)) { - to[key] = from[key]; - } - } - - if (getOwnPropertySymbols) { - symbols = getOwnPropertySymbols(from); - for (var i = 0; i < symbols.length; i++) { - if (propIsEnumerable.call(from, symbols[i])) { - to[symbols[i]] = from[symbols[i]]; - } - } - } - } - - return to; -}; - - -/***/ }), - -/***/ "./node_modules/object-is/implementation.js": -/*!**************************************************!*\ - !*** ./node_modules/object-is/implementation.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var numberIsNaN = function (value) { - return value !== value; -}; - -module.exports = function is(a, b) { - if (a === 0 && b === 0) { - return 1 / a === 1 / b; - } - if (a === b) { - return true; - } - if (numberIsNaN(a) && numberIsNaN(b)) { - return true; - } - return false; -}; - - - -/***/ }), - -/***/ "./node_modules/object-is/index.js": -/*!*****************************************!*\ - !*** ./node_modules/object-is/index.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js"); -var callBind = __webpack_require__(/*! call-bind */ "./node_modules/object-is/node_modules/call-bind/index.js"); - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/object-is/implementation.js"); -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/object-is/polyfill.js"); -var shim = __webpack_require__(/*! ./shim */ "./node_modules/object-is/shim.js"); - -var polyfill = callBind(getPolyfill(), Object); - -define(polyfill, { - getPolyfill: getPolyfill, - implementation: implementation, - shim: shim -}); - -module.exports = polyfill; - - -/***/ }), - -/***/ "./node_modules/object-is/node_modules/call-bind/index.js": -/*!****************************************************************!*\ - !*** ./node_modules/object-is/node_modules/call-bind/index.js ***! - \****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js"); -var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/object-is/node_modules/get-intrinsic/index.js"); - -var $apply = GetIntrinsic('%Function.prototype.apply%'); -var $call = GetIntrinsic('%Function.prototype.call%'); -var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply); - -var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true); -var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); -var $max = GetIntrinsic('%Math.max%'); - -if ($defineProperty) { - try { - $defineProperty({}, 'a', { value: 1 }); - } catch (e) { - // IE 8 has a broken defineProperty - $defineProperty = null; - } -} - -module.exports = function callBind(originalFunction) { - var func = $reflectApply(bind, $call, arguments); - if ($gOPD && $defineProperty) { - var desc = $gOPD(func, 'length'); - if (desc.configurable) { - // original length, plus the receiver, minus any additional arguments (after the receiver) - $defineProperty( - func, - 'length', - { value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) } - ); - } - } - return func; -}; - -var applyBind = function applyBind() { - return $reflectApply(bind, $apply, arguments); -}; - -if ($defineProperty) { - $defineProperty(module.exports, 'apply', { value: applyBind }); -} else { - module.exports.apply = applyBind; -} - - -/***/ }), - -/***/ "./node_modules/object-is/node_modules/get-intrinsic/index.js": -/*!********************************************************************!*\ - !*** ./node_modules/object-is/node_modules/get-intrinsic/index.js ***! - \********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var undefined; - -var $SyntaxError = SyntaxError; -var $Function = Function; -var $TypeError = TypeError; - -// eslint-disable-next-line consistent-return -var getEvalledConstructor = function (expressionSyntax) { - try { - return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); - } catch (e) {} -}; - -var $gOPD = Object.getOwnPropertyDescriptor; -if ($gOPD) { - try { - $gOPD({}, ''); - } catch (e) { - $gOPD = null; // this is IE 8, which has a broken gOPD - } -} - -var throwTypeError = function () { - throw new $TypeError(); -}; -var ThrowTypeError = $gOPD - ? (function () { - try { - // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties - arguments.callee; // IE 8 does not throw here - return throwTypeError; - } catch (calleeThrows) { - try { - // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') - return $gOPD(arguments, 'callee').get; - } catch (gOPDthrows) { - return throwTypeError; - } - } - }()) - : throwTypeError; - -var hasSymbols = __webpack_require__(/*! has-symbols */ "./node_modules/has-symbols/index.js")(); - -var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto - -var needsEval = {}; - -var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array); - -var INTRINSICS = { - '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, - '%Array%': Array, - '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, - '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined, - '%AsyncFromSyncIteratorPrototype%': undefined, - '%AsyncFunction%': needsEval, - '%AsyncGenerator%': needsEval, - '%AsyncGeneratorFunction%': needsEval, - '%AsyncIteratorPrototype%': needsEval, - '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, - '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, - '%Boolean%': Boolean, - '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, - '%Date%': Date, - '%decodeURI%': decodeURI, - '%decodeURIComponent%': decodeURIComponent, - '%encodeURI%': encodeURI, - '%encodeURIComponent%': encodeURIComponent, - '%Error%': Error, - '%eval%': eval, // eslint-disable-line no-eval - '%EvalError%': EvalError, - '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, - '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, - '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, - '%Function%': $Function, - '%GeneratorFunction%': needsEval, - '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, - '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, - '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, - '%isFinite%': isFinite, - '%isNaN%': isNaN, - '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined, - '%JSON%': typeof JSON === 'object' ? JSON : undefined, - '%Map%': typeof Map === 'undefined' ? undefined : Map, - '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()), - '%Math%': Math, - '%Number%': Number, - '%Object%': Object, - '%parseFloat%': parseFloat, - '%parseInt%': parseInt, - '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, - '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, - '%RangeError%': RangeError, - '%ReferenceError%': ReferenceError, - '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, - '%RegExp%': RegExp, - '%Set%': typeof Set === 'undefined' ? undefined : Set, - '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()), - '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, - '%String%': String, - '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined, - '%Symbol%': hasSymbols ? Symbol : undefined, - '%SyntaxError%': $SyntaxError, - '%ThrowTypeError%': ThrowTypeError, - '%TypedArray%': TypedArray, - '%TypeError%': $TypeError, - '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, - '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, - '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, - '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, - '%URIError%': URIError, - '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, - '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, - '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet -}; - -var doEval = function doEval(name) { - var value; - if (name === '%AsyncFunction%') { - value = getEvalledConstructor('async function () {}'); - } else if (name === '%GeneratorFunction%') { - value = getEvalledConstructor('function* () {}'); - } else if (name === '%AsyncGeneratorFunction%') { - value = getEvalledConstructor('async function* () {}'); - } else if (name === '%AsyncGenerator%') { - var fn = doEval('%AsyncGeneratorFunction%'); - if (fn) { - value = fn.prototype; - } - } else if (name === '%AsyncIteratorPrototype%') { - var gen = doEval('%AsyncGenerator%'); - if (gen) { - value = getProto(gen.prototype); - } - } - - INTRINSICS[name] = value; - - return value; -}; - -var LEGACY_ALIASES = { - '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], - '%ArrayPrototype%': ['Array', 'prototype'], - '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], - '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], - '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], - '%ArrayProto_values%': ['Array', 'prototype', 'values'], - '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], - '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], - '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], - '%BooleanPrototype%': ['Boolean', 'prototype'], - '%DataViewPrototype%': ['DataView', 'prototype'], - '%DatePrototype%': ['Date', 'prototype'], - '%ErrorPrototype%': ['Error', 'prototype'], - '%EvalErrorPrototype%': ['EvalError', 'prototype'], - '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], - '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], - '%FunctionPrototype%': ['Function', 'prototype'], - '%Generator%': ['GeneratorFunction', 'prototype'], - '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], - '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], - '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], - '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], - '%JSONParse%': ['JSON', 'parse'], - '%JSONStringify%': ['JSON', 'stringify'], - '%MapPrototype%': ['Map', 'prototype'], - '%NumberPrototype%': ['Number', 'prototype'], - '%ObjectPrototype%': ['Object', 'prototype'], - '%ObjProto_toString%': ['Object', 'prototype', 'toString'], - '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], - '%PromisePrototype%': ['Promise', 'prototype'], - '%PromiseProto_then%': ['Promise', 'prototype', 'then'], - '%Promise_all%': ['Promise', 'all'], - '%Promise_reject%': ['Promise', 'reject'], - '%Promise_resolve%': ['Promise', 'resolve'], - '%RangeErrorPrototype%': ['RangeError', 'prototype'], - '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], - '%RegExpPrototype%': ['RegExp', 'prototype'], - '%SetPrototype%': ['Set', 'prototype'], - '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], - '%StringPrototype%': ['String', 'prototype'], - '%SymbolPrototype%': ['Symbol', 'prototype'], - '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], - '%TypedArrayPrototype%': ['TypedArray', 'prototype'], - '%TypeErrorPrototype%': ['TypeError', 'prototype'], - '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], - '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], - '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], - '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], - '%URIErrorPrototype%': ['URIError', 'prototype'], - '%WeakMapPrototype%': ['WeakMap', 'prototype'], - '%WeakSetPrototype%': ['WeakSet', 'prototype'] -}; - -var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js"); -var hasOwn = __webpack_require__(/*! has */ "./node_modules/has/src/index.js"); -var $concat = bind.call(Function.call, Array.prototype.concat); -var $spliceApply = bind.call(Function.apply, Array.prototype.splice); -var $replace = bind.call(Function.call, String.prototype.replace); -var $strSlice = bind.call(Function.call, String.prototype.slice); - -/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ -var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; -var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ -var stringToPath = function stringToPath(string) { - var first = $strSlice(string, 0, 1); - var last = $strSlice(string, -1); - if (first === '%' && last !== '%') { - throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`'); - } else if (last === '%' && first !== '%') { - throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`'); - } - var result = []; - $replace(string, rePropName, function (match, number, quote, subString) { - result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; - }); - return result; -}; -/* end adaptation */ - -var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { - var intrinsicName = name; - var alias; - if (hasOwn(LEGACY_ALIASES, intrinsicName)) { - alias = LEGACY_ALIASES[intrinsicName]; - intrinsicName = '%' + alias[0] + '%'; - } - - if (hasOwn(INTRINSICS, intrinsicName)) { - var value = INTRINSICS[intrinsicName]; - if (value === needsEval) { - value = doEval(intrinsicName); - } - if (typeof value === 'undefined' && !allowMissing) { - throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); - } - - return { - alias: alias, - name: intrinsicName, - value: value - }; - } - - throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); -}; - -module.exports = function GetIntrinsic(name, allowMissing) { - if (typeof name !== 'string' || name.length === 0) { - throw new $TypeError('intrinsic name must be a non-empty string'); - } - if (arguments.length > 1 && typeof allowMissing !== 'boolean') { - throw new $TypeError('"allowMissing" argument must be a boolean'); - } - - var parts = stringToPath(name); - var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; - - var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); - var intrinsicRealName = intrinsic.name; - var value = intrinsic.value; - var skipFurtherCaching = false; - - var alias = intrinsic.alias; - if (alias) { - intrinsicBaseName = alias[0]; - $spliceApply(parts, $concat([0, 1], alias)); - } - - for (var i = 1, isOwn = true; i < parts.length; i += 1) { - var part = parts[i]; - var first = $strSlice(part, 0, 1); - var last = $strSlice(part, -1); - if ( - ( - (first === '"' || first === "'" || first === '`') - || (last === '"' || last === "'" || last === '`') - ) - && first !== last - ) { - throw new $SyntaxError('property names with quotes must have matching quotes'); - } - if (part === 'constructor' || !isOwn) { - skipFurtherCaching = true; - } - - intrinsicBaseName += '.' + part; - intrinsicRealName = '%' + intrinsicBaseName + '%'; - - if (hasOwn(INTRINSICS, intrinsicRealName)) { - value = INTRINSICS[intrinsicRealName]; - } else if (value != null) { - if (!(part in value)) { - if (!allowMissing) { - throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); - } - return void undefined; - } - if ($gOPD && (i + 1) >= parts.length) { - var desc = $gOPD(value, part); - isOwn = !!desc; - - // By convention, when a data property is converted to an accessor - // property to emulate a data property that does not suffer from - // the override mistake, that accessor's getter is marked with - // an `originalValue` property. Here, when we detect this, we - // uphold the illusion by pretending to see that original data - // property, i.e., returning the value rather than the getter - // itself. - if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { - value = desc.get; - } else { - value = value[part]; - } - } else { - isOwn = hasOwn(value, part); - value = value[part]; - } - - if (isOwn && !skipFurtherCaching) { - INTRINSICS[intrinsicRealName] = value; - } - } - } - return value; -}; - - -/***/ }), - -/***/ "./node_modules/object-is/polyfill.js": -/*!********************************************!*\ - !*** ./node_modules/object-is/polyfill.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/object-is/implementation.js"); - -module.exports = function getPolyfill() { - return typeof Object.is === 'function' ? Object.is : implementation; -}; - - -/***/ }), - -/***/ "./node_modules/object-is/shim.js": -/*!****************************************!*\ - !*** ./node_modules/object-is/shim.js ***! - \****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/object-is/polyfill.js"); -var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js"); - -module.exports = function shimObjectIs() { - var polyfill = getPolyfill(); - define(Object, { is: polyfill }, { - is: function testObjectIs() { - return Object.is !== polyfill; - } - }); - return polyfill; -}; - - -/***/ }), - -/***/ "./node_modules/object-keys/implementation.js": -/*!****************************************************!*\ - !*** ./node_modules/object-keys/implementation.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var keysShim; -if (!Object.keys) { - // modified from https://github.com/es-shims/es5-shim - var has = Object.prototype.hasOwnProperty; - var toStr = Object.prototype.toString; - var isArgs = __webpack_require__(/*! ./isArguments */ "./node_modules/object-keys/isArguments.js"); // eslint-disable-line global-require - var isEnumerable = Object.prototype.propertyIsEnumerable; - var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString'); - var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype'); - var dontEnums = [ - 'toString', - 'toLocaleString', - 'valueOf', - 'hasOwnProperty', - 'isPrototypeOf', - 'propertyIsEnumerable', - 'constructor' - ]; - var equalsConstructorPrototype = function (o) { - var ctor = o.constructor; - return ctor && ctor.prototype === o; - }; - var excludedKeys = { - $applicationCache: true, - $console: true, - $external: true, - $frame: true, - $frameElement: true, - $frames: true, - $innerHeight: true, - $innerWidth: true, - $onmozfullscreenchange: true, - $onmozfullscreenerror: true, - $outerHeight: true, - $outerWidth: true, - $pageXOffset: true, - $pageYOffset: true, - $parent: true, - $scrollLeft: true, - $scrollTop: true, - $scrollX: true, - $scrollY: true, - $self: true, - $webkitIndexedDB: true, - $webkitStorageInfo: true, - $window: true - }; - var hasAutomationEqualityBug = (function () { - /* global window */ - if (typeof window === 'undefined') { return false; } - for (var k in window) { - try { - if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') { - try { - equalsConstructorPrototype(window[k]); - } catch (e) { - return true; - } - } - } catch (e) { - return true; - } - } - return false; - }()); - var equalsConstructorPrototypeIfNotBuggy = function (o) { - /* global window */ - if (typeof window === 'undefined' || !hasAutomationEqualityBug) { - return equalsConstructorPrototype(o); - } - try { - return equalsConstructorPrototype(o); - } catch (e) { - return false; - } - }; - - keysShim = function keys(object) { - var isObject = object !== null && typeof object === 'object'; - var isFunction = toStr.call(object) === '[object Function]'; - var isArguments = isArgs(object); - var isString = isObject && toStr.call(object) === '[object String]'; - var theKeys = []; - - if (!isObject && !isFunction && !isArguments) { - throw new TypeError('Object.keys called on a non-object'); - } - - var skipProto = hasProtoEnumBug && isFunction; - if (isString && object.length > 0 && !has.call(object, 0)) { - for (var i = 0; i < object.length; ++i) { - theKeys.push(String(i)); - } - } - - if (isArguments && object.length > 0) { - for (var j = 0; j < object.length; ++j) { - theKeys.push(String(j)); - } - } else { - for (var name in object) { - if (!(skipProto && name === 'prototype') && has.call(object, name)) { - theKeys.push(String(name)); - } - } - } - - if (hasDontEnumBug) { - var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object); - - for (var k = 0; k < dontEnums.length; ++k) { - if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) { - theKeys.push(dontEnums[k]); - } - } - } - return theKeys; - }; -} -module.exports = keysShim; - - -/***/ }), - -/***/ "./node_modules/object-keys/index.js": -/*!*******************************************!*\ - !*** ./node_modules/object-keys/index.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var slice = Array.prototype.slice; -var isArgs = __webpack_require__(/*! ./isArguments */ "./node_modules/object-keys/isArguments.js"); - -var origKeys = Object.keys; -var keysShim = origKeys ? function keys(o) { return origKeys(o); } : __webpack_require__(/*! ./implementation */ "./node_modules/object-keys/implementation.js"); - -var originalKeys = Object.keys; - -keysShim.shim = function shimObjectKeys() { - if (Object.keys) { - var keysWorksWithArguments = (function () { - // Safari 5.0 bug - var args = Object.keys(arguments); - return args && args.length === arguments.length; - }(1, 2)); - if (!keysWorksWithArguments) { - Object.keys = function keys(object) { // eslint-disable-line func-name-matching - if (isArgs(object)) { - return originalKeys(slice.call(object)); - } - return originalKeys(object); - }; - } - } else { - Object.keys = keysShim; - } - return Object.keys || keysShim; -}; - -module.exports = keysShim; - - -/***/ }), - -/***/ "./node_modules/object-keys/isArguments.js": -/*!*************************************************!*\ - !*** ./node_modules/object-keys/isArguments.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var toStr = Object.prototype.toString; - -module.exports = function isArguments(value) { - var str = toStr.call(value); - var isArgs = str === '[object Arguments]'; - if (!isArgs) { - isArgs = str !== '[object Array]' && - value !== null && - typeof value === 'object' && - typeof value.length === 'number' && - value.length >= 0 && - toStr.call(value.callee) === '[object Function]'; - } - return isArgs; -}; - - -/***/ }), - -/***/ "./node_modules/object.assign/implementation.js": -/*!******************************************************!*\ - !*** ./node_modules/object.assign/implementation.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// modified from https://github.com/es-shims/es6-shim -var keys = __webpack_require__(/*! object-keys */ "./node_modules/object-keys/index.js"); -var canBeObject = function (obj) { - return typeof obj !== 'undefined' && obj !== null; -}; -var hasSymbols = __webpack_require__(/*! has-symbols/shams */ "./node_modules/has-symbols/shams.js")(); -var callBound = __webpack_require__(/*! call-bind/callBound */ "./node_modules/call-bind/callBound.js"); -var toObject = Object; -var $push = callBound('Array.prototype.push'); -var $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable'); -var originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null; - -// eslint-disable-next-line no-unused-vars -module.exports = function assign(target, source1) { - if (!canBeObject(target)) { throw new TypeError('target must be an object'); } - var objTarget = toObject(target); - var s, source, i, props, syms, value, key; - for (s = 1; s < arguments.length; ++s) { - source = toObject(arguments[s]); - props = keys(source); - var getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols); - if (getSymbols) { - syms = getSymbols(source); - for (i = 0; i < syms.length; ++i) { - key = syms[i]; - if ($propIsEnumerable(source, key)) { - $push(props, key); - } - } - } - for (i = 0; i < props.length; ++i) { - key = props[i]; - value = source[key]; - if ($propIsEnumerable(source, key)) { - objTarget[key] = value; - } - } - } - return objTarget; -}; - - -/***/ }), - -/***/ "./node_modules/object.assign/index.js": -/*!*********************************************!*\ - !*** ./node_modules/object.assign/index.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var defineProperties = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js"); -var callBind = __webpack_require__(/*! call-bind */ "./node_modules/call-bind/index.js"); - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/object.assign/implementation.js"); -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/object.assign/polyfill.js"); -var shim = __webpack_require__(/*! ./shim */ "./node_modules/object.assign/shim.js"); - -var polyfill = callBind.apply(getPolyfill()); -// eslint-disable-next-line no-unused-vars -var bound = function assign(target, source1) { - return polyfill(Object, arguments); -}; - -defineProperties(bound, { - getPolyfill: getPolyfill, - implementation: implementation, - shim: shim -}); - -module.exports = bound; - - -/***/ }), - -/***/ "./node_modules/object.assign/polyfill.js": -/*!************************************************!*\ - !*** ./node_modules/object.assign/polyfill.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/object.assign/implementation.js"); - -var lacksProperEnumerationOrder = function () { - if (!Object.assign) { - return false; - } - /* - * v8, specifically in node 4.x, has a bug with incorrect property enumeration order - * note: this does not detect the bug unless there's 20 characters - */ - var str = 'abcdefghijklmnopqrst'; - var letters = str.split(''); - var map = {}; - for (var i = 0; i < letters.length; ++i) { - map[letters[i]] = letters[i]; - } - var obj = Object.assign({}, map); - var actual = ''; - for (var k in obj) { - actual += k; - } - return str !== actual; -}; - -var assignHasPendingExceptions = function () { - if (!Object.assign || !Object.preventExtensions) { - return false; - } - /* - * Firefox 37 still has "pending exception" logic in its Object.assign implementation, - * which is 72% slower than our shim, and Firefox 40's native implementation. - */ - var thrower = Object.preventExtensions({ 1: 2 }); - try { - Object.assign(thrower, 'xy'); - } catch (e) { - return thrower[1] === 'y'; - } - return false; -}; - -module.exports = function getPolyfill() { - if (!Object.assign) { - return implementation; - } - if (lacksProperEnumerationOrder()) { - return implementation; - } - if (assignHasPendingExceptions()) { - return implementation; - } - return Object.assign; -}; - - -/***/ }), - -/***/ "./node_modules/object.assign/shim.js": -/*!********************************************!*\ - !*** ./node_modules/object.assign/shim.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js"); -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/object.assign/polyfill.js"); - -module.exports = function shimAssign() { - var polyfill = getPolyfill(); - define( - Object, - { assign: polyfill }, - { assign: function () { return Object.assign !== polyfill; } } - ); - return polyfill; -}; - - -/***/ }), - -/***/ "./node_modules/object.entries/implementation.js": -/*!*******************************************************!*\ - !*** ./node_modules/object.entries/implementation.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var RequireObjectCoercible = __webpack_require__(/*! es-abstract/2019/RequireObjectCoercible */ "./node_modules/es-abstract/2019/RequireObjectCoercible.js"); -var has = __webpack_require__(/*! has */ "./node_modules/has/src/index.js"); -var callBound = __webpack_require__(/*! es-abstract/helpers/callBound */ "./node_modules/es-abstract/helpers/callBound.js"); -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); - -module.exports = function entries(O) { - var obj = RequireObjectCoercible(O); - var entrys = []; - for (var key in obj) { - if (has(obj, key) && $isEnumerable(obj, key)) { - entrys.push([key, obj[key]]); - } - } - return entrys; -}; - - -/***/ }), - -/***/ "./node_modules/object.entries/index.js": -/*!**********************************************!*\ - !*** ./node_modules/object.entries/index.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js"); -var callBind = __webpack_require__(/*! es-abstract/helpers/callBind */ "./node_modules/es-abstract/helpers/callBind.js"); - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/object.entries/implementation.js"); -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/object.entries/polyfill.js"); -var shim = __webpack_require__(/*! ./shim */ "./node_modules/object.entries/shim.js"); - -var polyfill = callBind(getPolyfill(), Object); - -define(polyfill, { - getPolyfill: getPolyfill, - implementation: implementation, - shim: shim -}); - -module.exports = polyfill; - - -/***/ }), - -/***/ "./node_modules/object.entries/polyfill.js": -/*!*************************************************!*\ - !*** ./node_modules/object.entries/polyfill.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/object.entries/implementation.js"); - -module.exports = function getPolyfill() { - return typeof Object.entries === 'function' ? Object.entries : implementation; -}; - - -/***/ }), - -/***/ "./node_modules/object.entries/shim.js": -/*!*********************************************!*\ - !*** ./node_modules/object.entries/shim.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/object.entries/polyfill.js"); -var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js"); - -module.exports = function shimEntries() { - var polyfill = getPolyfill(); - define(Object, { entries: polyfill }, { - entries: function testEntries() { - return Object.entries !== polyfill; - } - }); - return polyfill; -}; - - -/***/ }), - -/***/ "./node_modules/object.values/implementation.js": -/*!******************************************************!*\ - !*** ./node_modules/object.values/implementation.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var has = __webpack_require__(/*! has */ "./node_modules/has/src/index.js"); -var RequireObjectCoercible = __webpack_require__(/*! es-abstract/2019/RequireObjectCoercible */ "./node_modules/es-abstract/2019/RequireObjectCoercible.js"); -var callBound = __webpack_require__(/*! es-abstract/helpers/callBound */ "./node_modules/es-abstract/helpers/callBound.js"); - -var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); - -module.exports = function values(O) { - var obj = RequireObjectCoercible(O); - var vals = []; - for (var key in obj) { - if (has(obj, key) && $isEnumerable(obj, key)) { - vals.push(obj[key]); - } - } - return vals; -}; - - -/***/ }), - -/***/ "./node_modules/object.values/index.js": -/*!*********************************************!*\ - !*** ./node_modules/object.values/index.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js"); - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/object.values/implementation.js"); -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/object.values/polyfill.js"); -var shim = __webpack_require__(/*! ./shim */ "./node_modules/object.values/shim.js"); - -var polyfill = getPolyfill(); - -define(polyfill, { - getPolyfill: getPolyfill, - implementation: implementation, - shim: shim -}); - -module.exports = polyfill; - - -/***/ }), - -/***/ "./node_modules/object.values/polyfill.js": -/*!************************************************!*\ - !*** ./node_modules/object.values/polyfill.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/object.values/implementation.js"); - -module.exports = function getPolyfill() { - return typeof Object.values === 'function' ? Object.values : implementation; -}; - - -/***/ }), - -/***/ "./node_modules/object.values/shim.js": -/*!********************************************!*\ - !*** ./node_modules/object.values/shim.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var getPolyfill = __webpack_require__(/*! ./polyfill */ "./node_modules/object.values/polyfill.js"); -var define = __webpack_require__(/*! define-properties */ "./node_modules/define-properties/index.js"); - -module.exports = function shimValues() { - var polyfill = getPolyfill(); - define(Object, { values: polyfill }, { - values: function testValues() { - return Object.values !== polyfill; - } - }); - return polyfill; -}; - - -/***/ }), - -/***/ "./node_modules/prop-types-exact/build/helpers/isPlainObject.js": -/*!**********************************************************************!*\ - !*** ./node_modules/prop-types-exact/build/helpers/isPlainObject.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -exports['default'] = isPlainObject; -function isPlainObject(x) { - return x && (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && !Array.isArray(x); -} -module.exports = exports['default']; -//# sourceMappingURL=isPlainObject.js.map - -/***/ }), - -/***/ "./node_modules/prop-types-exact/build/index.js": -/*!******************************************************!*\ - !*** ./node_modules/prop-types-exact/build/index.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports['default'] = forbidExtraProps; - -var _object = __webpack_require__(/*! object.assign */ "./node_modules/object.assign/index.js"); - -var _object2 = _interopRequireDefault(_object); - -var _has = __webpack_require__(/*! has */ "./node_modules/has/src/index.js"); - -var _has2 = _interopRequireDefault(_has); - -var _isPlainObject = __webpack_require__(/*! ./helpers/isPlainObject */ "./node_modules/prop-types-exact/build/helpers/isPlainObject.js"); - -var _isPlainObject2 = _interopRequireDefault(_isPlainObject); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -function _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; } - -var zeroWidthSpace = '\u200B'; -var specialProperty = 'prop-types-exact: ' + zeroWidthSpace; -var semaphore = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' ? Symbol['for'](specialProperty) : /* istanbul ignore next */specialProperty; - -function brand(fn) { - return (0, _object2['default'])(fn, _defineProperty({}, specialProperty, semaphore)); -} - -function isBranded(value) { - return value && value[specialProperty] === semaphore; -} - -function forbidExtraProps(propTypes) { - if (!(0, _isPlainObject2['default'])(propTypes)) { - throw new TypeError('given propTypes must be an object'); - } - if ((0, _has2['default'])(propTypes, specialProperty) && !isBranded(propTypes[specialProperty])) { - throw new TypeError('Against all odds, you created a propType for a prop that uses both the zero-width space and our custom string - which, sadly, conflicts with `prop-types-exact`'); - } - - return (0, _object2['default'])({}, propTypes, _defineProperty({}, specialProperty, brand(function () { - function forbidUnknownProps(props, _, componentName) { - var unknownProps = Object.keys(props).filter(function (prop) { - return !(0, _has2['default'])(propTypes, prop); - }); - if (unknownProps.length > 0) { - return new TypeError(String(componentName) + ': unknown props found: ' + String(unknownProps.join(', '))); - } - return null; - } - - return forbidUnknownProps; - }()))); -} -module.exports = exports['default']; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ "./node_modules/prop-types/checkPropTypes.js": -/*!***************************************************!*\ - !*** ./node_modules/prop-types/checkPropTypes.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -var printWarning = function() {}; - -if (true) { - var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js"); - var loggedTypeFailures = {}; - var has = Function.call.bind(Object.prototype.hasOwnProperty); - - printWarning = function(text) { - var message = 'Warning: ' + text; - if (typeof console !== 'undefined') { - console.error(message); - } - try { - // --- Welcome to debugging React --- - // This error was thrown as a convenience so that you can use this stack - // to find the callsite that caused this warning to fire. - throw new Error(message); - } catch (x) {} - }; -} - -/** - * Assert that the values match with the type specs. - * Error messages are memorized and will only be shown once. - * - * @param {object} typeSpecs Map of name to a ReactPropType - * @param {object} values Runtime values that need to be type-checked - * @param {string} location e.g. "prop", "context", "child context" - * @param {string} componentName Name of the component for error messages. - * @param {?Function} getStack Returns the component stack. - * @private - */ -function checkPropTypes(typeSpecs, values, location, componentName, getStack) { - if (true) { - for (var typeSpecName in typeSpecs) { - if (has(typeSpecs, typeSpecName)) { - var error; - // Prop type validation may throw. In case they do, we don't want to - // fail the render phase where it didn't fail before. So we log it. - // After these have been cleaned up, we'll let them throw. - try { - // This is intentionally an invariant that gets caught. It's the same - // behavior as without this statement except with a better message. - if (typeof typeSpecs[typeSpecName] !== 'function') { - var err = Error( - (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + - 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' - ); - err.name = 'Invariant Violation'; - throw err; - } - error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); - } catch (ex) { - error = ex; - } - if (error && !(error instanceof Error)) { - printWarning( - (componentName || 'React class') + ': type specification of ' + - location + ' `' + typeSpecName + '` is invalid; the type checker ' + - 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + - 'You may have forgotten to pass an argument to the type checker ' + - 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + - 'shape all require an argument).' - ); - } - if (error instanceof Error && !(error.message in loggedTypeFailures)) { - // Only monitor this failure once because there tends to be a lot of the - // same error. - loggedTypeFailures[error.message] = true; - - var stack = getStack ? getStack() : ''; - - printWarning( - 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '') - ); - } - } - } - } -} - -/** - * Resets warning cache when testing. - * - * @private - */ -checkPropTypes.resetWarningCache = function() { - if (true) { - loggedTypeFailures = {}; - } -} - -module.exports = checkPropTypes; - - -/***/ }), - -/***/ "./node_modules/prop-types/factoryWithTypeCheckers.js": -/*!************************************************************!*\ - !*** ./node_modules/prop-types/factoryWithTypeCheckers.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); -var assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js"); - -var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js"); -var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "./node_modules/prop-types/checkPropTypes.js"); - -var has = Function.call.bind(Object.prototype.hasOwnProperty); -var printWarning = function() {}; - -if (true) { - printWarning = function(text) { - var message = 'Warning: ' + text; - if (typeof console !== 'undefined') { - console.error(message); - } - try { - // --- Welcome to debugging React --- - // This error was thrown as a convenience so that you can use this stack - // to find the callsite that caused this warning to fire. - throw new Error(message); - } catch (x) {} - }; -} - -function emptyFunctionThatReturnsNull() { - return null; -} - -module.exports = function(isValidElement, throwOnDirectAccess) { - /* global Symbol */ - var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; - var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. - - /** - * Returns the iterator method function contained on the iterable object. - * - * Be sure to invoke the function with the iterable as context: - * - * var iteratorFn = getIteratorFn(myIterable); - * if (iteratorFn) { - * var iterator = iteratorFn.call(myIterable); - * ... - * } - * - * @param {?object} maybeIterable - * @return {?function} - */ - function getIteratorFn(maybeIterable) { - var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); - if (typeof iteratorFn === 'function') { - return iteratorFn; - } - } - - /** - * Collection of methods that allow declaration and validation of props that are - * supplied to React components. Example usage: - * - * var Props = require('ReactPropTypes'); - * var MyArticle = React.createClass({ - * propTypes: { - * // An optional string prop named "description". - * description: Props.string, - * - * // A required enum prop named "category". - * category: Props.oneOf(['News','Photos']).isRequired, - * - * // A prop named "dialog" that requires an instance of Dialog. - * dialog: Props.instanceOf(Dialog).isRequired - * }, - * render: function() { ... } - * }); - * - * A more formal specification of how these methods are used: - * - * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) - * decl := ReactPropTypes.{type}(.isRequired)? - * - * Each and every declaration produces a function with the same signature. This - * allows the creation of custom validation functions. For example: - * - * var MyLink = React.createClass({ - * propTypes: { - * // An optional string or URI prop named "href". - * href: function(props, propName, componentName) { - * var propValue = props[propName]; - * if (propValue != null && typeof propValue !== 'string' && - * !(propValue instanceof URI)) { - * return new Error( - * 'Expected a string or an URI for ' + propName + ' in ' + - * componentName - * ); - * } - * } - * }, - * render: function() {...} - * }); - * - * @internal - */ - - var ANONYMOUS = '<>'; - - // Important! - // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. - var ReactPropTypes = { - array: createPrimitiveTypeChecker('array'), - bool: createPrimitiveTypeChecker('boolean'), - func: createPrimitiveTypeChecker('function'), - number: createPrimitiveTypeChecker('number'), - object: createPrimitiveTypeChecker('object'), - string: createPrimitiveTypeChecker('string'), - symbol: createPrimitiveTypeChecker('symbol'), - - any: createAnyTypeChecker(), - arrayOf: createArrayOfTypeChecker, - element: createElementTypeChecker(), - elementType: createElementTypeTypeChecker(), - instanceOf: createInstanceTypeChecker, - node: createNodeChecker(), - objectOf: createObjectOfTypeChecker, - oneOf: createEnumTypeChecker, - oneOfType: createUnionTypeChecker, - shape: createShapeTypeChecker, - exact: createStrictShapeTypeChecker, - }; - - /** - * inlined Object.is polyfill to avoid requiring consumers ship their own - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is - */ - /*eslint-disable no-self-compare*/ - function is(x, y) { - // SameValue algorithm - if (x === y) { - // Steps 1-5, 7-10 - // Steps 6.b-6.e: +0 != -0 - return x !== 0 || 1 / x === 1 / y; - } else { - // Step 6.a: NaN == NaN - return x !== x && y !== y; - } - } - /*eslint-enable no-self-compare*/ - - /** - * We use an Error-like object for backward compatibility as people may call - * PropTypes directly and inspect their output. However, we don't use real - * Errors anymore. We don't inspect their stack anyway, and creating them - * is prohibitively expensive if they are created too often, such as what - * happens in oneOfType() for any type before the one that matched. - */ - function PropTypeError(message) { - this.message = message; - this.stack = ''; - } - // Make `instanceof Error` still work for returned errors. - PropTypeError.prototype = Error.prototype; - - function createChainableTypeChecker(validate) { - if (true) { - var manualPropTypeCallCache = {}; - var manualPropTypeWarningCount = 0; - } - function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { - componentName = componentName || ANONYMOUS; - propFullName = propFullName || propName; - - if (secret !== ReactPropTypesSecret) { - if (throwOnDirectAccess) { - // New behavior only for users of `prop-types` package - var err = new Error( - 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + - 'Use `PropTypes.checkPropTypes()` to call them. ' + - 'Read more at http://fb.me/use-check-prop-types' - ); - err.name = 'Invariant Violation'; - throw err; - } else if ( true && typeof console !== 'undefined') { - // Old behavior for people using React.PropTypes - var cacheKey = componentName + ':' + propName; - if ( - !manualPropTypeCallCache[cacheKey] && - // Avoid spamming the console because they are often not actionable except for lib authors - manualPropTypeWarningCount < 3 - ) { - printWarning( - 'You are manually calling a React.PropTypes validation ' + - 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + - 'and will throw in the standalone `prop-types` package. ' + - 'You may be seeing this warning due to a third-party PropTypes ' + - 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.' - ); - manualPropTypeCallCache[cacheKey] = true; - manualPropTypeWarningCount++; - } - } - } - if (props[propName] == null) { - if (isRequired) { - if (props[propName] === null) { - return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); - } - return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); - } - return null; - } else { - return validate(props, propName, componentName, location, propFullName); - } - } - - var chainedCheckType = checkType.bind(null, false); - chainedCheckType.isRequired = checkType.bind(null, true); - - return chainedCheckType; - } - - function createPrimitiveTypeChecker(expectedType) { - function validate(props, propName, componentName, location, propFullName, secret) { - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== expectedType) { - // `propValue` being instance of, say, date/regexp, pass the 'object' - // check, but we can offer a more precise error message here rather than - // 'of type `object`'. - var preciseType = getPreciseType(propValue); - - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createAnyTypeChecker() { - return createChainableTypeChecker(emptyFunctionThatReturnsNull); - } - - function createArrayOfTypeChecker(typeChecker) { - function validate(props, propName, componentName, location, propFullName) { - if (typeof typeChecker !== 'function') { - return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); - } - var propValue = props[propName]; - if (!Array.isArray(propValue)) { - var propType = getPropType(propValue); - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); - } - for (var i = 0; i < propValue.length; i++) { - var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); - if (error instanceof Error) { - return error; - } - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createElementTypeChecker() { - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - if (!isValidElement(propValue)) { - var propType = getPropType(propValue); - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createElementTypeTypeChecker() { - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - if (!ReactIs.isValidElementType(propValue)) { - var propType = getPropType(propValue); - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createInstanceTypeChecker(expectedClass) { - function validate(props, propName, componentName, location, propFullName) { - if (!(props[propName] instanceof expectedClass)) { - var expectedClassName = expectedClass.name || ANONYMOUS; - var actualClassName = getClassName(props[propName]); - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createEnumTypeChecker(expectedValues) { - if (!Array.isArray(expectedValues)) { - if (true) { - if (arguments.length > 1) { - printWarning( - 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' + - 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).' - ); - } else { - printWarning('Invalid argument supplied to oneOf, expected an array.'); - } - } - return emptyFunctionThatReturnsNull; - } - - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - for (var i = 0; i < expectedValues.length; i++) { - if (is(propValue, expectedValues[i])) { - return null; - } - } - - var valuesString = JSON.stringify(expectedValues, function replacer(key, value) { - var type = getPreciseType(value); - if (type === 'symbol') { - return String(value); - } - return value; - }); - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); - } - return createChainableTypeChecker(validate); - } - - function createObjectOfTypeChecker(typeChecker) { - function validate(props, propName, componentName, location, propFullName) { - if (typeof typeChecker !== 'function') { - return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); - } - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== 'object') { - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); - } - for (var key in propValue) { - if (has(propValue, key)) { - var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); - if (error instanceof Error) { - return error; - } - } - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createUnionTypeChecker(arrayOfTypeCheckers) { - if (!Array.isArray(arrayOfTypeCheckers)) { - true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : undefined; - return emptyFunctionThatReturnsNull; - } - - for (var i = 0; i < arrayOfTypeCheckers.length; i++) { - var checker = arrayOfTypeCheckers[i]; - if (typeof checker !== 'function') { - printWarning( - 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + - 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.' - ); - return emptyFunctionThatReturnsNull; - } - } - - function validate(props, propName, componentName, location, propFullName) { - for (var i = 0; i < arrayOfTypeCheckers.length; i++) { - var checker = arrayOfTypeCheckers[i]; - if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) { - return null; - } - } - - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); - } - return createChainableTypeChecker(validate); - } - - function createNodeChecker() { - function validate(props, propName, componentName, location, propFullName) { - if (!isNode(props[propName])) { - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createShapeTypeChecker(shapeTypes) { - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== 'object') { - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); - } - for (var key in shapeTypes) { - var checker = shapeTypes[key]; - if (!checker) { - continue; - } - var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); - if (error) { - return error; - } - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createStrictShapeTypeChecker(shapeTypes) { - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== 'object') { - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); - } - // We need to check all keys in case some are required but missing from - // props. - var allKeys = assign({}, props[propName], shapeTypes); - for (var key in allKeys) { - var checker = shapeTypes[key]; - if (!checker) { - return new PropTypeError( - 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + - '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + - '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') - ); - } - var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); - if (error) { - return error; - } - } - return null; - } - - return createChainableTypeChecker(validate); - } - - function isNode(propValue) { - switch (typeof propValue) { - case 'number': - case 'string': - case 'undefined': - return true; - case 'boolean': - return !propValue; - case 'object': - if (Array.isArray(propValue)) { - return propValue.every(isNode); - } - if (propValue === null || isValidElement(propValue)) { - return true; - } - - var iteratorFn = getIteratorFn(propValue); - if (iteratorFn) { - var iterator = iteratorFn.call(propValue); - var step; - if (iteratorFn !== propValue.entries) { - while (!(step = iterator.next()).done) { - if (!isNode(step.value)) { - return false; - } - } - } else { - // Iterator will provide entry [k,v] tuples rather than values. - while (!(step = iterator.next()).done) { - var entry = step.value; - if (entry) { - if (!isNode(entry[1])) { - return false; - } - } - } - } - } else { - return false; - } - - return true; - default: - return false; - } - } - - function isSymbol(propType, propValue) { - // Native Symbol. - if (propType === 'symbol') { - return true; - } - - // falsy value can't be a Symbol - if (!propValue) { - return false; - } - - // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' - if (propValue['@@toStringTag'] === 'Symbol') { - return true; - } - - // Fallback for non-spec compliant Symbols which are polyfilled. - if (typeof Symbol === 'function' && propValue instanceof Symbol) { - return true; - } - - return false; - } - - // Equivalent of `typeof` but with special handling for array and regexp. - function getPropType(propValue) { - var propType = typeof propValue; - if (Array.isArray(propValue)) { - return 'array'; - } - if (propValue instanceof RegExp) { - // Old webkits (at least until Android 4.0) return 'function' rather than - // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ - // passes PropTypes.object. - return 'object'; - } - if (isSymbol(propType, propValue)) { - return 'symbol'; - } - return propType; - } - - // This handles more types than `getPropType`. Only used for error messages. - // See `createPrimitiveTypeChecker`. - function getPreciseType(propValue) { - if (typeof propValue === 'undefined' || propValue === null) { - return '' + propValue; - } - var propType = getPropType(propValue); - if (propType === 'object') { - if (propValue instanceof Date) { - return 'date'; - } else if (propValue instanceof RegExp) { - return 'regexp'; - } - } - return propType; - } - - // Returns a string that is postfixed to a warning about an invalid type. - // For example, "undefined" or "of type array" - function getPostfixForTypeWarning(value) { - var type = getPreciseType(value); - switch (type) { - case 'array': - case 'object': - return 'an ' + type; - case 'boolean': - case 'date': - case 'regexp': - return 'a ' + type; - default: - return type; - } - } - - // Returns class name of the object, if any. - function getClassName(propValue) { - if (!propValue.constructor || !propValue.constructor.name) { - return ANONYMOUS; - } - return propValue.constructor.name; - } - - ReactPropTypes.checkPropTypes = checkPropTypes; - ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache; - ReactPropTypes.PropTypes = ReactPropTypes; - - return ReactPropTypes; -}; - - -/***/ }), - -/***/ "./node_modules/prop-types/index.js": -/*!******************************************!*\ - !*** ./node_modules/prop-types/index.js ***! - \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -if (true) { - var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); - - // By explicitly using `prop-types` you are opting into new development behavior. - // http://fb.me/prop-types-in-prod - var throwOnDirectAccess = true; - module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "./node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess); -} else {} - - -/***/ }), - -/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js": -/*!*************************************************************!*\ - !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - -module.exports = ReactPropTypesSecret; - - -/***/ }), - -/***/ "./node_modules/react-dom/cjs/react-dom.development.js": -/*!*************************************************************!*\ - !*** ./node_modules/react-dom/cjs/react-dom.development.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** @license React v17.0.2 - * react-dom.development.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. - */ - - - -if (true) { - (function() { -'use strict'; - -var React = __webpack_require__(/*! react */ "./node_modules/react/index.js"); -var _assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js"); -var Scheduler = __webpack_require__(/*! scheduler */ "./node_modules/scheduler/index.js"); -var tracing = __webpack_require__(/*! scheduler/tracing */ "./node_modules/scheduler/tracing.js"); - -var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; - -// by calls to these methods by a Babel plugin. -// -// In PROD (or in packages without access to React internals), -// they are left as they are instead. - -function warn(format) { - { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - printWarning('warn', format, args); - } -} -function error(format) { - { - for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - args[_key2 - 1] = arguments[_key2]; - } - - printWarning('error', format, args); - } -} - -function printWarning(level, format, args) { - // When changing this logic, you might want to also - // update consoleWithStackDev.www.js as well. - { - var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; - var stack = ReactDebugCurrentFrame.getStackAddendum(); - - if (stack !== '') { - format += '%s'; - args = args.concat([stack]); - } - - var argsWithFormat = args.map(function (item) { - return '' + item; - }); // Careful: RN currently depends on this prefix - - argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it - // breaks IE9: https://github.com/facebook/react/issues/13610 - // eslint-disable-next-line react-internal/no-production-logging - - Function.prototype.apply.call(console[level], console, argsWithFormat); - } -} - -if (!React) { - { - throw Error( "ReactDOM was loaded before React. Make sure you load the React package before loading ReactDOM." ); - } -} - -var FunctionComponent = 0; -var ClassComponent = 1; -var IndeterminateComponent = 2; // Before we know whether it is function or class - -var HostRoot = 3; // Root of a host tree. Could be nested inside another node. - -var HostPortal = 4; // A subtree. Could be an entry point to a different renderer. - -var HostComponent = 5; -var HostText = 6; -var Fragment = 7; -var Mode = 8; -var ContextConsumer = 9; -var ContextProvider = 10; -var ForwardRef = 11; -var Profiler = 12; -var SuspenseComponent = 13; -var MemoComponent = 14; -var SimpleMemoComponent = 15; -var LazyComponent = 16; -var IncompleteClassComponent = 17; -var DehydratedFragment = 18; -var SuspenseListComponent = 19; -var FundamentalComponent = 20; -var ScopeComponent = 21; -var Block = 22; -var OffscreenComponent = 23; -var LegacyHiddenComponent = 24; - -// Filter certain DOM attributes (e.g. src, href) if their values are empty strings. - -var enableProfilerTimer = true; // Record durations for commit and passive effects phases. - -var enableFundamentalAPI = false; // Experimental Scope support. -var enableNewReconciler = false; // Errors that are thrown while unmounting (or after in the case of passive effects) -var warnAboutStringRefs = false; - -var allNativeEvents = new Set(); -/** - * Mapping from registration name to event name - */ - - -var registrationNameDependencies = {}; -/** - * Mapping from lowercase registration names to the properly cased version, - * used to warn in the case of missing event handlers. Available - * only in true. - * @type {Object} - */ - -var possibleRegistrationNames = {} ; // Trust the developer to only use possibleRegistrationNames in true - -function registerTwoPhaseEvent(registrationName, dependencies) { - registerDirectEvent(registrationName, dependencies); - registerDirectEvent(registrationName + 'Capture', dependencies); -} -function registerDirectEvent(registrationName, dependencies) { - { - if (registrationNameDependencies[registrationName]) { - error('EventRegistry: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName); - } - } - - registrationNameDependencies[registrationName] = dependencies; - - { - var lowerCasedName = registrationName.toLowerCase(); - possibleRegistrationNames[lowerCasedName] = registrationName; - - if (registrationName === 'onDoubleClick') { - possibleRegistrationNames.ondblclick = registrationName; - } - } - - for (var i = 0; i < dependencies.length; i++) { - allNativeEvents.add(dependencies[i]); - } -} - -var canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined'); - -// A reserved attribute. -// It is handled by React separately and shouldn't be written to the DOM. -var RESERVED = 0; // A simple string attribute. -// Attributes that aren't in the filter are presumed to have this type. - -var STRING = 1; // A string attribute that accepts booleans in React. In HTML, these are called -// "enumerated" attributes with "true" and "false" as possible values. -// When true, it should be set to a "true" string. -// When false, it should be set to a "false" string. - -var BOOLEANISH_STRING = 2; // A real boolean attribute. -// When true, it should be present (set either to an empty string or its name). -// When false, it should be omitted. - -var BOOLEAN = 3; // An attribute that can be used as a flag as well as with a value. -// When true, it should be present (set either to an empty string or its name). -// When false, it should be omitted. -// For any other value, should be present with that value. - -var OVERLOADED_BOOLEAN = 4; // An attribute that must be numeric or parse as a numeric. -// When falsy, it should be removed. - -var NUMERIC = 5; // An attribute that must be positive numeric or parse as a positive numeric. -// When falsy, it should be removed. - -var POSITIVE_NUMERIC = 6; - -/* eslint-disable max-len */ -var ATTRIBUTE_NAME_START_CHAR = ":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"; -/* eslint-enable max-len */ - -var ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040"; -var ROOT_ATTRIBUTE_NAME = 'data-reactroot'; -var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$'); -var hasOwnProperty = Object.prototype.hasOwnProperty; -var illegalAttributeNameCache = {}; -var validatedAttributeNameCache = {}; -function isAttributeNameSafe(attributeName) { - if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) { - return true; - } - - if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) { - return false; - } - - if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) { - validatedAttributeNameCache[attributeName] = true; - return true; - } - - illegalAttributeNameCache[attributeName] = true; - - { - error('Invalid attribute name: `%s`', attributeName); - } - - return false; -} -function shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) { - if (propertyInfo !== null) { - return propertyInfo.type === RESERVED; - } - - if (isCustomComponentTag) { - return false; - } - - if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) { - return true; - } - - return false; -} -function shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) { - if (propertyInfo !== null && propertyInfo.type === RESERVED) { - return false; - } - - switch (typeof value) { - case 'function': // $FlowIssue symbol is perfectly valid here - - case 'symbol': - // eslint-disable-line - return true; - - case 'boolean': - { - if (isCustomComponentTag) { - return false; - } - - if (propertyInfo !== null) { - return !propertyInfo.acceptsBooleans; - } else { - var prefix = name.toLowerCase().slice(0, 5); - return prefix !== 'data-' && prefix !== 'aria-'; - } - } - - default: - return false; - } -} -function shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) { - if (value === null || typeof value === 'undefined') { - return true; - } - - if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) { - return true; - } - - if (isCustomComponentTag) { - return false; - } - - if (propertyInfo !== null) { - - switch (propertyInfo.type) { - case BOOLEAN: - return !value; - - case OVERLOADED_BOOLEAN: - return value === false; - - case NUMERIC: - return isNaN(value); - - case POSITIVE_NUMERIC: - return isNaN(value) || value < 1; - } - } - - return false; -} -function getPropertyInfo(name) { - return properties.hasOwnProperty(name) ? properties[name] : null; -} - -function PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL, removeEmptyString) { - this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN; - this.attributeName = attributeName; - this.attributeNamespace = attributeNamespace; - this.mustUseProperty = mustUseProperty; - this.propertyName = name; - this.type = type; - this.sanitizeURL = sanitizeURL; - this.removeEmptyString = removeEmptyString; -} // When adding attributes to this list, be sure to also add them to -// the `possibleStandardNames` module to ensure casing and incorrect -// name warnings. - - -var properties = {}; // These props are reserved by React. They shouldn't be written to the DOM. - -var reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular -// elements (not just inputs). Now that ReactDOMInput assigns to the -// defaultValue property -- do we need this? -'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style']; -reservedProps.forEach(function (name) { - properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty - name, // attributeName - null, // attributeNamespace - false, // sanitizeURL - false); -}); // A few React string attributes have a different name. -// This is a mapping from React prop names to the attribute names. - -[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) { - var name = _ref[0], - attributeName = _ref[1]; - properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty - attributeName, // attributeName - null, // attributeNamespace - false, // sanitizeURL - false); -}); // These are "enumerated" HTML attributes that accept "true" and "false". -// In React, we let users pass `true` and `false` even though technically -// these aren't boolean attributes (they are coerced to strings). - -['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (name) { - properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty - name.toLowerCase(), // attributeName - null, // attributeNamespace - false, // sanitizeURL - false); -}); // These are "enumerated" SVG attributes that accept "true" and "false". -// In React, we let users pass `true` and `false` even though technically -// these aren't boolean attributes (they are coerced to strings). -// Since these are SVG attributes, their attribute names are case-sensitive. - -['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(function (name) { - properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty - name, // attributeName - null, // attributeNamespace - false, // sanitizeURL - false); -}); // These are HTML boolean attributes. - -['allowFullScreen', 'async', // Note: there is a special case that prevents it from being written to the DOM -// on the client side because the browsers are inconsistent. Instead we call focus(). -'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'disablePictureInPicture', 'disableRemotePlayback', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless', // Microdata -'itemScope'].forEach(function (name) { - properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty - name.toLowerCase(), // attributeName - null, // attributeNamespace - false, // sanitizeURL - false); -}); // These are the few React props that we set as DOM properties -// rather than attributes. These are all booleans. - -['checked', // Note: `option.selected` is not updated if `select.multiple` is -// disabled with `removeAttribute`. We have special logic for handling this. -'multiple', 'muted', 'selected' // NOTE: if you add a camelCased prop to this list, -// you'll need to set attributeName to name.toLowerCase() -// instead in the assignment below. -].forEach(function (name) { - properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty - name, // attributeName - null, // attributeNamespace - false, // sanitizeURL - false); -}); // These are HTML attributes that are "overloaded booleans": they behave like -// booleans, but can also accept a string value. - -['capture', 'download' // NOTE: if you add a camelCased prop to this list, -// you'll need to set attributeName to name.toLowerCase() -// instead in the assignment below. -].forEach(function (name) { - properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty - name, // attributeName - null, // attributeNamespace - false, // sanitizeURL - false); -}); // These are HTML attributes that must be positive numbers. - -['cols', 'rows', 'size', 'span' // NOTE: if you add a camelCased prop to this list, -// you'll need to set attributeName to name.toLowerCase() -// instead in the assignment below. -].forEach(function (name) { - properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty - name, // attributeName - null, // attributeNamespace - false, // sanitizeURL - false); -}); // These are HTML attributes that must be numbers. - -['rowSpan', 'start'].forEach(function (name) { - properties[name] = new PropertyInfoRecord(name, NUMERIC, false, // mustUseProperty - name.toLowerCase(), // attributeName - null, // attributeNamespace - false, // sanitizeURL - false); -}); -var CAMELIZE = /[\-\:]([a-z])/g; - -var capitalize = function (token) { - return token[1].toUpperCase(); -}; // This is a list of all SVG attributes that need special casing, namespacing, -// or boolean value assignment. Regular attributes that just accept strings -// and have the same names are omitted, just like in the HTML attribute filter. -// Some of these attributes can be hard to find. This list was created by -// scraping the MDN documentation. - - -['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' // NOTE: if you add a camelCased prop to this list, -// you'll need to set attributeName to name.toLowerCase() -// instead in the assignment below. -].forEach(function (attributeName) { - var name = attributeName.replace(CAMELIZE, capitalize); - properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty - attributeName, null, // attributeNamespace - false, // sanitizeURL - false); -}); // String SVG attributes with the xlink namespace. - -['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type' // NOTE: if you add a camelCased prop to this list, -// you'll need to set attributeName to name.toLowerCase() -// instead in the assignment below. -].forEach(function (attributeName) { - var name = attributeName.replace(CAMELIZE, capitalize); - properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty - attributeName, 'http://www.w3.org/1999/xlink', false, // sanitizeURL - false); -}); // String SVG attributes with the xml namespace. - -['xml:base', 'xml:lang', 'xml:space' // NOTE: if you add a camelCased prop to this list, -// you'll need to set attributeName to name.toLowerCase() -// instead in the assignment below. -].forEach(function (attributeName) { - var name = attributeName.replace(CAMELIZE, capitalize); - properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty - attributeName, 'http://www.w3.org/XML/1998/namespace', false, // sanitizeURL - false); -}); // These attribute exists both in HTML and SVG. -// The attribute name is case-sensitive in SVG so we can't just use -// the React name like we do for attributes that exist only in HTML. - -['tabIndex', 'crossOrigin'].forEach(function (attributeName) { - properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty - attributeName.toLowerCase(), // attributeName - null, // attributeNamespace - false, // sanitizeURL - false); -}); // These attributes accept URLs. These must not allow javascript: URLS. -// These will also need to accept Trusted Types object in the future. - -var xlinkHref = 'xlinkHref'; -properties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, // mustUseProperty -'xlink:href', 'http://www.w3.org/1999/xlink', true, // sanitizeURL -false); -['src', 'href', 'action', 'formAction'].forEach(function (attributeName) { - properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty - attributeName.toLowerCase(), // attributeName - null, // attributeNamespace - true, // sanitizeURL - true); -}); - -// and any newline or tab are filtered out as if they're not part of the URL. -// https://url.spec.whatwg.org/#url-parsing -// Tab or newline are defined as \r\n\t: -// https://infra.spec.whatwg.org/#ascii-tab-or-newline -// A C0 control is a code point in the range \u0000 NULL to \u001F -// INFORMATION SEPARATOR ONE, inclusive: -// https://infra.spec.whatwg.org/#c0-control-or-space - -/* eslint-disable max-len */ - -var isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i; -var didWarn = false; - -function sanitizeURL(url) { - { - if (!didWarn && isJavaScriptProtocol.test(url)) { - didWarn = true; - - error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url)); - } - } -} - -/** - * Get the value for a property on a node. Only used in DEV for SSR validation. - * The "expected" argument is used as a hint of what the expected value is. - * Some properties have multiple equivalent values. - */ -function getValueForProperty(node, name, expected, propertyInfo) { - { - if (propertyInfo.mustUseProperty) { - var propertyName = propertyInfo.propertyName; - return node[propertyName]; - } else { - if ( propertyInfo.sanitizeURL) { - // If we haven't fully disabled javascript: URLs, and if - // the hydration is successful of a javascript: URL, we - // still want to warn on the client. - sanitizeURL('' + expected); - } - - var attributeName = propertyInfo.attributeName; - var stringValue = null; - - if (propertyInfo.type === OVERLOADED_BOOLEAN) { - if (node.hasAttribute(attributeName)) { - var value = node.getAttribute(attributeName); - - if (value === '') { - return true; - } - - if (shouldRemoveAttribute(name, expected, propertyInfo, false)) { - return value; - } - - if (value === '' + expected) { - return expected; - } - - return value; - } - } else if (node.hasAttribute(attributeName)) { - if (shouldRemoveAttribute(name, expected, propertyInfo, false)) { - // We had an attribute but shouldn't have had one, so read it - // for the error message. - return node.getAttribute(attributeName); - } - - if (propertyInfo.type === BOOLEAN) { - // If this was a boolean, it doesn't matter what the value is - // the fact that we have it is the same as the expected. - return expected; - } // Even if this property uses a namespace we use getAttribute - // because we assume its namespaced name is the same as our config. - // To use getAttributeNS we need the local name which we don't have - // in our config atm. - - - stringValue = node.getAttribute(attributeName); - } - - if (shouldRemoveAttribute(name, expected, propertyInfo, false)) { - return stringValue === null ? expected : stringValue; - } else if (stringValue === '' + expected) { - return expected; - } else { - return stringValue; - } - } - } -} -/** - * Get the value for a attribute on a node. Only used in DEV for SSR validation. - * The third argument is used as a hint of what the expected value is. Some - * attributes have multiple equivalent values. - */ - -function getValueForAttribute(node, name, expected) { - { - if (!isAttributeNameSafe(name)) { - return; - } // If the object is an opaque reference ID, it's expected that - // the next prop is different than the server value, so just return - // expected - - - if (isOpaqueHydratingObject(expected)) { - return expected; - } - - if (!node.hasAttribute(name)) { - return expected === undefined ? undefined : null; - } - - var value = node.getAttribute(name); - - if (value === '' + expected) { - return expected; - } - - return value; - } -} -/** - * Sets the value for a property on a node. - * - * @param {DOMElement} node - * @param {string} name - * @param {*} value - */ - -function setValueForProperty(node, name, value, isCustomComponentTag) { - var propertyInfo = getPropertyInfo(name); - - if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) { - return; - } - - if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) { - value = null; - } // If the prop isn't in the special list, treat it as a simple attribute. - - - if (isCustomComponentTag || propertyInfo === null) { - if (isAttributeNameSafe(name)) { - var _attributeName = name; - - if (value === null) { - node.removeAttribute(_attributeName); - } else { - node.setAttribute(_attributeName, '' + value); - } - } - - return; - } - - var mustUseProperty = propertyInfo.mustUseProperty; - - if (mustUseProperty) { - var propertyName = propertyInfo.propertyName; - - if (value === null) { - var type = propertyInfo.type; - node[propertyName] = type === BOOLEAN ? false : ''; - } else { - // Contrary to `setAttribute`, object properties are properly - // `toString`ed by IE8/9. - node[propertyName] = value; - } - - return; - } // The rest are treated as attributes with special cases. - - - var attributeName = propertyInfo.attributeName, - attributeNamespace = propertyInfo.attributeNamespace; - - if (value === null) { - node.removeAttribute(attributeName); - } else { - var _type = propertyInfo.type; - var attributeValue; - - if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) { - // If attribute type is boolean, we know for sure it won't be an execution sink - // and we won't require Trusted Type here. - attributeValue = ''; - } else { - // `setAttribute` with objects becomes only `[object]` in IE8/9, - // ('' + value) makes it output the correct toString()-value. - { - attributeValue = '' + value; - } - - if (propertyInfo.sanitizeURL) { - sanitizeURL(attributeValue.toString()); - } - } - - if (attributeNamespace) { - node.setAttributeNS(attributeNamespace, attributeName, attributeValue); - } else { - node.setAttribute(attributeName, attributeValue); - } - } -} - -// ATTENTION -// When adding new symbols to this file, -// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols' -// The Symbol used to tag the ReactElement-like types. If there is no native Symbol -// nor polyfill, then a plain number is used for performance. -var REACT_ELEMENT_TYPE = 0xeac7; -var REACT_PORTAL_TYPE = 0xeaca; -var REACT_FRAGMENT_TYPE = 0xeacb; -var REACT_STRICT_MODE_TYPE = 0xeacc; -var REACT_PROFILER_TYPE = 0xead2; -var REACT_PROVIDER_TYPE = 0xeacd; -var REACT_CONTEXT_TYPE = 0xeace; -var REACT_FORWARD_REF_TYPE = 0xead0; -var REACT_SUSPENSE_TYPE = 0xead1; -var REACT_SUSPENSE_LIST_TYPE = 0xead8; -var REACT_MEMO_TYPE = 0xead3; -var REACT_LAZY_TYPE = 0xead4; -var REACT_BLOCK_TYPE = 0xead9; -var REACT_SERVER_BLOCK_TYPE = 0xeada; -var REACT_FUNDAMENTAL_TYPE = 0xead5; -var REACT_SCOPE_TYPE = 0xead7; -var REACT_OPAQUE_ID_TYPE = 0xeae0; -var REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1; -var REACT_OFFSCREEN_TYPE = 0xeae2; -var REACT_LEGACY_HIDDEN_TYPE = 0xeae3; - -if (typeof Symbol === 'function' && Symbol.for) { - var symbolFor = Symbol.for; - REACT_ELEMENT_TYPE = symbolFor('react.element'); - REACT_PORTAL_TYPE = symbolFor('react.portal'); - REACT_FRAGMENT_TYPE = symbolFor('react.fragment'); - REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode'); - REACT_PROFILER_TYPE = symbolFor('react.profiler'); - REACT_PROVIDER_TYPE = symbolFor('react.provider'); - REACT_CONTEXT_TYPE = symbolFor('react.context'); - REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref'); - REACT_SUSPENSE_TYPE = symbolFor('react.suspense'); - REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list'); - REACT_MEMO_TYPE = symbolFor('react.memo'); - REACT_LAZY_TYPE = symbolFor('react.lazy'); - REACT_BLOCK_TYPE = symbolFor('react.block'); - REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block'); - REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental'); - REACT_SCOPE_TYPE = symbolFor('react.scope'); - REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id'); - REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode'); - REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen'); - REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden'); -} - -var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; -var FAUX_ITERATOR_SYMBOL = '@@iterator'; -function getIteratorFn(maybeIterable) { - if (maybeIterable === null || typeof maybeIterable !== 'object') { - return null; - } - - var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; - - if (typeof maybeIterator === 'function') { - return maybeIterator; - } - - return null; -} - -// Helpers to patch console.logs to avoid logging during side-effect free -// replaying on render function. This currently only patches the object -// lazily which won't cover if the log function was extracted eagerly. -// We could also eagerly patch the method. -var disabledDepth = 0; -var prevLog; -var prevInfo; -var prevWarn; -var prevError; -var prevGroup; -var prevGroupCollapsed; -var prevGroupEnd; - -function disabledLog() {} - -disabledLog.__reactDisabledLog = true; -function disableLogs() { - { - if (disabledDepth === 0) { - /* eslint-disable react-internal/no-production-logging */ - prevLog = console.log; - prevInfo = console.info; - prevWarn = console.warn; - prevError = console.error; - prevGroup = console.group; - prevGroupCollapsed = console.groupCollapsed; - prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099 - - var props = { - configurable: true, - enumerable: true, - value: disabledLog, - writable: true - }; // $FlowFixMe Flow thinks console is immutable. - - Object.defineProperties(console, { - info: props, - log: props, - warn: props, - error: props, - group: props, - groupCollapsed: props, - groupEnd: props - }); - /* eslint-enable react-internal/no-production-logging */ - } - - disabledDepth++; - } -} -function reenableLogs() { - { - disabledDepth--; - - if (disabledDepth === 0) { - /* eslint-disable react-internal/no-production-logging */ - var props = { - configurable: true, - enumerable: true, - writable: true - }; // $FlowFixMe Flow thinks console is immutable. - - Object.defineProperties(console, { - log: _assign({}, props, { - value: prevLog - }), - info: _assign({}, props, { - value: prevInfo - }), - warn: _assign({}, props, { - value: prevWarn - }), - error: _assign({}, props, { - value: prevError - }), - group: _assign({}, props, { - value: prevGroup - }), - groupCollapsed: _assign({}, props, { - value: prevGroupCollapsed - }), - groupEnd: _assign({}, props, { - value: prevGroupEnd - }) - }); - /* eslint-enable react-internal/no-production-logging */ - } - - if (disabledDepth < 0) { - error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.'); - } - } -} - -var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; -var prefix; -function describeBuiltInComponentFrame(name, source, ownerFn) { - { - if (prefix === undefined) { - // Extract the VM specific prefix used by each line. - try { - throw Error(); - } catch (x) { - var match = x.stack.trim().match(/\n( *(at )?)/); - prefix = match && match[1] || ''; - } - } // We use the prefix to ensure our stacks line up with native stack frames. - - - return '\n' + prefix + name; - } -} -var reentry = false; -var componentFrameCache; - -{ - var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; - componentFrameCache = new PossiblyWeakMap(); -} - -function describeNativeComponentFrame(fn, construct) { - // If something asked for a stack inside a fake render, it should get ignored. - if (!fn || reentry) { - return ''; - } - - { - var frame = componentFrameCache.get(fn); - - if (frame !== undefined) { - return frame; - } - } - - var control; - reentry = true; - var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined. - - Error.prepareStackTrace = undefined; - var previousDispatcher; - - { - previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function - // for warnings. - - ReactCurrentDispatcher.current = null; - disableLogs(); - } - - try { - // This should throw. - if (construct) { - // Something should be setting the props in the constructor. - var Fake = function () { - throw Error(); - }; // $FlowFixMe - - - Object.defineProperty(Fake.prototype, 'props', { - set: function () { - // We use a throwing setter instead of frozen or non-writable props - // because that won't throw in a non-strict mode function. - throw Error(); - } - }); - - if (typeof Reflect === 'object' && Reflect.construct) { - // We construct a different control for this case to include any extra - // frames added by the construct call. - try { - Reflect.construct(Fake, []); - } catch (x) { - control = x; - } - - Reflect.construct(fn, [], Fake); - } else { - try { - Fake.call(); - } catch (x) { - control = x; - } - - fn.call(Fake.prototype); - } - } else { - try { - throw Error(); - } catch (x) { - control = x; - } - - fn(); - } - } catch (sample) { - // This is inlined manually because closure doesn't do it for us. - if (sample && control && typeof sample.stack === 'string') { - // This extracts the first frame from the sample that isn't also in the control. - // Skipping one frame that we assume is the frame that calls the two. - var sampleLines = sample.stack.split('\n'); - var controlLines = control.stack.split('\n'); - var s = sampleLines.length - 1; - var c = controlLines.length - 1; - - while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { - // We expect at least one stack frame to be shared. - // Typically this will be the root most one. However, stack frames may be - // cut off due to maximum stack limits. In this case, one maybe cut off - // earlier than the other. We assume that the sample is longer or the same - // and there for cut off earlier. So we should find the root most frame in - // the sample somewhere in the control. - c--; - } - - for (; s >= 1 && c >= 0; s--, c--) { - // Next we find the first one that isn't the same which should be the - // frame that called our sample function and the control. - if (sampleLines[s] !== controlLines[c]) { - // In V8, the first line is describing the message but other VMs don't. - // If we're about to return the first line, and the control is also on the same - // line, that's a pretty good indicator that our sample threw at same line as - // the control. I.e. before we entered the sample frame. So we ignore this result. - // This can happen if you passed a class to function component, or non-function. - if (s !== 1 || c !== 1) { - do { - s--; - c--; // We may still have similar intermediate frames from the construct call. - // The next one that isn't the same should be our match though. - - if (c < 0 || sampleLines[s] !== controlLines[c]) { - // V8 adds a "new" prefix for native classes. Let's remove it to make it prettier. - var _frame = '\n' + sampleLines[s].replace(' at new ', ' at '); - - { - if (typeof fn === 'function') { - componentFrameCache.set(fn, _frame); - } - } // Return the line we found. - - - return _frame; - } - } while (s >= 1 && c >= 0); - } - - break; - } - } - } - } finally { - reentry = false; - - { - ReactCurrentDispatcher.current = previousDispatcher; - reenableLogs(); - } - - Error.prepareStackTrace = previousPrepareStackTrace; - } // Fallback to just using the name if we couldn't make it throw. - - - var name = fn ? fn.displayName || fn.name : ''; - var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ''; - - { - if (typeof fn === 'function') { - componentFrameCache.set(fn, syntheticFrame); - } - } - - return syntheticFrame; -} - -function describeClassComponentFrame(ctor, source, ownerFn) { - { - return describeNativeComponentFrame(ctor, true); - } -} -function describeFunctionComponentFrame(fn, source, ownerFn) { - { - return describeNativeComponentFrame(fn, false); - } -} - -function shouldConstruct(Component) { - var prototype = Component.prototype; - return !!(prototype && prototype.isReactComponent); -} - -function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { - - if (type == null) { - return ''; - } - - if (typeof type === 'function') { - { - return describeNativeComponentFrame(type, shouldConstruct(type)); - } - } - - if (typeof type === 'string') { - return describeBuiltInComponentFrame(type); - } - - switch (type) { - case REACT_SUSPENSE_TYPE: - return describeBuiltInComponentFrame('Suspense'); - - case REACT_SUSPENSE_LIST_TYPE: - return describeBuiltInComponentFrame('SuspenseList'); - } - - if (typeof type === 'object') { - switch (type.$$typeof) { - case REACT_FORWARD_REF_TYPE: - return describeFunctionComponentFrame(type.render); - - case REACT_MEMO_TYPE: - // Memo may contain any component type so we recursively resolve it. - return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn); - - case REACT_BLOCK_TYPE: - return describeFunctionComponentFrame(type._render); - - case REACT_LAZY_TYPE: - { - var lazyComponent = type; - var payload = lazyComponent._payload; - var init = lazyComponent._init; - - try { - // Lazy may contain any component type so we recursively resolve it. - return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); - } catch (x) {} - } - } - } - - return ''; -} - -function describeFiber(fiber) { - var owner = fiber._debugOwner ? fiber._debugOwner.type : null ; - var source = fiber._debugSource ; - - switch (fiber.tag) { - case HostComponent: - return describeBuiltInComponentFrame(fiber.type); - - case LazyComponent: - return describeBuiltInComponentFrame('Lazy'); - - case SuspenseComponent: - return describeBuiltInComponentFrame('Suspense'); - - case SuspenseListComponent: - return describeBuiltInComponentFrame('SuspenseList'); - - case FunctionComponent: - case IndeterminateComponent: - case SimpleMemoComponent: - return describeFunctionComponentFrame(fiber.type); - - case ForwardRef: - return describeFunctionComponentFrame(fiber.type.render); - - case Block: - return describeFunctionComponentFrame(fiber.type._render); - - case ClassComponent: - return describeClassComponentFrame(fiber.type); - - default: - return ''; - } -} - -function getStackByFiberInDevAndProd(workInProgress) { - try { - var info = ''; - var node = workInProgress; - - do { - info += describeFiber(node); - node = node.return; - } while (node); - - return info; - } catch (x) { - return '\nError generating stack: ' + x.message + '\n' + x.stack; - } -} - -function getWrappedName(outerType, innerType, wrapperName) { - var functionName = innerType.displayName || innerType.name || ''; - return outerType.displayName || (functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName); -} - -function getContextName(type) { - return type.displayName || 'Context'; -} - -function getComponentName(type) { - if (type == null) { - // Host root, text node or just invalid type. - return null; - } - - { - if (typeof type.tag === 'number') { - error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.'); - } - } - - if (typeof type === 'function') { - return type.displayName || type.name || null; - } - - if (typeof type === 'string') { - return type; - } - - switch (type) { - case REACT_FRAGMENT_TYPE: - return 'Fragment'; - - case REACT_PORTAL_TYPE: - return 'Portal'; - - case REACT_PROFILER_TYPE: - return 'Profiler'; - - case REACT_STRICT_MODE_TYPE: - return 'StrictMode'; - - case REACT_SUSPENSE_TYPE: - return 'Suspense'; - - case REACT_SUSPENSE_LIST_TYPE: - return 'SuspenseList'; - } - - if (typeof type === 'object') { - switch (type.$$typeof) { - case REACT_CONTEXT_TYPE: - var context = type; - return getContextName(context) + '.Consumer'; - - case REACT_PROVIDER_TYPE: - var provider = type; - return getContextName(provider._context) + '.Provider'; - - case REACT_FORWARD_REF_TYPE: - return getWrappedName(type, type.render, 'ForwardRef'); - - case REACT_MEMO_TYPE: - return getComponentName(type.type); - - case REACT_BLOCK_TYPE: - return getComponentName(type._render); - - case REACT_LAZY_TYPE: - { - var lazyComponent = type; - var payload = lazyComponent._payload; - var init = lazyComponent._init; - - try { - return getComponentName(init(payload)); - } catch (x) { - return null; - } - } - } - } - - return null; -} - -var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; -var current = null; -var isRendering = false; -function getCurrentFiberOwnerNameInDevOrNull() { - { - if (current === null) { - return null; - } - - var owner = current._debugOwner; - - if (owner !== null && typeof owner !== 'undefined') { - return getComponentName(owner.type); - } - } - - return null; -} - -function getCurrentFiberStackInDev() { - { - if (current === null) { - return ''; - } // Safe because if current fiber exists, we are reconciling, - // and it is guaranteed to be the work-in-progress version. - - - return getStackByFiberInDevAndProd(current); - } -} - -function resetCurrentFiber() { - { - ReactDebugCurrentFrame.getCurrentStack = null; - current = null; - isRendering = false; - } -} -function setCurrentFiber(fiber) { - { - ReactDebugCurrentFrame.getCurrentStack = getCurrentFiberStackInDev; - current = fiber; - isRendering = false; - } -} -function setIsRendering(rendering) { - { - isRendering = rendering; - } -} -function getIsRendering() { - { - return isRendering; - } -} - -// Flow does not allow string concatenation of most non-string types. To work -// around this limitation, we use an opaque type that can only be obtained by -// passing the value through getToStringValue first. -function toString(value) { - return '' + value; -} -function getToStringValue(value) { - switch (typeof value) { - case 'boolean': - case 'number': - case 'object': - case 'string': - case 'undefined': - return value; - - default: - // function, symbol are assigned as empty strings - return ''; - } -} - -var hasReadOnlyValue = { - button: true, - checkbox: true, - image: true, - hidden: true, - radio: true, - reset: true, - submit: true -}; -function checkControlledValueProps(tagName, props) { - { - if (!(hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || props.value == null)) { - error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.'); - } - - if (!(props.onChange || props.readOnly || props.disabled || props.checked == null)) { - error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.'); - } - } -} - -function isCheckable(elem) { - var type = elem.type; - var nodeName = elem.nodeName; - return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio'); -} - -function getTracker(node) { - return node._valueTracker; -} - -function detachTracker(node) { - node._valueTracker = null; -} - -function getValueFromNode(node) { - var value = ''; - - if (!node) { - return value; - } - - if (isCheckable(node)) { - value = node.checked ? 'true' : 'false'; - } else { - value = node.value; - } - - return value; -} - -function trackValueOnNode(node) { - var valueField = isCheckable(node) ? 'checked' : 'value'; - var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField); - var currentValue = '' + node[valueField]; // if someone has already defined a value or Safari, then bail - // and don't track value will cause over reporting of changes, - // but it's better then a hard failure - // (needed for certain tests that spyOn input values and Safari) - - if (node.hasOwnProperty(valueField) || typeof descriptor === 'undefined' || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') { - return; - } - - var get = descriptor.get, - set = descriptor.set; - Object.defineProperty(node, valueField, { - configurable: true, - get: function () { - return get.call(this); - }, - set: function (value) { - currentValue = '' + value; - set.call(this, value); - } - }); // We could've passed this the first time - // but it triggers a bug in IE11 and Edge 14/15. - // Calling defineProperty() again should be equivalent. - // https://github.com/facebook/react/issues/11768 - - Object.defineProperty(node, valueField, { - enumerable: descriptor.enumerable - }); - var tracker = { - getValue: function () { - return currentValue; - }, - setValue: function (value) { - currentValue = '' + value; - }, - stopTracking: function () { - detachTracker(node); - delete node[valueField]; - } - }; - return tracker; -} - -function track(node) { - if (getTracker(node)) { - return; - } // TODO: Once it's just Fiber we can move this to node._wrapperState - - - node._valueTracker = trackValueOnNode(node); -} -function updateValueIfChanged(node) { - if (!node) { - return false; - } - - var tracker = getTracker(node); // if there is no tracker at this point it's unlikely - // that trying again will succeed - - if (!tracker) { - return true; - } - - var lastValue = tracker.getValue(); - var nextValue = getValueFromNode(node); - - if (nextValue !== lastValue) { - tracker.setValue(nextValue); - return true; - } - - return false; -} - -function getActiveElement(doc) { - doc = doc || (typeof document !== 'undefined' ? document : undefined); - - if (typeof doc === 'undefined') { - return null; - } - - try { - return doc.activeElement || doc.body; - } catch (e) { - return doc.body; - } -} - -var didWarnValueDefaultValue = false; -var didWarnCheckedDefaultChecked = false; -var didWarnControlledToUncontrolled = false; -var didWarnUncontrolledToControlled = false; - -function isControlled(props) { - var usesChecked = props.type === 'checkbox' || props.type === 'radio'; - return usesChecked ? props.checked != null : props.value != null; -} -/** - * Implements an host component that allows setting these optional - * props: `checked`, `value`, `defaultChecked`, and `defaultValue`. - * - * If `checked` or `value` are not supplied (or null/undefined), user actions - * that affect the checked state or value will trigger updates to the element. - * - * If they are supplied (and not null/undefined), the rendered element will not - * trigger updates to the element. Instead, the props must change in order for - * the rendered element to be updated. - * - * The rendered element will be initialized as unchecked (or `defaultChecked`) - * with an empty value (or `defaultValue`). - * - * See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html - */ - - -function getHostProps(element, props) { - var node = element; - var checked = props.checked; - - var hostProps = _assign({}, props, { - defaultChecked: undefined, - defaultValue: undefined, - value: undefined, - checked: checked != null ? checked : node._wrapperState.initialChecked - }); - - return hostProps; -} -function initWrapperState(element, props) { - { - checkControlledValueProps('input', props); - - if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) { - error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type); - - didWarnCheckedDefaultChecked = true; - } - - if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) { - error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://reactjs.org/link/controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type); - - didWarnValueDefaultValue = true; - } - } - - var node = element; - var defaultValue = props.defaultValue == null ? '' : props.defaultValue; - node._wrapperState = { - initialChecked: props.checked != null ? props.checked : props.defaultChecked, - initialValue: getToStringValue(props.value != null ? props.value : defaultValue), - controlled: isControlled(props) - }; -} -function updateChecked(element, props) { - var node = element; - var checked = props.checked; - - if (checked != null) { - setValueForProperty(node, 'checked', checked, false); - } -} -function updateWrapper(element, props) { - var node = element; - - { - var controlled = isControlled(props); - - if (!node._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) { - error('A component is changing an uncontrolled input to be controlled. ' + 'This is likely caused by the value changing from undefined to ' + 'a defined value, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components'); - - didWarnUncontrolledToControlled = true; - } - - if (node._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) { - error('A component is changing a controlled input to be uncontrolled. ' + 'This is likely caused by the value changing from a defined to ' + 'undefined, which should not happen. ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components'); - - didWarnControlledToUncontrolled = true; - } - } - - updateChecked(element, props); - var value = getToStringValue(props.value); - var type = props.type; - - if (value != null) { - if (type === 'number') { - if (value === 0 && node.value === '' || // We explicitly want to coerce to number here if possible. - // eslint-disable-next-line - node.value != value) { - node.value = toString(value); - } - } else if (node.value !== toString(value)) { - node.value = toString(value); - } - } else if (type === 'submit' || type === 'reset') { - // Submit/reset inputs need the attribute removed completely to avoid - // blank-text buttons. - node.removeAttribute('value'); - return; - } - - { - // When syncing the value attribute, the value comes from a cascade of - // properties: - // 1. The value React property - // 2. The defaultValue React property - // 3. Otherwise there should be no change - if (props.hasOwnProperty('value')) { - setDefaultValue(node, props.type, value); - } else if (props.hasOwnProperty('defaultValue')) { - setDefaultValue(node, props.type, getToStringValue(props.defaultValue)); - } - } - - { - // When syncing the checked attribute, it only changes when it needs - // to be removed, such as transitioning from a checkbox into a text input - if (props.checked == null && props.defaultChecked != null) { - node.defaultChecked = !!props.defaultChecked; - } - } -} -function postMountWrapper(element, props, isHydrating) { - var node = element; // Do not assign value if it is already set. This prevents user text input - // from being lost during SSR hydration. - - if (props.hasOwnProperty('value') || props.hasOwnProperty('defaultValue')) { - var type = props.type; - var isButton = type === 'submit' || type === 'reset'; // Avoid setting value attribute on submit/reset inputs as it overrides the - // default value provided by the browser. See: #12872 - - if (isButton && (props.value === undefined || props.value === null)) { - return; - } - - var initialValue = toString(node._wrapperState.initialValue); // Do not assign value if it is already set. This prevents user text input - // from being lost during SSR hydration. - - if (!isHydrating) { - { - // When syncing the value attribute, the value property should use - // the wrapperState._initialValue property. This uses: - // - // 1. The value React property when present - // 2. The defaultValue React property when present - // 3. An empty string - if (initialValue !== node.value) { - node.value = initialValue; - } - } - } - - { - // Otherwise, the value attribute is synchronized to the property, - // so we assign defaultValue to the same thing as the value property - // assignment step above. - node.defaultValue = initialValue; - } - } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug - // this is needed to work around a chrome bug where setting defaultChecked - // will sometimes influence the value of checked (even after detachment). - // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416 - // We need to temporarily unset name to avoid disrupting radio button groups. - - - var name = node.name; - - if (name !== '') { - node.name = ''; - } - - { - // When syncing the checked attribute, both the checked property and - // attribute are assigned at the same time using defaultChecked. This uses: - // - // 1. The checked React property when present - // 2. The defaultChecked React property when present - // 3. Otherwise, false - node.defaultChecked = !node.defaultChecked; - node.defaultChecked = !!node._wrapperState.initialChecked; - } - - if (name !== '') { - node.name = name; - } -} -function restoreControlledState(element, props) { - var node = element; - updateWrapper(node, props); - updateNamedCousins(node, props); -} - -function updateNamedCousins(rootNode, props) { - var name = props.name; - - if (props.type === 'radio' && name != null) { - var queryRoot = rootNode; - - while (queryRoot.parentNode) { - queryRoot = queryRoot.parentNode; - } // If `rootNode.form` was non-null, then we could try `form.elements`, - // but that sometimes behaves strangely in IE8. We could also try using - // `form.getElementsByName`, but that will only return direct children - // and won't include inputs that use the HTML5 `form=` attribute. Since - // the input might not even be in a form. It might not even be in the - // document. Let's just use the local `querySelectorAll` to ensure we don't - // miss anything. - - - var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type="radio"]'); - - for (var i = 0; i < group.length; i++) { - var otherNode = group[i]; - - if (otherNode === rootNode || otherNode.form !== rootNode.form) { - continue; - } // This will throw if radio buttons rendered by different copies of React - // and the same name are rendered into the same form (same as #1939). - // That's probably okay; we don't support it just as we don't support - // mixing React radio buttons with non-React ones. - - - var otherProps = getFiberCurrentPropsFromNode(otherNode); - - if (!otherProps) { - { - throw Error( "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported." ); - } - } // We need update the tracked value on the named cousin since the value - // was changed but the input saw no event or value set - - - updateValueIfChanged(otherNode); // If this is a controlled radio button group, forcing the input that - // was previously checked to update will cause it to be come re-checked - // as appropriate. - - updateWrapper(otherNode, otherProps); - } - } -} // In Chrome, assigning defaultValue to certain input types triggers input validation. -// For number inputs, the display value loses trailing decimal points. For email inputs, -// Chrome raises "The specified value is not a valid email address". -// -// Here we check to see if the defaultValue has actually changed, avoiding these problems -// when the user is inputting text -// -// https://github.com/facebook/react/issues/7253 - - -function setDefaultValue(node, type, value) { - if ( // Focused number inputs synchronize on blur. See ChangeEventPlugin.js - type !== 'number' || getActiveElement(node.ownerDocument) !== node) { - if (value == null) { - node.defaultValue = toString(node._wrapperState.initialValue); - } else if (node.defaultValue !== toString(value)) { - node.defaultValue = toString(value); - } - } -} - -var didWarnSelectedSetOnOption = false; -var didWarnInvalidChild = false; - -function flattenChildren(children) { - var content = ''; // Flatten children. We'll warn if they are invalid - // during validateProps() which runs for hydration too. - // Note that this would throw on non-element objects. - // Elements are stringified (which is normally irrelevant - // but matters for ). - - React.Children.forEach(children, function (child) { - if (child == null) { - return; - } - - content += child; // Note: we don't warn about invalid children here. - // Instead, this is done separately below so that - // it happens during the hydration code path too. - }); - return content; -} -/** - * Implements an