dualsense-ts 6.2.0 → 6.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -4
- package/dist/dualsense.d.ts +4 -0
- package/dist/dualsense.d.ts.map +1 -1
- package/dist/dualsense.js +4 -0
- package/dist/dualsense.js.map +1 -1
- package/dist/hid/hid_provider.d.ts +4 -0
- package/dist/hid/hid_provider.d.ts.map +1 -1
- package/dist/hid/hid_provider.js +6 -0
- package/dist/hid/hid_provider.js.map +1 -1
- package/dist/id.d.ts +4 -0
- package/dist/id.d.ts.map +1 -1
- package/nodehid_example/debug.ts +8 -0
- package/nodehid_example/single.ts +8 -0
- package/package.json +1 -1
- package/src/dualsense.ts +8 -0
- package/src/hid/hid_provider.ts +8 -0
- package/src/id.ts +5 -0
- package/webhid_example/build/asset-manifest.json +3 -3
- package/webhid_example/build/index.html +1 -1
- package/webhid_example/build/static/js/main.fcf0c900.js +3 -0
- package/webhid_example/build/static/js/main.fcf0c900.js.map +1 -0
- package/webhid_example/src/App.tsx +2 -0
- package/webhid_example/src/hud/AudioIndicator.tsx +114 -0
- package/webhid_example/src/hud/index.tsx +1 -0
- package/webhid_example/build/static/js/main.2ac31d24.js +0 -3
- package/webhid_example/build/static/js/main.2ac31d24.js.map +0 -1
- /package/webhid_example/build/static/js/{main.2ac31d24.js.LICENSE.txt → main.fcf0c900.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/js/main.fcf0c900.js","mappings":"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AA,SAGzE4Z,EAAiBwvD,WAAa,SAAA5pD,GAAA,OAC5BP,EAAqBU,EAAsBpb,EAAAqB,EAAA,GAAUs8D,EAAA,GAAY1iD,GAAA,EAGnE5F,EAAiB8uD,MAAQ,SAAAlpD,GAAA,OACvBP,EAAqBU,EAAsBpb,EAAAqB,EAAA,GACtCs8D,EAAA,CACHwG,MAAOr5D,MAAM+M,UAAUhU,OAAO85D,EAAQwG,MAAOlpD,GAAOjR,OAAOb,WAAA,EAGxDkM,CAAA,CDzBO,CAAqCyrB,GAAiBpmB,EAAA,EDJvD,CACb,IACA,OACA,UACA,OACA,UACA,QACA,QACA,IACA,OACA,MACA,MACA,MACA,aACA,OACA,KACA,SACA,SACA,UACA,OACA,OACA,MACA,WACA,OACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,QACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,UACA,OACA,WACA,OACA,QACA,MACA,WACA,SACA,KACA,WACA,SACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,QACA,SACA,OACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,QACA,KACA,QACA,IACA,KACA,MACA,QACA,MAGA,SACA,WACA,OACA,UACA,gBACA,IACA,QACA,OACA,iBACA,SACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,WACA,SCnIU9Q,SAAQ,SAAA8Q,GAClB8hB,GAAO9hB,GAAc8hB,GAAO9hB,EAAA,KELT,oBAAAA,EAOPA,EAAgBU,GAAA,KACrBknD,MAAQ5nD,EAAA,KACR2oD,YAAcjoD,EAAA,KACdgoD,SAAW/mC,EAAc3hB,GAI9BygC,EAAWynB,WAAW9oE,KAAKupE,YAAc,OAAAjoD,EAAAV,EAAA7C,UAAA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","sources":["../../src/comparators.ts","../../src/dualsense.ts","../../src/elements/accelerometer.ts","../../src/elements/analog.ts","../../src/elements/axis.ts","../../src/elements/battery.ts","../../src/elements/dpad.ts","../../src/elements/gyroscope.ts","../../src/elements/increment.ts","../../src/elements/index.ts","../../src/elements/lightbar.ts","../../src/elements/momentary.ts","../../src/elements/motion.ts","../../src/elements/mute.ts","../../src/elements/player_leds.ts","../../src/elements/touch.ts","../../src/elements/touchpad.ts","../../src/elements/trigger.ts","../../src/elements/trigger_feedback.ts","../../src/elements/unisense.ts","../../src/hid/battery_state.ts","../../src/hid/bt_checksum.ts","../../src/hid/command.ts","../../src/hid/dualsense_hid.ts","../../src/hid/hid_provider.ts","../../src/hid/index.ts","../../src/hid/node_hid_provider.ts","../../src/hid/platform_hid_provider.ts","../../src/hid/web_hid_provider.ts","../../src/index.ts","../../src/input.ts","../../src/manager.ts","../node_modules/@blueprintjs/core/node_modules/@blueprintjs/icons/src/iconTypes.ts","../node_modules/classnames/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/lower-case/src/index.ts","../node_modules/no-case/src/index.ts","../node_modules/pascal-case/src/index.ts","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/shallowequal/index.js","../node_modules/zdog/js/anchor.js","../node_modules/zdog/js/boilerplate.js","../node_modules/zdog/js/box.js","../node_modules/zdog/js/canvas-renderer.js","../node_modules/zdog/js/cone.js","../node_modules/zdog/js/cylinder.js","../node_modules/zdog/js/dragger.js","../node_modules/zdog/js/ellipse.js","../node_modules/zdog/js/group.js","../node_modules/zdog/js/hemisphere.js","../node_modules/zdog/js/illustration.js","../node_modules/zdog/js/index.js","../node_modules/zdog/js/path-command.js","../node_modules/zdog/js/polygon.js","../node_modules/zdog/js/rect.js","../node_modules/zdog/js/rounded-rect.js","../node_modules/zdog/js/shape.js","../node_modules/zdog/js/svg-renderer.js","../node_modules/zdog/js/vector.js","../node_modules/tslib/tslib.es6.mjs","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/styled-components/src/utils/interleave.js","../node_modules/styled-components/src/utils/isPlainObject.js","../node_modules/styled-components/src/utils/empties.js","../node_modules/styled-components/src/utils/isFunction.js","../node_modules/styled-components/src/utils/getComponentName.js","../node_modules/styled-components/src/utils/isStyledComponent.js","../node_modules/styled-components/src/constants.js","../node_modules/styled-components/src/utils/error.js","../node_modules/styled-components/src/sheet/GroupedTag.js","../node_modules/styled-components/src/sheet/GroupIDAllocator.js","../node_modules/styled-components/src/sheet/Rehydration.js","../node_modules/styled-components/src/utils/nonce.js","../node_modules/styled-components/src/sheet/dom.js","../node_modules/styled-components/src/sheet/Tag.js","../node_modules/styled-components/src/sheet/Sheet.js","../node_modules/styled-components/src/utils/generateAlphabeticName.js","../node_modules/styled-components/src/utils/hash.js","../node_modules/styled-components/src/utils/isStaticRules.js","../node_modules/styled-components/src/models/ComponentStyle.js","../node_modules/styled-components/src/utils/stylis.js","../node_modules/styled-components/src/utils/stylisPluginInsertRule.js","../node_modules/styled-components/src/models/StyleSheetManager.js","../node_modules/styled-components/src/models/Keyframes.js","../node_modules/styled-components/src/utils/hyphenateStyleName.js","../node_modules/styled-components/src/utils/flatten.js","../node_modules/styled-components/src/utils/isStatelessFunction.js","../node_modules/styled-components/src/utils/addUnitIfNeeded.js","../node_modules/styled-components/src/constructors/css.js","../node_modules/styled-components/src/utils/checkDynamicCreation.js","../node_modules/styled-components/src/utils/determineTheme.js","../node_modules/styled-components/src/utils/escape.js","../node_modules/styled-components/src/utils/generateComponentId.js","../node_modules/styled-components/src/utils/isTag.js","../node_modules/styled-components/src/utils/mixinDeep.js","../node_modules/styled-components/src/models/ThemeProvider.js","../node_modules/styled-components/src/models/StyledComponent.js","../node_modules/styled-components/src/utils/generateDisplayName.js","../node_modules/styled-components/src/utils/joinStrings.js","../node_modules/styled-components/src/utils/domElements.js","../node_modules/styled-components/src/constructors/styled.js","../node_modules/styled-components/src/constructors/constructWithOptions.js","../node_modules/styled-components/src/models/GlobalStyle.js","../node_modules/styled-components/src/models/ServerStyleSheet.js","../node_modules/styled-components/src/base.js","../node_modules/@blueprintjs/core/node_modules/@blueprintjs/icons/src/classes.ts","../node_modules/@blueprintjs/core/node_modules/@blueprintjs/icons/src/jsUtils.ts","../node_modules/@blueprintjs/core/node_modules/@blueprintjs/icons/src/svgIconContainer.tsx","../node_modules/@blueprintjs/core/node_modules/@blueprintjs/icons/src/generated/components/small-cross.tsx","../node_modules/@blueprintjs/core/src/common/alignment.ts","../node_modules/@blueprintjs/core/src/common/elevation.ts","../node_modules/@blueprintjs/core/src/common/intent.ts","../node_modules/@blueprintjs/core/src/common/position.ts","../node_modules/@blueprintjs/core/src/common/classes.ts","../node_modules/@blueprintjs/core/src/common/props.ts","../node_modules/@blueprintjs/core/src/common/utils/reactUtils.ts","../node_modules/@blueprintjs/core/node_modules/@blueprintjs/icons/src/generated/16px/blueprint-icons-16.ts","../node_modules/snake-case/src/index.ts","../node_modules/dot-case/src/index.ts","../node_modules/@blueprintjs/core/node_modules/@blueprintjs/icons/src/iconNames.ts","../node_modules/@blueprintjs/core/node_modules/@blueprintjs/icons/src/loaderUtils.ts","../node_modules/@blueprintjs/core/node_modules/@blueprintjs/icons/src/iconLoader.ts","../node_modules/@blueprintjs/core/src/components/icon/icon.tsx","../node_modules/@blueprintjs/core/src/common/refs.ts","../node_modules/@blueprintjs/core/src/components/text/text.tsx","../node_modules/@blueprintjs/core/src/components/tag/tag.tsx","../node_modules/@blueprintjs/core/src/common/utils/functionUtils.ts","Controller.tsx","hud/AudioIndicator.tsx","hud/BatteryIndicator.tsx","../node_modules/react-zdog/dist/react-zdog.es.js","hud/RenderedElement.tsx","hud/BumperVisualization.tsx","../node_modules/@blueprintjs/core/src/common/utils/keyboardUtils.ts","../node_modules/@blueprintjs/core/src/common/errors.ts","../node_modules/@blueprintjs/core/src/common/utils/jsUtils.ts","../node_modules/@blueprintjs/core/src/common/abstractPureComponent.ts","../node_modules/@blueprintjs/core/src/components/spinner/spinner.tsx","../node_modules/@blueprintjs/core/src/components/button/buttons.tsx","hud/ControllerConnection.tsx","../node_modules/styled-components/src/constructors/keyframes.js","../node_modules/@blueprintjs/core/src/components/card/card.tsx","../node_modules/@blueprintjs/core/src/components/forms/controls.tsx","../node_modules/@blueprintjs/core/node_modules/@blueprintjs/icons/src/generated/components/double-caret-vertical.tsx","../node_modules/@blueprintjs/core/node_modules/@blueprintjs/icons/src/generated/components/caret-down.tsx","../node_modules/@blueprintjs/core/src/components/html-select/htmlSelect.tsx","hud/TriggerEffectControls.tsx","hud/Debugger.tsx","hud/DpadVisualization.tsx","hud/FaceButtons.tsx","hud/Gyro.tsx","hud/HUDLayout.tsx","hud/TriggerVisualization.tsx","hud/LightbarControls.tsx","hud/LightbarFadeButtons.tsx","hud/LightbarStrip.tsx","hud/MuteLedControls.tsx","hud/PlayerLedBar.tsx","hud/PlayerLedControls.tsx","hud/StickVisualization.tsx","hud/Reticle.tsx","hud/RightStick.tsx","hud/RumbleControl.tsx","hud/ShoulderVisualization.tsx","hud/TouchpadVisualization.tsx","hud/UtilityButtons.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"sourcesContent":["/** Input state change checker that always returns true */\nexport function VirtualComparator(): boolean {\n return true;\n}\n\n/** Input state change checker that considers a numeric threshold */\nexport function ThresholdComparator(\n threshold: number,\n deadzone: number,\n state: unknown,\n newState: unknown\n): boolean {\n if (typeof state !== \"number\" || typeof newState !== \"number\")\n throw new Error(\"Bad threshold comparison\");\n return (\n Math.abs(state - newState) > threshold &&\n (Math.abs(newState) > deadzone || Math.abs(state) > deadzone)\n );\n}\n\n/** Input state change checker for most values */\nexport function BasicComparator(state: unknown, newState: unknown): boolean {\n return state !== newState;\n}\n","import {\n Momentary,\n Dpad,\n DpadParams,\n Mute,\n Unisense,\n UnisenseParams,\n Touchpad,\n Gyroscope,\n GyroscopeParams,\n Accelerometer,\n AccelerometerParams,\n Battery,\n BatteryParams,\n Lightbar,\n PlayerLeds,\n} from \"./elements\";\nimport { Input, InputSet, InputParams } from \"./input\";\nimport {\n DualsenseHIDState,\n DualsenseHID,\n PlatformHIDProvider,\n InputId,\n ChargeStatus,\n PulseOptions,\n} from \"./hid\";\nimport { Intensity } from \"./math\";\n\n/** Settings for your Dualsense controller and each of its inputs */\nexport interface DualsenseParams extends InputParams {\n /** Sets the source for HID events. Default: decide automatically */\n hid?: DualsenseHID | null;\n /** Settings for the Playstation button */\n ps?: InputParams;\n /** Settings for the mute button */\n mute?: InputParams;\n /** Settings for the options button */\n options?: InputParams;\n /** Settings for the create button */\n create?: InputParams;\n /** Settings for the triangle button */\n triangle?: InputParams;\n /** Settings for the circle button */\n circle?: InputParams;\n /** Settings for the cross button */\n cross?: InputParams;\n /** Settings for the square button */\n square?: InputParams;\n /** Settings for the dpad buttons */\n dpad?: DpadParams;\n /** Settings for inputs on the left half of the controller */\n left?: UnisenseParams;\n /** Settings for inputs on the right side of the controller */\n right?: UnisenseParams;\n /** Settings for the touchpad inputs */\n touchpad?: InputParams;\n /** Settings for the gyroscope */\n gyroscope?: GyroscopeParams;\n /** Settings for the accelerometer */\n accelerometer?: AccelerometerParams;\n /** Settings for the battery */\n battery?: BatteryParams;\n}\n\n/** Represents a Dualsense controller */\nexport class Dualsense extends Input<Dualsense> {\n public readonly state: Dualsense = this;\n\n /** The Playstation button */\n public readonly ps: Momentary;\n /** The mute button and status light */\n public readonly mute: Mute;\n /** The options button */\n public readonly options: Momentary;\n /** The create button */\n public readonly create: Momentary;\n /** The triangle button */\n public readonly triangle: Momentary;\n /** The circle button */\n public readonly circle: Momentary;\n /** The cross, or X button */\n public readonly cross: Momentary;\n /** The square button */\n public readonly square: Momentary;\n /** The up/down/left/right dpad buttons */\n public readonly dpad: Dpad;\n /** Inputs on the left half of the controller */\n public readonly left: Unisense;\n /** Inputs on the right half of the controller */\n public readonly right: Unisense;\n /** The touchpad; works like a pair of analog sticks */\n public readonly touchpad: Touchpad;\n /** Tracks the controller's angular velocity */\n public readonly gyroscope: Gyroscope;\n /** Tracks the controller's linear acceleration */\n public readonly accelerometer: Accelerometer;\n /** Battery level and charging status */\n public readonly battery: Battery;\n /** Whether a microphone is connected (e.g. headset mic or USB mic) */\n public readonly microphone: Momentary;\n /** Whether headphones are connected to the controller's 3.5mm jack */\n public readonly headphone: Momentary;\n /** The RGB light bar at the top of the controller */\n public readonly lightbar = new Lightbar();\n /** The 5 white player indicator LEDs */\n public readonly playerLeds = new PlayerLeds();\n\n /** Buffered battery reading, sampled on a slow cadence */\n private readonly pendingBattery = {\n peakLevel: 0,\n status: ChargeStatus.Discharging as ChargeStatus,\n };\n\n /** Represents the underlying HID device. Provides input events */\n public readonly hid: DualsenseHID;\n\n /** A virtual button representing whether or not a controller is connected */\n public readonly connection: Momentary;\n\n public get active(): boolean {\n return Object.values(this).some(\n (input) => input !== this && input instanceof Input && input.active,\n );\n }\n\n /** Returns `true` if the controller is connected via Bluetooth */\n public get wireless(): boolean {\n return this.hid.wireless;\n }\n\n /** Unique identifier for the connected device (path or fingerprint) */\n public get deviceId(): string | undefined {\n return this.hid.provider.deviceId;\n }\n\n /** Hardware serial number of the connected device, if available */\n public get serialNumber(): string | undefined {\n return this.hid.provider.serialNumber;\n }\n\n constructor(params: DualsenseParams = {}) {\n super(params);\n\n this.ps = new Momentary({\n icon: \"㎰\",\n name: \"Home\",\n ...(params.ps ?? {}),\n });\n this.mute = new Mute({\n icon: \"🕩\",\n name: \"Mute\",\n ...(params.mute ?? {}),\n });\n this.microphone = new Momentary({ icon: \"🎤\", name: \"Microphone\" });\n this.headphone = new Momentary({ icon: \"🎧\", name: \"Headphone\" });\n this.options = new Momentary({\n icon: \"⋯\",\n name: \"Options\",\n ...(params.options ?? {}),\n });\n this.create = new Momentary({\n icon: \"🖉\",\n name: \"Create\",\n ...(params.create ?? {}),\n });\n this.triangle = new Momentary({\n icon: \"🟕\",\n name: \"Triangle\",\n ...(params.triangle ?? {}),\n });\n this.circle = new Momentary({\n icon: \"⊚\",\n name: \"Circle\",\n ...(params.circle ?? {}),\n });\n this.cross = new Momentary({\n icon: \"⮿\",\n name: \"Cross\",\n ...(params.cross ?? {}),\n });\n this.square = new Momentary({\n icon: \"🟗\",\n name: \"Square\",\n ...(params.square ?? {}),\n });\n this.dpad = new Dpad({\n icon: \"D\",\n name: \"D-pad\",\n ...(params.dpad ?? {}),\n });\n this.left = new Unisense({\n icon: \"L\",\n name: \"Left\",\n ...(params.left ?? {}),\n });\n this.right = new Unisense({\n icon: \"R\",\n name: \"Right\",\n ...(params.right ?? {}),\n });\n this.touchpad = new Touchpad({\n icon: \"⎚\",\n name: \"Touchpad\",\n ...(params.touchpad ?? {}),\n });\n this.connection = new Momentary({\n icon: \"🔗\",\n name: \"Connected\",\n ...(params.square ?? {}),\n });\n this.gyroscope = new Gyroscope({\n icon: \"∞\",\n name: \"Gyroscope\",\n threshold: 0.01,\n ...(params.gyroscope ?? {}),\n });\n this.accelerometer = new Accelerometer({\n icon: \"⤲\",\n name: \"Accelerometer\",\n threshold: 0.01,\n ...(params.accelerometer ?? {}),\n });\n this.battery = new Battery({\n icon: \"🔋\",\n name: \"Battery\",\n ...(params.battery ?? {}),\n });\n\n this.connection[InputSet](false);\n this.hid = params.hid ?? new DualsenseHID(new PlatformHIDProvider());\n this.hid.register((state: DualsenseHIDState) => {\n this.processHID(state);\n });\n\n const rumbleMemo = { left: -1, right: -1 };\n const triggerFeedbackMemo = { left: \"\", right: \"\" };\n const lightbarMemo = { key: \"\" };\n const playerLedsMemo = { key: \"\" };\n\n /** Refresh connection state */\n let lastConnected = false;\n setInterval(() => {\n const {\n provider: { connected },\n } = this.hid;\n\n this.connection[InputSet](connected);\n if (connected && !lastConnected) {\n // Invalidate memos so the output loop restores desired state on reconnect.\n triggerFeedbackMemo.left = \"\";\n triggerFeedbackMemo.right = \"\";\n lightbarMemo.key = \"\";\n playerLedsMemo.key = \"\";\n }\n lastConnected = connected;\n if (!connected) this.hid.provider.connect();\n }, 200);\n\n /** Refresh battery state on a slow cadence to filter transient glitches */\n setInterval(() => {\n if (!this.connection.active) return;\n this.battery.level[InputSet](this.pendingBattery.peakLevel);\n this.battery.status[InputSet](this.pendingBattery.status);\n this.pendingBattery.peakLevel = 0;\n }, 1000);\n\n /** Refresh output state (rumble + trigger feedback) */\n setInterval(() => {\n if (!this.connection.active) return;\n\n const leftRumble = this.left.rumble();\n const rightRumble = this.right.rumble();\n if (leftRumble !== rumbleMemo.left || rightRumble !== rumbleMemo.right) {\n this.hid.setRumble(leftRumble * 255, rightRumble * 255);\n rumbleMemo.left = leftRumble;\n rumbleMemo.right = rightRumble;\n }\n\n const leftFeedback = this.left.trigger.feedback;\n const rightFeedback = this.right.trigger.feedback;\n const leftKey = leftFeedback.toKey();\n const rightKey = rightFeedback.toKey();\n const feedbackChanged =\n leftKey !== triggerFeedbackMemo.left ||\n rightKey !== triggerFeedbackMemo.right;\n\n if (feedbackChanged) {\n // Force rumble into the same batch so MotorPower scope bit is always present.\n this.hid.setRumble(leftRumble * 255, rightRumble * 255);\n rumbleMemo.left = leftRumble;\n rumbleMemo.right = rightRumble;\n }\n\n if (leftKey !== triggerFeedbackMemo.left) {\n this.hid.setLeftTriggerFeedback(leftFeedback.toBytes());\n triggerFeedbackMemo.left = leftKey;\n }\n if (rightKey !== triggerFeedbackMemo.right) {\n this.hid.setRightTriggerFeedback(rightFeedback.toBytes());\n triggerFeedbackMemo.right = rightKey;\n }\n\n const lightbarKey = this.lightbar.toKey();\n if (lightbarKey !== lightbarMemo.key) {\n const { r, g, b } = this.lightbar.color;\n this.hid.setLightbar(r, g, b);\n lightbarMemo.key = lightbarKey;\n }\n\n const pulse = this.lightbar.consumePulse();\n if (pulse !== PulseOptions.Off) {\n this.hid.setLightbar(0, 0, 0, pulse);\n }\n\n const playerLedsKey = this.playerLeds.toKey();\n if (playerLedsKey !== playerLedsMemo.key) {\n this.hid.setPlayerLeds(this.playerLeds.bitmask, this.playerLeds.brightness);\n playerLedsMemo.key = playerLedsKey;\n }\n\n }, 1000 / 30);\n }\n\n private get rumbleIntensity(): number {\n return (this.left.rumble() + this.right.rumble()) / 2;\n }\n\n /** Reset adaptive trigger feedback on both sides to the default linear feel */\n public resetTriggerFeedback(): void {\n this.left.trigger.feedback.reset();\n this.right.trigger.feedback.reset();\n }\n\n /** Check or adjust rumble intensity evenly across both sides of the controller */\n public rumble(intensity?: Intensity): number {\n this.left.rumble(intensity);\n this.right.rumble(intensity);\n return this.rumbleIntensity;\n }\n\n /** Distributes HID event values to the controller's inputs */\n private processHID(state: DualsenseHIDState): void {\n this.ps[InputSet](state[InputId.Playstation]);\n this.options[InputSet](state[InputId.Options]);\n this.create[InputSet](state[InputId.Create]);\n\n this.mute[InputSet](state[InputId.Mute]);\n this.mute.status[InputSet](state[InputId.MuteLed]);\n this.microphone[InputSet](state[InputId.Microphone]);\n this.headphone[InputSet](state[InputId.Headphone]);\n\n this.triangle[InputSet](state[InputId.Triangle]);\n this.circle[InputSet](state[InputId.Circle]);\n this.cross[InputSet](state[InputId.Cross]);\n this.square[InputSet](state[InputId.Square]);\n\n this.dpad.up[InputSet](state[InputId.Up]);\n this.dpad.down[InputSet](state[InputId.Down]);\n this.dpad.right[InputSet](state[InputId.Right]);\n this.dpad.left[InputSet](state[InputId.Left]);\n\n this.touchpad.button[InputSet](state[InputId.TouchButton]);\n this.touchpad.left.x[InputSet](state[InputId.TouchX0]);\n this.touchpad.left.y[InputSet](state[InputId.TouchY0]);\n this.touchpad.left.contact[InputSet](state[InputId.TouchContact0]);\n this.touchpad.left.tracker[InputSet](state[InputId.TouchId0]);\n this.touchpad.right.x[InputSet](state[InputId.TouchX1]);\n this.touchpad.right.y[InputSet](state[InputId.TouchY1]);\n this.touchpad.right.contact[InputSet](state[InputId.TouchContact1]);\n this.touchpad.right.tracker[InputSet](state[InputId.TouchId1]);\n\n this.left.analog.x[InputSet](state[InputId.LeftAnalogX]);\n this.left.analog.y[InputSet](state[InputId.LeftAnalogY]);\n this.left.analog.button[InputSet](state[InputId.LeftAnalogButton]);\n this.left.bumper[InputSet](state[InputId.LeftBumper]);\n this.left.trigger[InputSet](state[InputId.LeftTrigger]);\n this.left.trigger.button[InputSet](state[InputId.LeftTriggerButton]);\n\n this.right.analog.x[InputSet](state[InputId.RightAnalogX]);\n this.right.analog.y[InputSet](state[InputId.RightAnalogY]);\n this.right.analog.button[InputSet](state[InputId.RightAnalogButton]);\n this.right.bumper[InputSet](state[InputId.RightBumper]);\n this.right.trigger[InputSet](state[InputId.RightTrigger]);\n this.right.trigger.button[InputSet](state[InputId.RightTriggerButton]);\n\n this.gyroscope.x[InputSet](state[InputId.GyroX]);\n this.gyroscope.y[InputSet](state[InputId.GyroY]);\n this.gyroscope.z[InputSet](state[InputId.GyroZ]);\n this.accelerometer.x[InputSet](state[InputId.AccelX]);\n this.accelerometer.y[InputSet](state[InputId.AccelY]);\n this.accelerometer.z[InputSet](state[InputId.AccelZ]);\n\n const level = state[InputId.BatteryLevel];\n if (level > this.pendingBattery.peakLevel) {\n this.pendingBattery.peakLevel = level;\n }\n this.pendingBattery.status = state[InputId.BatteryStatus];\n }\n}\n","import { Input, InputParams } from \"../input\";\nimport { Axis, AxisParams } from \"./axis\";\n\nexport interface AccelerometerParams extends InputParams {\n /** Configuration for the input's x axis */\n x?: AxisParams;\n\n /** Configuration for the input's y axis */\n y?: AxisParams;\n\n /** Configuration for the input's z axis */\n z?: AxisParams;\n}\n\n/** Tracks the linear acceleration of the controller. */\nexport class Accelerometer extends Input<Accelerometer> {\n public readonly state: this = this;\n\n public readonly x: Axis;\n public readonly y: Axis;\n public readonly z: Axis;\n\n constructor(params?: AccelerometerParams) {\n super(params);\n const { x, y, z } = params ?? {};\n\n this.x = new Axis({\n icon: \"AX\",\n name: \"X\",\n ...params,\n ...x,\n });\n this.y = new Axis({\n icon: \"AY\",\n name: \"Y\",\n ...params,\n ...y,\n });\n this.z = new Axis({\n icon: \"AZ\",\n name: \"Z\",\n ...params,\n ...z,\n });\n }\n\n public readonly active = false;\n}\n","import { Axis, AxisParams } from \"./axis\";\nimport { Momentary } from \"./momentary\";\nimport { Input, InputParams } from \"../input\";\nimport { Radians, Degrees, Magnitude, Force } from \"../math\";\n\n/** Configuration for an analog joystick and nested inputs */\nexport interface AnalogParams extends InputParams {\n /** Configuration for the input's button */\n button?: InputParams;\n\n /** Configuration for the input's x axis */\n x?: AxisParams;\n\n /** Configuration for the input's y axis */\n y?: AxisParams;\n\n /** Ignore input of magnitude less than or equal to this value */\n deadzone?: Magnitude;\n}\n\n/**\n * Represents an analog joystick.\n *\n * The joystick is abstracted to a unit circle.\n * - At rest, the stick's coordinates are [0,0]\n * - Pushed all the way to the right, the stick's coordinates are [1,0]\n * - Pushed all the way down and to the left, the stick's coordinates are [-1, -1]\n */\nexport class Analog extends Input<Analog> {\n public readonly state: this = this;\n\n /** The left/right position of the input */\n public readonly x: Axis;\n /** The up/down position of the input */\n public readonly y: Axis;\n /** Button triggered by pressing the stick */\n public readonly button: Momentary;\n /** Ignores stick movement below this value (0 to 1) */\n public deadzone: Magnitude = 0.05;\n\n constructor(params?: AnalogParams) {\n super(params);\n const { button, x, y, deadzone } = params ?? {};\n\n if (deadzone) this.deadzone = deadzone;\n this.button = new Momentary({ icon: \"3\", name: \"Button\", ...button });\n this.x = new Axis({\n icon: \"↔\",\n name: \"X\",\n ...params,\n ...x,\n });\n this.y = new Axis({\n icon: \"↕\",\n name: \"Y\",\n ...params,\n ...y,\n });\n }\n\n /**\n * Returns true if the stick is away from the idle position, or the button is pressed.\n */\n public get active(): boolean {\n return this.magnitude > 0 || this.button.active;\n }\n\n /**\n * Returns a direction and magnitude representing the stick's position.\n */\n public get vector(): { direction: Radians; magnitude: Magnitude } {\n return { direction: this.direction, magnitude: this.magnitude };\n }\n\n /**\n * Returns a force from the stick's position.\n * This ignores the deadzone value.\n */\n public get force(): Force {\n return Math.max(Math.min(Math.hypot(this.x.force, this.y.force), 1), -1);\n }\n\n /**\n * Returns a magnitude from the stick's position.\n */\n public get magnitude(): Magnitude {\n const magnitude = Math.abs(this.force);\n if (magnitude < this.deadzone) return 0;\n return (magnitude - this.deadzone) / (1 - this.deadzone);\n }\n\n /**\n * Returns the stick's angle in radians.\n */\n public get direction(): Radians {\n return Math.atan2(this.y.force, this.x.force);\n }\n\n /**\n * Alias for `.direction`\n */\n public get radians(): Radians {\n return this.direction;\n }\n\n /**\n * Alias for `.direction`\n */\n public get angle(): Radians {\n return this.direction;\n }\n\n /**\n * Alias for `.direction` converted to degrees.\n */\n public get directionDegrees(): Degrees {\n return (this.direction * 180) / Math.PI;\n }\n\n /**\n * Alias for `.directionDegrees`.\n */\n public get degrees(): Degrees {\n return this.directionDegrees;\n }\n\n /**\n * Alias for `.directionDegrees`.\n */\n public get angleDegrees(): Degrees {\n return this.directionDegrees;\n }\n}\n","import { Input, InputParams } from \"../input\";\nimport { Force, Magnitude } from \"../math\";\n\n/**\n * Configuration for an Axis input.\n */\nexport interface AxisParams extends InputParams {\n // Ignore input of magnitude less than or equal to this value\n deadzone?: Magnitude;\n}\n\n/**\n * Represents a simple ranged input. For example, one axis of an analog\n * joystick or touchpad, the pull of a trigger, or the movement of a gyroscope.\n */\nexport class Axis extends Input<Force> {\n public state: Force = 0;\n\n /**\n * Ignores inputs of magnitude less than this value (0 to 1).\n */\n public deadzone: Magnitude = 0.05;\n\n constructor(params?: AxisParams) {\n super(params);\n const { deadzone } = params ?? {};\n\n if (deadzone) this.deadzone = deadzone;\n }\n\n public get active(): boolean {\n return Math.abs(this.state) > this.deadzone;\n }\n\n /**\n * Returns the axis position, ignoring the deadzone value.\n */\n public get force(): Force {\n return this.active ? this.state : 0;\n }\n\n /**\n * Returns an absolute axis position.\n */\n public get magnitude(): Magnitude {\n const magnitude = Math.abs(this.force);\n if (magnitude < this.deadzone) return 0;\n return (magnitude - this.deadzone) / (1 - this.deadzone);\n }\n}\n","import { Input, InputParams } from \"../input\";\nimport { Intensity } from \"../math\";\nimport { ChargeStatus } from \"../hid/battery_state\";\n\n/** Tracks the controller's battery charge level as a 0–1 intensity */\nexport class BatteryLevel extends Input<Intensity> {\n public state: Intensity = 0;\n\n public get active(): boolean {\n return this.state > 0;\n }\n}\n\n/** Tracks the controller's charging status */\nexport class BatteryStatus extends Input<ChargeStatus> {\n public state: ChargeStatus = ChargeStatus.Discharging;\n\n public get active(): boolean {\n return this.state === ChargeStatus.Charging;\n }\n}\n\nexport interface BatteryParams extends InputParams {\n level?: InputParams;\n status?: InputParams;\n}\n\n/** Groups battery level and charging status */\nexport class Battery extends Input<Battery> {\n public readonly state: Battery = this;\n\n /** Battery charge level, normalized 0–1 */\n public readonly level: BatteryLevel;\n /** Current charging status */\n public readonly status: BatteryStatus;\n\n public get active(): boolean {\n return this.level.active || this.status.active;\n }\n\n constructor(params: BatteryParams = {}) {\n super(params);\n this.level = new BatteryLevel({\n icon: \"🔋\",\n name: \"BatteryLevel\",\n ...(params.level ?? {}),\n });\n this.status = new BatteryStatus({\n icon: \"🔌\",\n name: \"BatteryStatus\",\n ...(params.status ?? {}),\n });\n }\n}\n","import { Momentary } from \"./momentary\";\nimport { Input, InputParams } from \"../input\";\n\nexport interface DpadParams extends InputParams {\n up?: InputParams;\n down?: InputParams;\n left?: InputParams;\n right?: InputParams;\n}\n\nexport class Dpad extends Input<Dpad> {\n public readonly state: this = this;\n\n public readonly up: Momentary;\n public readonly down: Momentary;\n public readonly left: Momentary;\n public readonly right: Momentary;\n\n constructor(params: DpadParams = {}) {\n super(params);\n const { up, down, left, right } = params;\n this.up = new Momentary({ icon: \"⮉\", name: \"Up\", ...(up ?? {}) });\n this.down = new Momentary({ icon: \"⮋\", name: \"Down\", ...(down ?? {}) });\n this.left = new Momentary({ icon: \"⮈\", name: \"Left\", ...(left ?? {}) });\n this.right = new Momentary({ icon: \"⮊\", name: \"Right\", ...(right ?? {}) });\n }\n\n public get active(): boolean {\n return (\n this.up.active ||\n this.down.active ||\n this.left.active ||\n this.right.active\n );\n }\n}\n","import { Input, InputParams } from \"../input\";\nimport { Axis, AxisParams } from \"./axis\";\n\nexport interface GyroscopeParams extends InputParams {\n /** Configuration for the input's x axis */\n x?: AxisParams;\n\n /** Configuration for the input's y axis */\n y?: AxisParams;\n\n /** Configuration for the input's z axis */\n z?: AxisParams;\n}\n\n/** Tracks the angular velocity of the controller. */\nexport class Gyroscope extends Input<Gyroscope> {\n public readonly state: this = this;\n\n public readonly x: Axis;\n public readonly y: Axis;\n public readonly z: Axis;\n\n constructor(params?: GyroscopeParams) {\n super(params);\n const { x, y, z } = params ?? {};\n\n this.x = new Axis({\n icon: \"GX\",\n name: \"X\",\n ...params,\n ...x,\n });\n this.y = new Axis({\n icon: \"GY\",\n name: \"Y\",\n ...params,\n ...y,\n });\n this.z = new Axis({\n icon: \"GZ\",\n name: \"Z\",\n ...params,\n ...z,\n });\n }\n\n public readonly active = false;\n}\n","import { Input } from \"../input\";\n\n/** Container for counters associated with other inputs */\nexport class Increment extends Input<number> {\n public state: number = 0;\n public active = false;\n}\n","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./accelerometer\";\nexport * from \"./analog\";\nexport * from \"./axis\";\nexport * from \"./battery\";\nexport * from \"./dpad\";\nexport * from \"./gyroscope\";\nexport * from \"./increment\";\nexport * from \"./lightbar\";\nexport * from \"./momentary\";\nexport * from \"./motion\";\nexport * from \"./mute\";\nexport * from \"./player_leds\";\nexport * from \"./touch\";\nexport * from \"./touchpad\";\nexport * from \"./trigger\";\nexport * from \"./trigger_feedback\";\nexport * from \"./unisense\";\n","import { PulseOptions } from \"../hid\";\n\n/** RGB color with 0–255 integer components */\nexport interface RGB {\n r: number;\n g: number;\n b: number;\n}\n\n/** Controls the RGB light bar at the top of the controller */\nexport class Lightbar {\n private _color: RGB = { r: 0, g: 0, b: 255 };\n\n /** One-shot pulse effect to send on the next output cycle */\n private _pendingPulse: PulseOptions = PulseOptions.Off;\n\n /** Get the current color */\n public get color(): RGB {\n return { ...this._color };\n }\n\n /** Set the light bar color (0–255 per channel) */\n public set(color: RGB): void {\n this._color = {\n r: Math.round(Math.max(0, Math.min(255, color.r))),\n g: Math.round(Math.max(0, Math.min(255, color.g))),\n b: Math.round(Math.max(0, Math.min(255, color.b))),\n };\n }\n\n /** Fade the light bar to Sony blue and hold. Use fadeOut() to return to your set color. */\n public fadeBlue(): void {\n this._pendingPulse = PulseOptions.FadeBlue;\n }\n\n /** Fade the light bar to black, then return to the set color. */\n public fadeOut(): void {\n this._pendingPulse = PulseOptions.FadeOut;\n }\n\n /** Consume and return pending pulse (used by the output loop) */\n public consumePulse(): PulseOptions {\n const pulse = this._pendingPulse;\n this._pendingPulse = PulseOptions.Off;\n return pulse;\n }\n\n /** Returns a string key for change detection */\n public toKey(): string {\n return `${this._color.r},${this._color.g},${this._color.b}`;\n }\n}\n","import { Input } from \"../input\";\n\nexport class Momentary extends Input<boolean> {\n public state: boolean = false;\n\n public get active(): boolean {\n return this.state;\n }\n}\n","import { Gyroscope } from \"./gyroscope\";\nimport { Accelerometer } from \"./accelerometer\";\n\nexport class Motion {\n public readonly gyroscope = new Gyroscope();\n public readonly accelerometer = new Accelerometer();\n}\n","import { Momentary } from \"./momentary\";\n\nexport class Mute extends Momentary {\n /** Whether the mute indicator LED is currently lit (managed by controller firmware) */\n public readonly status = new Momentary({ icon: \"🔇\", name: \"MuteStatus\" });\n}\n","import { Brightness } from \"../hid/command\";\n\n/** Controls the 5 white player indicator LEDs at the bottom of the controller */\nexport class PlayerLeds {\n private _bitmask: number = 0;\n private _brightness: Brightness = Brightness.High;\n\n /** Get the current bitmask (5 bits, one per LED) */\n public get bitmask(): number {\n return this._bitmask;\n }\n\n /** Set all 5 LEDs from a bitmask (0–31). PlayerID enum values also work here. */\n public set(bitmask: number): void {\n this._bitmask = bitmask & 0x1f;\n }\n\n /** Set a single LED on or off (index 0–4, left to right) */\n public setLed(index: number, on: boolean): void {\n if (index < 0 || index > 4) return;\n if (on) {\n this._bitmask |= 1 << index;\n } else {\n this._bitmask &= ~(1 << index);\n }\n }\n\n /** Get the state of a single LED (index 0–4) */\n public getLed(index: number): boolean {\n return (this._bitmask & (1 << index)) !== 0;\n }\n\n /** Turn all LEDs off */\n public clear(): void {\n this._bitmask = 0;\n }\n\n /** Get the current brightness */\n public get brightness(): Brightness {\n return this._brightness;\n }\n\n /** Set the player LED brightness (High, Medium, Low) */\n public setBrightness(brightness: Brightness): void {\n this._brightness = brightness;\n }\n\n /** Returns a string key for change detection */\n public toKey(): string {\n return `${this._bitmask},${this._brightness}`;\n }\n}\n","import { Analog } from \"./analog\";\nimport { Increment } from \"./increment\";\n\n/**\n * Represents a touchpad touch, treated like an analog joystick input\n * with [0,0] representing the center of the touchpad.\n */\nexport class Touch extends Analog {\n public readonly state: this = this;\n public readonly contact = this.button;\n public readonly tracker: Increment = new Increment();\n public deadzone = 0;\n\n public get active(): boolean {\n return this.contact.active;\n }\n}\n","import { Momentary } from \"./momentary\";\nimport { Touch } from \"./touch\";\nimport { Input, InputParams } from \"../input\";\n\nexport class Touchpad extends Input<Touchpad> {\n public readonly state: this = this;\n\n public get active(): boolean {\n return this.left.contact.active;\n }\n\n public readonly button: Momentary;\n\n // Left is the default touch, outside multi-touch\n public readonly left: Touch;\n public readonly right: Touch;\n\n constructor(params: InputParams) {\n super(params);\n\n this.button = new Momentary({ icon: \"[__]\" });\n this.left = new Touch();\n this.right = new Touch();\n }\n}\n","import { Input } from \"../input\";\nimport { Magnitude } from \"../math\";\nimport { Momentary } from \"./momentary\";\nimport { TriggerFeedback } from \"./trigger_feedback\";\n\nexport class Trigger extends Input<Magnitude> {\n public state: Magnitude = 0;\n\n public button: Momentary = new Momentary();\n\n /** Desired adaptive trigger feedback state */\n public readonly feedback = new TriggerFeedback();\n\n public get active(): boolean {\n return this.state > 0;\n }\n\n public get pressure(): Magnitude {\n return this.state;\n }\n\n public get magnitude(): Magnitude {\n return this.state;\n }\n\n public changes(state: Magnitude): boolean {\n return this.state !== state;\n }\n}\n","/** Canonical trigger effect types from the DualSense firmware */\nexport enum TriggerEffect {\n /** No resistance — default linear feel */\n Off = \"off\",\n /** Zone-based continuous resistance */\n Feedback = \"feedback\",\n /** Resistance with a snap release point, like a weapon trigger */\n Weapon = \"weapon\",\n /** Weapon feel with snap-back force, like drawing a bow */\n Bow = \"bow\",\n /** Rhythmic two-stroke oscillation */\n Galloping = \"galloping\",\n /** Zone-based oscillation with configurable amplitude and frequency */\n Vibration = \"vibration\",\n /** Dual-amplitude vibration with frequency and period control */\n Machine = \"machine\",\n}\n\n/** Zone-based resistance with per-zone force control */\nexport interface FeedbackEffect {\n effect: TriggerEffect.Feedback;\n /** Where resistance begins along trigger travel (0-1) */\n position: number;\n /** Resistance strength (0-1, maps to firmware's 1-8 scale) */\n strength: number;\n}\n\n/** Resistance with a start position, snap release point, and force */\nexport interface WeaponEffect {\n effect: TriggerEffect.Weapon;\n /** Where resistance begins (0-1, maps to zones 2-7) */\n start: number;\n /** Where snap release occurs (0-1, maps to zones 3-8, must be after start) */\n end: number;\n /** Resistance strength (0-1) */\n strength: number;\n}\n\n/** Weapon feel with snap-back force */\nexport interface BowEffect {\n effect: TriggerEffect.Bow;\n /** Where resistance begins (0-1) */\n start: number;\n /** Where snap-back occurs (0-1, must be after start) */\n end: number;\n /** Pull strength (0-1) */\n strength: number;\n /** Snap-back force (0-1) */\n snapForce: number;\n}\n\n/** Rhythmic two-stroke oscillation */\nexport interface GallopingEffect {\n effect: TriggerEffect.Galloping;\n /** Where effect begins (0-1) */\n start: number;\n /** Where effect ends (0-1) */\n end: number;\n /** First foot timing (0-1, maps to 0-6) */\n firstFoot: number;\n /** Second foot timing (0-1, maps to 0-7, must be after firstFoot) */\n secondFoot: number;\n /** Oscillation frequency in Hz (1-255) */\n frequency: number;\n}\n\n/** Zone-based oscillation with amplitude and frequency control */\nexport interface VibrationEffect {\n effect: TriggerEffect.Vibration;\n /** Where vibration begins along trigger travel (0-1) */\n position: number;\n /** Vibration amplitude (0-1, maps to firmware's 1-8 scale) */\n amplitude: number;\n /** Vibration frequency in Hz (1-255) */\n frequency: number;\n}\n\n/** Dual-amplitude vibration with frequency and period */\nexport interface MachineEffect {\n effect: TriggerEffect.Machine;\n /** Where effect begins (0-1) */\n start: number;\n /** Where effect ends (0-1) */\n end: number;\n /** First amplitude (0-1, maps to 0-7) */\n amplitudeA: number;\n /** Second amplitude (0-1, maps to 0-7) */\n amplitudeB: number;\n /** Vibration frequency in Hz (1-255) */\n frequency: number;\n /** Period in tenths of a second */\n period: number;\n}\n\nexport type TriggerFeedbackConfig =\n | { effect: TriggerEffect.Off }\n | FeedbackEffect\n | WeaponEffect\n | BowEffect\n | GallopingEffect\n | VibrationEffect\n | MachineEffect;\n\n// --- Internal translation to raw 11-byte trigger effect block ---\n\n/** Mode byte values per effect type */\nconst EFFECT_MODE: Record<TriggerEffect, number> = {\n [TriggerEffect.Off]: 0x05,\n [TriggerEffect.Feedback]: 0x21,\n [TriggerEffect.Weapon]: 0x25,\n [TriggerEffect.Bow]: 0x22,\n [TriggerEffect.Galloping]: 0x23,\n [TriggerEffect.Vibration]: 0x26,\n [TriggerEffect.Machine]: 0x27,\n};\n\n/** Clamp and round a 0-1 value to an integer range */\nfunction scale(value: number, max: number, min = 0): number {\n return Math.round(Math.min(max, Math.max(min, value * max)));\n}\n\n/** Build the 11-byte trigger effect block from a config */\nexport function buildTriggerEffectBlock(\n config: TriggerFeedbackConfig,\n): Uint8Array {\n const block = new Uint8Array(11).fill(0);\n\n if (config.effect === TriggerEffect.Off) {\n block[0] = EFFECT_MODE[TriggerEffect.Off];\n return block;\n }\n\n block[0] = EFFECT_MODE[config.effect];\n\n switch (config.effect) {\n case TriggerEffect.Feedback: {\n const position = scale(config.position, 9);\n const strength = scale(config.strength, 8, 1);\n const forceValue = (strength - 1) & 0x07;\n let forceZones = 0;\n let activeZones = 0;\n for (let i = position; i < 10; i++) {\n forceZones |= forceValue << (3 * i);\n activeZones |= 1 << i;\n }\n block[1] = activeZones & 0xff;\n block[2] = (activeZones >> 8) & 0xff;\n block[3] = forceZones & 0xff;\n block[4] = (forceZones >> 8) & 0xff;\n block[5] = (forceZones >> 16) & 0xff;\n block[6] = (forceZones >> 24) & 0xff;\n break;\n }\n\n case TriggerEffect.Weapon: {\n const start = Math.min(7, Math.max(2, scale(config.start, 9)));\n const end = Math.min(8, Math.max(start + 1, scale(config.end, 9)));\n const strength = scale(config.strength, 8, 1);\n const startAndStopZones = (1 << start) | (1 << end);\n block[1] = startAndStopZones & 0xff;\n block[2] = (startAndStopZones >> 8) & 0xff;\n block[3] = strength - 1;\n break;\n }\n\n case TriggerEffect.Bow: {\n const start = scale(config.start, 8);\n const end = Math.max(start + 1, scale(config.end, 8));\n const strength = scale(config.strength, 8, 1);\n const snapForce = scale(config.snapForce, 8, 1);\n const startAndStopZones = (1 << start) | (1 << end);\n const forcePair =\n ((strength - 1) & 0x07) | (((snapForce - 1) & 0x07) << 3);\n block[1] = startAndStopZones & 0xff;\n block[2] = (startAndStopZones >> 8) & 0xff;\n block[3] = forcePair & 0xff;\n block[4] = (forcePair >> 8) & 0xff;\n break;\n }\n\n case TriggerEffect.Galloping: {\n const start = scale(config.start, 8);\n const end = Math.max(start + 1, scale(config.end, 9));\n const firstFoot = scale(config.firstFoot, 6);\n const secondFoot = Math.max(firstFoot + 1, scale(config.secondFoot, 7));\n const startAndStopZones = (1 << start) | (1 << end);\n const timeAndRatio = (secondFoot & 0x07) | ((firstFoot & 0x07) << 3);\n block[1] = startAndStopZones & 0xff;\n block[2] = (startAndStopZones >> 8) & 0xff;\n block[3] = timeAndRatio & 0xff;\n block[4] = Math.min(255, Math.max(1, Math.round(config.frequency)));\n break;\n }\n\n case TriggerEffect.Vibration: {\n const position = scale(config.position, 9);\n const amplitude = scale(config.amplitude, 8, 1);\n const strengthValue = (amplitude - 1) & 0x07;\n let amplitudeZones = 0;\n let activeZones = 0;\n for (let i = position; i < 10; i++) {\n amplitudeZones |= strengthValue << (3 * i);\n activeZones |= 1 << i;\n }\n block[1] = activeZones & 0xff;\n block[2] = (activeZones >> 8) & 0xff;\n block[3] = amplitudeZones & 0xff;\n block[4] = (amplitudeZones >> 8) & 0xff;\n block[5] = (amplitudeZones >> 16) & 0xff;\n block[6] = (amplitudeZones >> 24) & 0xff;\n block[9] = Math.min(255, Math.max(1, Math.round(config.frequency)));\n break;\n }\n\n case TriggerEffect.Machine: {\n const start = scale(config.start, 8);\n const end = Math.max(start + 1, scale(config.end, 9));\n const amplitudeA = scale(config.amplitudeA, 7);\n const amplitudeB = scale(config.amplitudeB, 7);\n const startAndStopZones = (1 << start) | (1 << end);\n const strengthPair = (amplitudeA & 0x07) | ((amplitudeB & 0x07) << 3);\n block[1] = startAndStopZones & 0xff;\n block[2] = (startAndStopZones >> 8) & 0xff;\n block[3] = strengthPair & 0xff;\n block[4] = Math.min(255, Math.max(1, Math.round(config.frequency)));\n block[5] = Math.round(config.period);\n break;\n }\n }\n\n return block;\n}\n\n/** Holds the desired adaptive trigger feedback state and translates it for HID output */\nexport class TriggerFeedback {\n private _config: TriggerFeedbackConfig = { effect: TriggerEffect.Off };\n\n /** The current feedback configuration */\n public get config(): TriggerFeedbackConfig {\n return this._config;\n }\n\n /** The current effect type */\n public get effect(): TriggerEffect {\n return this._config.effect;\n }\n\n /** Set adaptive trigger feedback */\n public set(config: TriggerFeedbackConfig): void {\n this._config = config;\n }\n\n /** Reset to no resistance */\n public reset(): void {\n this._config = { effect: TriggerEffect.Off };\n }\n\n /** Build the raw 11-byte effect block for HID output */\n public toBytes(): Uint8Array {\n return buildTriggerEffectBlock(this._config);\n }\n\n /** String key for change detection in the polling loop */\n public toKey(): string {\n return JSON.stringify(this._config);\n }\n}\n","import { Trigger } from \"./trigger\";\nimport { Momentary } from \"./momentary\";\nimport { Analog, AnalogParams } from \"./analog\";\nimport { Input, InputParams } from \"../input\";\nimport { Intensity } from \"math\";\n\n/** Settings for the trigger, bumpers, and analog stick on one side of the controller */\nexport interface UnisenseParams extends InputParams {\n /** Settings for a trigger */\n trigger?: InputParams;\n /** Settings for a bumper button */\n bumper?: InputParams;\n /** Settings for an analog stick */\n analog?: AnalogParams;\n}\n\n// The name \"Dualsense\" clearly implies a composition of two Unisense elements 🤔\n/** One half of the controller */\nexport class Unisense extends Input<Unisense> {\n public readonly state: this = this;\n\n public readonly trigger: Trigger;\n public readonly bumper: Momentary;\n public readonly analog: Analog;\n private rumbleIntensity: Intensity = 0;\n\n constructor(params: UnisenseParams = {}) {\n super(params);\n const { trigger, bumper, analog } = params;\n\n this.trigger = new Trigger({\n icon: \"2\",\n name: \"Trigger\",\n threshold: 1 / 255,\n ...trigger,\n });\n this.bumper = new Momentary({ icon: \"1\", name: \"Bumper\", ...bumper });\n this.analog = new Analog({\n icon: \"⨁\",\n name: \"Analog\",\n threshold: 1 / 128,\n deadzone: 8 / 128,\n ...analog,\n });\n }\n\n /** Check or adjust rumble intensity for one side of the controller */\n public rumble(intensity?: Intensity | boolean): Intensity {\n if (typeof intensity === \"number\")\n this.rumbleIntensity = Math.max(Math.min(intensity, 1), 0);\n if (intensity === false) this.rumbleIntensity = 0;\n if (intensity === true) this.rumbleIntensity = 1;\n return this.rumbleIntensity;\n }\n\n public get active(): boolean {\n return this.trigger.active || this.bumper.active || this.analog.active;\n }\n}\n","/** Describes the charging behavior of the controller's battery */\nexport enum ChargeStatus {\n Discharging = 0x0,\n Charging = 0x1,\n Full = 0x2,\n AbnormalVoltage = 0xa,\n AbnormalTemperature = 0xb,\n ChargingError = 0xf,\n}\n","// Ported from pydualsense/pydualsense/checksum.py\n// Computes the Bluetooth output-report checksum for report 0x31.\n\nconst hashTable = new Uint32Array([\n 0xd202ef8d, 0xa505df1b, 0x3c0c8ea1, 0x4b0bbe37, 0xd56f2b94, 0xa2681b02,\n 0x3b614ab8, 0x4c667a2e, 0xdcd967bf, 0xabde5729, 0x32d70693, 0x45d03605,\n 0xdbb4a3a6, 0xacb39330, 0x35bac28a, 0x42bdf21c, 0xcfb5ffe9, 0xb8b2cf7f,\n 0x21bb9ec5, 0x56bcae53, 0xc8d83bf0, 0xbfdf0b66, 0x26d65adc, 0x51d16a4a,\n 0xc16e77db, 0xb669474d, 0x2f6016f7, 0x58672661, 0xc603b3c2, 0xb1048354,\n 0x280dd2ee, 0x5f0ae278, 0xe96ccf45, 0x9e6bffd3, 0x0762ae69, 0x70659eff,\n 0xee010b5c, 0x99063bca, 0x000f6a70, 0x77085ae6, 0xe7b74777, 0x90b077e1,\n 0x09b9265b, 0x7ebe16cd, 0xe0da836e, 0x97ddb3f8, 0x0ed4e242, 0x79d3d2d4,\n 0xf4dbdf21, 0x83dcefb7, 0x1ad5be0d, 0x6dd28e9b, 0xf3b61b38, 0x84b12bae,\n 0x1db87a14, 0x6abf4a82, 0xfa005713, 0x8d076785, 0x140e363f, 0x630906a9,\n 0xfd6d930a, 0x8a6aa39c, 0x1363f226, 0x6464c2b0, 0xa4deae1d, 0xd3d99e8b,\n 0x4ad0cf31, 0x3dd7ffa7, 0xa3b36a04, 0xd4b45a92, 0x4dbd0b28, 0x3aba3bbe,\n 0xaa05262f, 0xdd0216b9, 0x440b4703, 0x330c7795, 0xad68e236, 0xda6fd2a0,\n 0x4366831a, 0x3461b38c, 0xb969be79, 0xce6e8eef, 0x5767df55, 0x2060efc3,\n 0xbe047a60, 0xc9034af6, 0x500a1b4c, 0x270d2bda, 0xb7b2364b, 0xc0b506dd,\n 0x59bc5767, 0x2ebb67f1, 0xb0dff252, 0xc7d8c2c4, 0x5ed1937e, 0x29d6a3e8,\n 0x9fb08ed5, 0xe8b7be43, 0x71beeff9, 0x06b9df6f, 0x98dd4acc, 0xefda7a5a,\n 0x76d32be0, 0x01d41b76, 0x916b06e7, 0xe66c3671, 0x7f6567cb, 0x0862575d,\n 0x9606c2fe, 0xe101f268, 0x7808a3d2, 0x0f0f9344, 0x82079eb1, 0xf500ae27,\n 0x6c09ff9d, 0x1b0ecf0b, 0x856a5aa8, 0xf26d6a3e, 0x6b643b84, 0x1c630b12,\n 0x8cdc1683, 0xfbdb2615, 0x62d277af, 0x15d54739, 0x8bb1d29a, 0xfcb6e20c,\n 0x65bfb3b6, 0x12b88320, 0x3fba6cad, 0x48bd5c3b, 0xd1b40d81, 0xa6b33d17,\n 0x38d7a8b4, 0x4fd09822, 0xd6d9c998, 0xa1def90e, 0x3161e49f, 0x4666d409,\n 0xdf6f85b3, 0xa868b525, 0x360c2086, 0x410b1010, 0xd80241aa, 0xaf05713c,\n 0x220d7cc9, 0x550a4c5f, 0xcc031de5, 0xbb042d73, 0x2560b8d0, 0x52678846,\n 0xcb6ed9fc, 0xbc69e96a, 0x2cd6f4fb, 0x5bd1c46d, 0xc2d895d7, 0xb5dfa541,\n 0x2bbb30e2, 0x5cbc0074, 0xc5b551ce, 0xb2b26158, 0x04d44c65, 0x73d37cf3,\n 0xeada2d49, 0x9ddd1ddf, 0x03b9887c, 0x74beb8ea, 0xedb7e950, 0x9ab0d9c6,\n 0x0a0fc457, 0x7d08f4c1, 0xe401a57b, 0x930695ed, 0x0d62004e, 0x7a6530d8,\n 0xe36c6162, 0x946b51f4, 0x19635c01, 0x6e646c97, 0xf76d3d2d, 0x806a0dbb,\n 0x1e0e9818, 0x6909a88e, 0xf000f934, 0x8707c9a2, 0x17b8d433, 0x60bfe4a5,\n 0xf9b6b51f, 0x8eb18589, 0x10d5102a, 0x67d220bc, 0xfedb7106, 0x89dc4190,\n 0x49662d3d, 0x3e611dab, 0xa7684c11, 0xd06f7c87, 0x4e0be924, 0x390cd9b2,\n 0xa0058808, 0xd702b89e, 0x47bda50f, 0x30ba9599, 0xa9b3c423, 0xdeb4f4b5,\n 0x40d06116, 0x37d75180, 0xaede003a, 0xd9d930ac, 0x54d13d59, 0x23d60dcf,\n 0xbadf5c75, 0xcdd86ce3, 0x53bcf940, 0x24bbc9d6, 0xbdb2986c, 0xcab5a8fa,\n 0x5a0ab56b, 0x2d0d85fd, 0xb404d447, 0xc303e4d1, 0x5d677172, 0x2a6041e4,\n 0xb369105e, 0xc46e20c8, 0x72080df5, 0x050f3d63, 0x9c066cd9, 0xeb015c4f,\n 0x7565c9ec, 0x0262f97a, 0x9b6ba8c0, 0xec6c9856, 0x7cd385c7, 0x0bd4b551,\n 0x92dde4eb, 0xe5dad47d, 0x7bbe41de, 0x0cb97148, 0x95b020f2, 0xe2b71064,\n 0x6fbf1d91, 0x18b82d07, 0x81b17cbd, 0xf6b64c2b, 0x68d2d988, 0x1fd5e91e,\n 0x86dcb8a4, 0xf1db8832, 0x616495a3, 0x1663a535, 0x8f6af48f, 0xf86dc419,\n 0x660951ba, 0x110e612c, 0x88073096, 0xff000000,\n]);\n\nexport function computeBluetoothReportChecksum(buffer: Uint8Array): number {\n let result = 0xeada2d49 >>> 0;\n for (let i = 0; i < 74; i++) {\n const idx = ((result & 0xff) ^ (buffer[i] & 0xff)) & 0xff;\n result = (hashTable[idx] ^ (result >>> 8)) >>> 0;\n }\n return result >>> 0;\n}\n\n","export const enum LedOptions {\n Off = 0x0,\n PlayerLedBrightness = 0x1,\n Uninterruptible = 0x2,\n Both = 3, // 0x01 | 0x02\n}\n\nexport enum PulseOptions {\n Off = 0x0,\n FadeBlue = 0x1,\n FadeOut = 0x2,\n}\n\nexport enum Brightness {\n High = 0x0,\n Medium = 0x1,\n Low = 0x2,\n}\n\nexport enum PlayerID {\n Player1 = 4,\n Player2 = 10,\n Player3 = 21,\n Player4 = 27,\n All = 31,\n}\n\nexport const enum CommandScopeA {\n HapticRumble = 0x01,\n PrimaryRumble = 0x02,\n RightTriggerFeedback = 0x04,\n LeftTriggerFeedback = 0x08,\n AudioVolume = 0x10,\n SpeakerToggle = 0x20,\n MicrophoneVolume = 0x40,\n}\n\nexport const enum CommandScopeB {\n MicrophoneLED = 0x01,\n Mute = 0x02,\n TouchpadLeds = 0x04,\n DisableLeds = 0x08,\n PlayerLeds = 0x10,\n MotorPower = 0x40,\n}\n\nexport type CommandScope = CommandScopeA | CommandScopeB;\n\n/** Byte value, 0 to 255 */\ntype Intensity = number;\n\n/** 48 byte packet that is sent to the controller to update LEDs, rumble, etc */\nexport interface DualsenseCommand extends Uint8Array {\n /** Packet type */\n [0]: 0x2;\n /** Command effect limited to these bits */\n [1]: CommandScopeA | 0xff;\n /** Command effect also limited to these bits */\n [2]: CommandScopeB | (0x1 | 0x2 | 0x4 | 0x10 | 0x40);\n /** Right rumble intensity */\n [3]: Intensity;\n /** Left rumble intensity */\n [4]: Intensity;\n [5]: 0; // Audio...\n [6]: 0;\n [7]: 0;\n [8]: 0; // ...related\n /** Microphone LED intensity */\n [9]: Intensity;\n /** Microphone mute state (0x10 muted, 0x00 unmuted) */\n [10]: 0x10 | 0x00;\n // Right trigger effect block (11 bytes: mode + 10 params)\n [11]: number; // Right trigger effect mode\n [12]: number; // Right trigger param 1\n [13]: number; // Right trigger param 2\n [14]: number; // Right trigger param 3\n [15]: number; // Right trigger param 4\n [16]: number; // Right trigger param 5\n [17]: number; // Right trigger param 6\n [18]: number; // Right trigger param 7\n [19]: number; // Right trigger param 8\n [20]: number; // Right trigger param 9\n [21]: number; // Right trigger param 10\n // Left trigger effect block (11 bytes: mode + 10 params)\n [22]: number; // Left trigger effect mode\n [23]: number; // Left trigger param 1\n [24]: number; // Left trigger param 2\n [25]: number; // Left trigger param 3\n [26]: number; // Left trigger param 4\n [27]: number; // Left trigger param 5\n [28]: number; // Left trigger param 6\n [29]: number; // Left trigger param 7\n [30]: number; // Left trigger param 8\n [31]: number; // Left trigger param 9\n [32]: number; // Left trigger param 10\n [33]: 0;\n [34]: 0;\n [35]: 0;\n [36]: 0;\n [37]: 0;\n [38]: 0;\n [39]: LedOptions;\n [40]: 0;\n [41]: 0;\n [42]: PulseOptions;\n [43]: Brightness;\n [44]: PlayerID; // White player ID LED\n [45]: Intensity; // Touchpad red\n [46]: Intensity; // Touchpad green\n [47]: Intensity; // Touchpad blue\n [48]: never;\n}\n","import { CommandScopeA, CommandScopeB, LedOptions, PulseOptions, Brightness } from \"./command\";\nimport {\n HIDProvider,\n DualsenseHIDState,\n DefaultDualsenseHIDState,\n} from \"./hid_provider\";\nimport { computeBluetoothReportChecksum } from \"./bt_checksum\";\n\nexport type HIDCallback = (state: DualsenseHIDState) => void;\nexport type ErrorCallback = (error: Error) => void;\n\nconst SCOPE_A = 1;\nconst SCOPE_B = 2;\n\ninterface CommandByte {\n index: number;\n value: number;\n}\n\ninterface CommandEvent {\n scope: CommandByte;\n values: CommandByte[];\n}\n\n/** Coordinates a HIDProvider and tracks the latest HID state */\nexport class DualsenseHID {\n /** Subscribers waiting for HID state updates */\n private readonly subscribers = new Set<HIDCallback>();\n /** Subscribers waiting for error updates */\n private readonly errorSubscribers = new Set<ErrorCallback>();\n /** Queue of pending HID commands */\n private pendingCommands: CommandEvent[] = [];\n /** Most recent HID state of the device */\n public state: DualsenseHIDState = { ...DefaultDualsenseHIDState };\n\n constructor(\n readonly provider: HIDProvider,\n refreshRate: number = 30,\n ) {\n provider.onData = this.set.bind(this);\n provider.onError = this.handleError.bind(this);\n\n setInterval(() => {\n if (this.pendingCommands.length > 0) {\n (async () => {\n const command = [...this.pendingCommands];\n this.pendingCommands = [];\n await provider.write(\n DualsenseHID.buildFeatureReport(\n command,\n Boolean(provider.wireless),\n ),\n );\n })().catch((err) => {\n this.handleError(\n new Error(`HID write failed: ${JSON.stringify(err)}`),\n );\n });\n }\n }, 1000 / refreshRate);\n }\n\n public get wireless(): boolean {\n return this.provider.wireless ?? false;\n }\n\n /** Register a handler for HID state updates */\n public register(callback: HIDCallback): void {\n this.subscribers.add(callback);\n }\n\n /** Cancel a previously registered handler */\n public unregister(callback: HIDCallback): void {\n this.subscribers.delete(callback);\n }\n\n /** Add a subscriber for errors */\n public on(type: \"error\" | string, callback: ErrorCallback): void {\n if (type === \"error\") this.errorSubscribers.add(callback);\n }\n\n /** Update the HID state and pass it along to all state subscribers */\n private set(state: DualsenseHIDState): void {\n this.state = state;\n this.subscribers.forEach((callback) => callback(state));\n }\n\n /** Pass errors along to all error subscribers */\n private handleError(error: Error): void {\n this.errorSubscribers.forEach((callback) => callback(error));\n }\n\n /** Condense all pending commands into one HID feature report */\n private static buildFeatureReport(\n events: CommandEvent[],\n wireless: boolean,\n ): Uint8Array {\n const usbReport = new Uint8Array(48).fill(0);\n usbReport[0] = 0x2;\n usbReport[1] = events\n .filter(({ scope: { index } }) => index === SCOPE_A)\n .reduce<number>((acc: number, { scope: { value } }) => {\n return acc | value;\n }, 0x00);\n usbReport[2] = events\n .filter(({ scope: { index } }) => index === SCOPE_B)\n .reduce<number>((acc: number, { scope: { value } }) => {\n return acc | value;\n }, 0x00);\n\n events.forEach(({ values }) => {\n values.forEach(({ index, value }) => {\n usbReport[index] = value;\n });\n });\n\n if (!wireless) return usbReport;\n\n // Bluetooth output report (0x31) layout differs from USB:\n // - Adds a constant byte at index 1 (0x02)\n // - Shifts the USB payload indices by +1\n // - Appends a checksum at bytes 74..77 (little-endian)\n const btReport = new Uint8Array(78).fill(0);\n btReport[0] = 0x31;\n btReport[1] = 0x02;\n\n // Copy USB scopes + payload, shifted by +1.\n btReport[2] = usbReport[1];\n btReport[3] = usbReport[2];\n for (let i = 3; i < usbReport.length; i++) {\n btReport[i + 1] = usbReport[i];\n }\n\n const crc = computeBluetoothReportChecksum(btReport);\n btReport[74] = crc & 0xff;\n btReport[75] = (crc >>> 8) & 0xff;\n btReport[76] = (crc >>> 16) & 0xff;\n btReport[77] = (crc >>> 24) & 0xff;\n\n return btReport;\n }\n\n /** Set intensity for left and right rumbles */\n public setRumble(left: number, right: number): void {\n this.pendingCommands.push({\n scope: {\n index: SCOPE_A,\n value: CommandScopeA.PrimaryRumble | CommandScopeA.HapticRumble,\n },\n values: [\n { index: 3, value: right },\n { index: 4, value: left },\n ],\n });\n this.pendingCommands.push({\n scope: { index: SCOPE_B, value: CommandScopeB.MotorPower },\n values: [],\n });\n }\n\n /** Set left trigger effect from an 11-byte effect block */\n public setLeftTriggerFeedback(block: Uint8Array): void {\n this.pendingCommands.push({\n scope: { index: SCOPE_A, value: CommandScopeA.LeftTriggerFeedback },\n values: Array.from(block, (value, i) => ({ index: 22 + i, value })),\n });\n }\n\n /** Set right trigger effect from an 11-byte effect block */\n public setRightTriggerFeedback(block: Uint8Array): void {\n this.pendingCommands.push({\n scope: { index: SCOPE_A, value: CommandScopeA.RightTriggerFeedback },\n values: Array.from(block, (value, i) => ({ index: 11 + i, value })),\n });\n }\n\n /** Set microphone LED on or off */\n public setMicrophoneLED(on: boolean): void {\n this.pendingCommands.push({\n scope: { index: SCOPE_B, value: CommandScopeB.MicrophoneLED },\n values: [{ index: 9, value: on ? 1 : 0 }],\n });\n }\n\n /** Set player indicator LEDs from a 5-bit bitmask and brightness */\n public setPlayerLeds(bitmask: number, brightness: Brightness = Brightness.High): void {\n this.pendingCommands.push({\n scope: { index: SCOPE_B, value: CommandScopeB.PlayerLeds },\n values: [\n { index: 44, value: bitmask & 0x1f },\n { index: 43, value: brightness },\n { index: 39, value: LedOptions.PlayerLedBrightness },\n ],\n });\n }\n\n /** Set the light bar color and pulse effect */\n public setLightbar(\n r: number,\n g: number,\n b: number,\n pulse: PulseOptions = PulseOptions.Off,\n ): void {\n this.pendingCommands.push({\n scope: { index: SCOPE_B, value: CommandScopeB.TouchpadLeds },\n values: [\n { index: 45, value: r },\n { index: 46, value: g },\n { index: 47, value: b },\n ],\n });\n // Override firmware animation to take direct control of the light bar\n this.pendingCommands.push({\n scope: { index: SCOPE_B, value: CommandScopeB.PlayerLeds },\n values: [\n { index: 39, value: LedOptions.Both },\n { index: 42, value: pulse },\n ],\n });\n }\n}\n","import type { HID } from \"node-hid\";\nimport { InputId } from \"../id\";\nimport { ByteArray } from \"./byte_array\";\nimport { ChargeStatus } from \"./battery_state\";\n\nexport * from \"../id\";\n\n/** Maps a HID input of 0...n to -1...1 */\nexport function mapAxis(value: number, max: number = 255): number {\n return (2 / max) * Math.max(0, Math.min(max, value)) - 1;\n}\n\n/** Maps a HID input of 0...255 to 0...1 */\nexport function mapTrigger(value: number): number {\n return (1 / 255) * Math.max(0, Math.min(255, value));\n}\n\n/** Maps a battery level nibble (0–10) to a 0–1 intensity, clamped */\nexport function mapBatteryLevel(value: number): number {\n return Math.min(1, Math.max(0, (value & 0xf) / 10));\n}\n\n/**\n * Maps a HID input for either gyroscope or acceleration.\n * Adapted from https://github.com/nondebug/dualsense\n */\nexport function mapGyroAccel(v0: number, v1: number): number {\n let v = (v1 << 8) | v0;\n if (v > 0x7fff) v -= 0x10000;\n return mapAxis(v + 0x7fff, 0xffff);\n}\n\n/** Describes an observation of the input state of a Dualsense controller */\nexport interface DualsenseHIDState {\n [InputId.LeftAnalogX]: number;\n [InputId.LeftAnalogY]: number;\n [InputId.RightAnalogX]: number;\n [InputId.RightAnalogY]: number;\n [InputId.LeftTrigger]: number;\n [InputId.RightTrigger]: number;\n [InputId.Triangle]: boolean;\n [InputId.Circle]: boolean;\n [InputId.Cross]: boolean;\n [InputId.Square]: boolean;\n [InputId.Dpad]: number;\n [InputId.Up]: boolean;\n [InputId.Down]: boolean;\n [InputId.Left]: boolean;\n [InputId.Right]: boolean;\n [InputId.RightAnalogButton]: boolean;\n [InputId.LeftAnalogButton]: boolean;\n [InputId.Options]: boolean;\n [InputId.Create]: boolean;\n [InputId.RightTriggerButton]: boolean;\n [InputId.LeftTriggerButton]: boolean;\n [InputId.RightBumper]: boolean;\n [InputId.LeftBumper]: boolean;\n [InputId.Playstation]: boolean;\n [InputId.TouchButton]: boolean;\n [InputId.Mute]: boolean;\n [InputId.Status]: boolean;\n [InputId.TouchX0]: number;\n [InputId.TouchY0]: number;\n [InputId.TouchContact0]: boolean;\n [InputId.TouchId0]: number;\n [InputId.TouchX1]: number;\n [InputId.TouchY1]: number;\n [InputId.TouchContact1]: boolean;\n [InputId.TouchId1]: number;\n [InputId.GyroX]: number;\n [InputId.GyroY]: number;\n [InputId.GyroZ]: number;\n [InputId.AccelX]: number;\n [InputId.AccelY]: number;\n [InputId.AccelZ]: number;\n [InputId.BatteryLevel]: number;\n [InputId.BatteryStatus]: ChargeStatus;\n [InputId.MuteLed]: boolean;\n [InputId.Microphone]: boolean;\n [InputId.Headphone]: boolean;\n}\n\n/** Default values for all inputs */\nexport const DefaultDualsenseHIDState: DualsenseHIDState = {\n [InputId.LeftAnalogX]: 0,\n [InputId.LeftAnalogY]: 0,\n [InputId.RightAnalogX]: 0,\n [InputId.RightAnalogY]: 0,\n [InputId.LeftTrigger]: 0,\n [InputId.RightTrigger]: 0,\n [InputId.Triangle]: false,\n [InputId.Circle]: false,\n [InputId.Cross]: false,\n [InputId.Square]: false,\n [InputId.Dpad]: 0,\n [InputId.Up]: false,\n [InputId.Down]: false,\n [InputId.Left]: false,\n [InputId.Right]: false,\n [InputId.RightAnalogButton]: false,\n [InputId.LeftAnalogButton]: false,\n [InputId.Options]: false,\n [InputId.Create]: false,\n [InputId.RightTriggerButton]: false,\n [InputId.LeftTriggerButton]: false,\n [InputId.RightBumper]: false,\n [InputId.LeftBumper]: false,\n [InputId.Playstation]: false,\n [InputId.TouchButton]: false,\n [InputId.Mute]: false,\n [InputId.Status]: false,\n [InputId.TouchX0]: 0,\n [InputId.TouchY0]: 0,\n [InputId.TouchContact0]: false,\n [InputId.TouchId0]: 0,\n [InputId.TouchX1]: 0,\n [InputId.TouchY1]: 0,\n [InputId.TouchContact1]: false,\n [InputId.TouchId1]: 0,\n [InputId.GyroX]: 0,\n [InputId.GyroY]: 0,\n [InputId.GyroZ]: 0,\n [InputId.AccelX]: 0,\n [InputId.AccelY]: 0,\n [InputId.AccelZ]: 0,\n [InputId.BatteryLevel]: 0,\n [InputId.BatteryStatus]: ChargeStatus.Discharging,\n [InputId.MuteLed]: false,\n [InputId.Microphone]: false,\n [InputId.Headphone]: false,\n};\n\n/** Information about an available Dualsense device */\nexport interface DualsenseDeviceInfo {\n /** Unique device path (platform-specific) */\n path: string;\n /** Hardware serial number, if available */\n serialNumber?: string;\n /** Whether the device is connected wirelessly */\n wireless: boolean;\n}\n\n/** Supports a connection to a physical or virtual Dualsense device */\nexport abstract class HIDProvider {\n /** HID vendorId for a Dualsense controller */\n static readonly vendorId: number = 1356;\n /** HID productId for a Dualsense controller */\n static readonly productId: number = 3302;\n /** HID usagePage for a Dualsense controller */\n static readonly usagePage: number = 0x0001;\n /** HID usage for a Dualsense controller */\n static readonly usage: number = 0x0005;\n\n /** Global set of device paths currently claimed by a provider instance */\n static readonly claimedDevices = new Set<string>();\n\n /** Callback to use for new input events */\n public onData: (state: DualsenseHIDState) => void = () => {};\n\n /** Callback to use for Error events */\n public onError: (error: Error) => void = () => {};\n\n /** Unique identifier for the connected device (path or serial) */\n public deviceId?: string;\n\n /** Hardware serial number of the connected device */\n public serialNumber?: string;\n\n /** Search for a controller and connect to it */\n abstract connect(): void;\n\n /** Stop accepting input from the controller */\n abstract disconnect(): void;\n\n /** Returns true if a device is currently connected and working */\n abstract get connected(): boolean;\n\n /** The underlying HID device handle */\n abstract device?: HIDDevice | HID;\n\n /** Returns true if a device is connected wirelessly */\n abstract wireless?: boolean;\n\n /** Debug: The most recent HID report buffer */\n abstract buffer?: Buffer | DataView;\n\n /** Converts the HID report to a simpler format */\n abstract process(input: unknown): DualsenseHIDState;\n\n /** Write to the HID device */\n abstract write(data: Uint8Array): Promise<void>;\n\n /** If true, gyroscope, touchpad, accelerometer are disabled */\n public limited?: boolean;\n\n /**\n * Sselects the correct method for reading the report.\n * @param buffer HID report buffer\n */\n protected processReport(buffer: ByteArray): DualsenseHIDState {\n const reportId = buffer.readUint8(0);\n\n switch (reportId) {\n case 0x01:\n return this.wireless\n ? this.processBluetoothInputReport01(buffer)\n : this.processUsbInputReport01(buffer);\n case 0x31:\n return this.processBluetoothInputReport31(buffer);\n\n default:\n this.onError(\n new Error(`Cannot process report, unexpected report id: ${reportId}`)\n );\n this.disconnect();\n return { ...DefaultDualsenseHIDState };\n }\n }\n\n /**\n * Reset the HIDProvider state when the device is disconnected\n */\n protected reset(): void {\n if (this.deviceId) {\n HIDProvider.claimedDevices.delete(this.deviceId);\n }\n this.device = undefined;\n this.wireless = undefined;\n this.buffer = undefined;\n this.limited = undefined;\n this.deviceId = undefined;\n this.serialNumber = undefined;\n this.onData(DefaultDualsenseHIDState);\n }\n\n /**\n * Process a bluetooth input report of type 01.\n * @param buffer the report\n */\n protected processBluetoothInputReport01(\n buffer: ByteArray\n ): DualsenseHIDState {\n this.limited = true;\n const buttonsAndDpad = buffer.readUint8(5);\n const buttons = buttonsAndDpad >> 4;\n const dpad = buttonsAndDpad & 0b1111;\n\n const miscButtons = buffer.readUint8(6);\n const lastButtons = buffer.readUint8(7);\n\n return {\n ...DefaultDualsenseHIDState,\n [InputId.LeftAnalogX]: mapAxis(buffer.readUint8(1)),\n [InputId.LeftAnalogY]: -mapAxis(buffer.readUint8(2)),\n [InputId.RightAnalogX]: mapAxis(buffer.readUint8(3)),\n [InputId.RightAnalogY]: -mapAxis(buffer.readUint8(4)),\n [InputId.LeftTrigger]: mapTrigger(buffer.readUint8(8)),\n [InputId.RightTrigger]: mapTrigger(buffer.readUint8(9)),\n [InputId.Triangle]: (buttons & 8) > 0,\n [InputId.Circle]: (buttons & 4) > 0,\n [InputId.Cross]: (buttons & 2) > 0,\n [InputId.Square]: (buttons & 1) > 0,\n [InputId.Dpad]: dpad,\n [InputId.Up]: dpad < 2 || dpad === 7,\n [InputId.Down]: dpad > 2 && dpad < 6,\n [InputId.Left]: dpad > 4 && dpad < 8,\n [InputId.Right]: dpad > 0 && dpad < 4,\n [InputId.LeftTriggerButton]: (miscButtons & 4) > 0,\n [InputId.RightTriggerButton]: (miscButtons & 8) > 0,\n [InputId.LeftBumper]: (miscButtons & 1) > 0,\n [InputId.RightBumper]: (miscButtons & 2) > 0,\n [InputId.Create]: (miscButtons & 16) > 0,\n [InputId.Options]: (miscButtons & 32) > 0,\n [InputId.LeftAnalogButton]: (miscButtons & 64) > 0,\n [InputId.RightAnalogButton]: (miscButtons & 128) > 0,\n [InputId.Playstation]: (lastButtons & 1) > 0,\n [InputId.TouchButton]: (lastButtons & 2) > 0,\n // See https://github.com/nondebug/dualsense/blob/main/dualsense-explorer.html#L338\n //\n // \"By default, bluetooth-connected DualSense only sends input report 0x01 which omits motion and touchpad data.\n // Reading feature report 0x05 causes it to start sending input report 0x31.\n //\n // Note: The Gamepad API will do this for us if it enumerates the gamepad.\n // Other applications like Steam may have also done this already.\"\n };\n }\n\n /** Process bluetooth input report of type 31 */\n protected processBluetoothInputReport31(buffer: ByteArray) {\n this.limited = false;\n const buttonsAndDpad = buffer.readUint8(9);\n const buttons = buttonsAndDpad >> 4;\n const dpad = buttonsAndDpad & 0b1111;\n const miscButtons = buffer.readUint8(10);\n const lastButtons = buffer.readUint8(11);\n\n return {\n [InputId.LeftAnalogX]: mapAxis(buffer.readUint8(2)),\n [InputId.LeftAnalogY]: -mapAxis(buffer.readUint8(3)),\n [InputId.RightAnalogX]: mapAxis(buffer.readUint8(4)),\n [InputId.RightAnalogY]: -mapAxis(buffer.readUint8(5)),\n [InputId.LeftTrigger]: mapTrigger(buffer.readUint8(6)),\n [InputId.RightTrigger]: mapTrigger(buffer.readUint8(7)),\n [InputId.Triangle]: (buttons & 8) > 0,\n [InputId.Circle]: (buttons & 4) > 0,\n [InputId.Cross]: (buttons & 2) > 0,\n [InputId.Square]: (buttons & 1) > 0,\n [InputId.Dpad]: dpad,\n [InputId.Up]: dpad < 2 || dpad === 7,\n [InputId.Down]: dpad > 2 && dpad < 6,\n [InputId.Left]: dpad > 4 && dpad < 8,\n [InputId.Right]: dpad > 0 && dpad < 4,\n [InputId.LeftTriggerButton]: (miscButtons & 4) > 0,\n [InputId.RightTriggerButton]: (miscButtons & 8) > 0,\n [InputId.LeftBumper]: (miscButtons & 1) > 0,\n [InputId.RightBumper]: (miscButtons & 2) > 0,\n [InputId.Create]: (miscButtons & 16) > 0,\n [InputId.Options]: (miscButtons & 32) > 0,\n [InputId.LeftAnalogButton]: (miscButtons & 64) > 0,\n [InputId.RightAnalogButton]: (miscButtons & 128) > 0,\n [InputId.Playstation]: (lastButtons & 1) > 0,\n [InputId.TouchButton]: (lastButtons & 2) > 0,\n [InputId.Mute]: (lastButtons & 4) > 0,\n [InputId.GyroX]: mapGyroAccel(buffer.readUint8(17), buffer.readUint8(18)),\n [InputId.GyroY]: mapGyroAccel(buffer.readUint8(19), buffer.readUint8(20)),\n [InputId.GyroZ]: mapGyroAccel(buffer.readUint8(21), buffer.readUint8(22)),\n [InputId.AccelX]: mapGyroAccel(\n buffer.readUint8(23),\n buffer.readUint8(24)\n ),\n [InputId.AccelY]: mapGyroAccel(\n buffer.readUint8(25),\n buffer.readUint8(26)\n ),\n [InputId.AccelZ]: mapGyroAccel(\n buffer.readUint8(27),\n buffer.readUint8(28)\n ),\n [InputId.TouchId0]: buffer.readUint8(34) & 0x7f,\n [InputId.TouchContact0]: (buffer.readUint8(34) & 0x80) === 0,\n [InputId.TouchX0]: mapAxis((buffer.readUint16LE(35) << 20) >> 20, 1920),\n [InputId.TouchY0]: mapAxis(buffer.readUint16LE(36) >> 4, 1080),\n [InputId.TouchId1]: buffer.readUint8(38) & 0x7f,\n [InputId.TouchContact1]: (buffer.readUint8(38) & 0x80) === 0,\n [InputId.TouchX1]: mapAxis((buffer.readUint16LE(39) << 20) >> 20, 1920),\n [InputId.TouchY1]: mapAxis(buffer.readUint16LE(40) >> 4, 1080),\n [InputId.Status]: (buffer.readUint8(55) & 8) > 0,\n [InputId.MuteLed]: (buffer.readUint8(55) & 4) > 0,\n [InputId.Microphone]: (buffer.readUint8(55) & 2) > 0,\n [InputId.Headphone]: (buffer.readUint8(55) & 1) > 0,\n [InputId.BatteryLevel]: mapBatteryLevel(buffer.readUint8(54)),\n [InputId.BatteryStatus]: (buffer.readUint8(54) >> 4) as ChargeStatus,\n };\n }\n\n /**\n * Process a USB input report of type 01.\n * @param buffer the report\n */\n protected processUsbInputReport01(buffer: ByteArray): DualsenseHIDState {\n this.limited = false;\n const buttonsAndDpad = buffer.readUint8(8);\n const buttons = buttonsAndDpad >> 4;\n const dpad = buttonsAndDpad & 0b1111;\n const miscButtons = buffer.readUint8(9);\n const lastButtons = buffer.readUint8(10);\n\n return {\n [InputId.LeftAnalogX]: mapAxis(buffer.readUint8(1)),\n [InputId.LeftAnalogY]: -mapAxis(buffer.readUint8(2)),\n [InputId.RightAnalogX]: mapAxis(buffer.readUint8(3)),\n [InputId.RightAnalogY]: -mapAxis(buffer.readUint8(4)),\n [InputId.LeftTrigger]: mapTrigger(buffer.readUint8(5)),\n [InputId.RightTrigger]: mapTrigger(buffer.readUint8(6)),\n [InputId.Triangle]: (buttons & 8) > 0,\n [InputId.Circle]: (buttons & 4) > 0,\n [InputId.Cross]: (buttons & 2) > 0,\n [InputId.Square]: (buttons & 1) > 0,\n [InputId.Dpad]: dpad,\n [InputId.Up]: dpad < 2 || dpad === 7,\n [InputId.Down]: dpad > 2 && dpad < 6,\n [InputId.Left]: dpad > 4 && dpad < 8,\n [InputId.Right]: dpad > 0 && dpad < 4,\n [InputId.LeftTriggerButton]: (miscButtons & 4) > 0,\n [InputId.RightTriggerButton]: (miscButtons & 8) > 0,\n [InputId.LeftBumper]: (miscButtons & 1) > 0,\n [InputId.RightBumper]: (miscButtons & 2) > 0,\n [InputId.Create]: (miscButtons & 16) > 0,\n [InputId.Options]: (miscButtons & 32) > 0,\n [InputId.LeftAnalogButton]: (miscButtons & 64) > 0,\n [InputId.RightAnalogButton]: (miscButtons & 128) > 0,\n [InputId.Playstation]: (lastButtons & 1) > 0,\n [InputId.TouchButton]: (lastButtons & 2) > 0,\n [InputId.Mute]: (lastButtons & 4) > 0,\n // The other 5 bits are unused\n // 5 reserved bytes\n [InputId.GyroX]: mapGyroAccel(buffer.readUint8(16), buffer.readUint8(17)),\n [InputId.GyroY]: mapGyroAccel(buffer.readUint8(18), buffer.readUint8(19)),\n [InputId.GyroZ]: mapGyroAccel(buffer.readUint8(20), buffer.readUint8(21)),\n [InputId.AccelX]: mapGyroAccel(\n buffer.readUint8(22),\n buffer.readUint8(23)\n ),\n [InputId.AccelY]: mapGyroAccel(\n buffer.readUint8(24),\n buffer.readUint8(25)\n ),\n [InputId.AccelZ]: mapGyroAccel(\n buffer.readUint8(26),\n buffer.readUint8(27)\n ),\n // 4 bytes for sensor timestamp (32LE)\n // 1 reserved byte\n [InputId.TouchId0]: buffer.readUint8(33) & 0x7f,\n [InputId.TouchContact0]: (buffer.readUint8(33) & 0x80) === 0,\n [InputId.TouchX0]: mapAxis((buffer.readUint16LE(34) << 20) >> 20, 1920),\n [InputId.TouchY0]: mapAxis(buffer.readUint16LE(35) >> 4, 1080),\n [InputId.TouchId1]: buffer.readUint8(37) & 0x7f,\n [InputId.TouchContact1]: (buffer.readUint8(37) & 0x80) === 0,\n [InputId.TouchX1]: mapAxis((buffer.readUint16LE(38) << 20) >> 20, 1920),\n [InputId.TouchY1]: mapAxis(buffer.readUint16LE(39) >> 4, 1080),\n // 12 reserved bytes\n [InputId.Status]: (buffer.readUint8(54) & 8) > 0,\n [InputId.MuteLed]: (buffer.readUint8(54) & 4) > 0,\n [InputId.Microphone]: (buffer.readUint8(54) & 2) > 0,\n [InputId.Headphone]: (buffer.readUint8(54) & 1) > 0,\n [InputId.BatteryLevel]: mapBatteryLevel(buffer.readUint8(53)),\n [InputId.BatteryStatus]: (buffer.readUint8(53) >> 4) as ChargeStatus,\n };\n }\n}\n","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./battery_state\";\nexport * from \"./bt_checksum\";\nexport * from \"./byte_array\";\nexport * from \"./command\";\nexport * from \"./dualsense_hid\";\nexport * from \"./hid_provider\";\nexport * from \"./node_hid_provider\";\nexport * from \"./platform_hid_provider\";\nexport * from \"./web_hid_provider\";\n","import type { HID, Device } from \"node-hid\";\nimport { ByteArray } from \"./byte_array\";\nimport { HIDProvider, DualsenseHIDState, DualsenseDeviceInfo } from \"./hid_provider\";\n\nexport interface NodeHIDProviderOptions {\n /** Connect only to the device at this specific path */\n devicePath?: string;\n /** Prefer the device with this serial number (stable across USB/BT switches) */\n serialNumber?: string;\n}\n\nexport class NodeHIDProvider extends HIDProvider {\n public device?: HID;\n public wireless?: boolean;\n public buffer?: Buffer;\n\n private connecting = false;\n /** Target device path — mutable so the manager can update it on USB/BT switches */\n public targetPath?: string;\n /** Target serial number — stable identifier for reconnection */\n public targetSerial?: string;\n\n constructor(options: NodeHIDProviderOptions = {}) {\n super();\n this.targetPath = options.devicePath;\n this.targetSerial = options.serialNumber;\n }\n\n /** List all available Dualsense controllers */\n static async enumerate(): Promise<DualsenseDeviceInfo[]> {\n let nodeHid: typeof import(\"node-hid\");\n try {\n nodeHid = await import(\"node-hid\");\n } catch {\n return [];\n }\n\n const controllers = nodeHid.devices(\n HIDProvider.vendorId,\n HIDProvider.productId\n );\n\n return controllers\n .filter((d: Device): d is Device & { path: string } => Boolean(d.path))\n .map((d) => ({\n path: d.path,\n serialNumber: d.serialNumber ?? undefined,\n wireless: d.interface === -1,\n }));\n }\n\n async connect(): Promise<void> {\n if (this.connecting) return;\n if (typeof window !== \"undefined\")\n return this.onError(\n new Error(\"Attempted to use node-hid in browser environment\")\n );\n\n this.connecting = true;\n let nodeHid: typeof import(\"node-hid\");\n try {\n nodeHid = await import(\"node-hid\");\n } catch (err) {\n this.connecting = false;\n return this.onError(\n new Error(\n `Could not import 'node-hid'. Did you add it?\\nError: ${\n err instanceof Error ? err.message : \"???\"\n }`\n )\n );\n }\n\n try {\n this.disconnect();\n const { HID, devices } = nodeHid;\n const controllers = devices(\n HIDProvider.vendorId,\n HIDProvider.productId\n );\n\n // Find a suitable controller: targeted path, then serial match, then first unclaimed\n let target = this.targetPath\n ? controllers.find((d) => d.path === this.targetPath)\n : undefined;\n\n // Fall back to serial match (handles USB/BT switches where path changes)\n if (!target && this.targetSerial) {\n target = controllers.find(\n (d) =>\n d.serialNumber === this.targetSerial &&\n d.path &&\n !HIDProvider.claimedDevices.has(d.path)\n );\n if (target?.path != null) {\n this.targetPath = target.path;\n }\n }\n\n // No specific target: grab first unclaimed device\n if (!target && !this.targetPath && !this.targetSerial) {\n target = controllers.find(\n (d) => d.path && !HIDProvider.claimedDevices.has(d.path)\n );\n }\n\n if (!target?.path) {\n return this.onError(\n new Error(`No controllers (${devices().length} other devices)`)\n );\n }\n\n // Detect connection type\n this.wireless = target.interface === -1;\n\n const device = new HID(target.path);\n\n // Claim this device\n this.deviceId = target.path;\n this.serialNumber = target.serialNumber ?? undefined;\n HIDProvider.claimedDevices.add(target.path);\n\n // Enable accelerometer, gyro, touchpad\n device.getFeatureReport(0x05, 41);\n\n device.on(\"data\", (arg: Buffer) => {\n this.buffer = arg;\n this.onData(this.process(arg));\n });\n device.on(\"error\", (err: Error) => {\n this.disconnect();\n this.onError(err);\n });\n\n this.device = device;\n } catch (err) {\n this.onError(\n err instanceof Error ? err : new Error(String(err))\n );\n } finally {\n this.connecting = false;\n }\n }\n\n write(data: Uint8Array): Promise<void> {\n if (!this.device) return Promise.resolve();\n this.device.write(Array.from(data));\n return Promise.resolve();\n }\n\n get connected(): boolean {\n return this.device !== undefined;\n }\n\n disconnect(): void {\n if (this.device) {\n this.device.removeAllListeners();\n this.device.close();\n }\n this.reset();\n }\n\n process(buffer: Buffer): DualsenseHIDState {\n const report: ByteArray = {\n length: buffer.length,\n readUint8(offset) {\n return buffer.readUint8(offset);\n },\n readUint16LE(offset) {\n return buffer.readUint16LE(offset);\n },\n };\n return this.processReport(report);\n }\n}\n","import { NodeHIDProvider } from './node_hid_provider'\nimport { WebHIDProvider } from './web_hid_provider'\n\nexport const PlatformHIDProvider = typeof window === 'undefined' ? NodeHIDProvider : WebHIDProvider;\n","import { ByteArray } from \"./byte_array\";\nimport { HIDProvider, DualsenseHIDState } from \"./hid_provider\";\n\nexport interface WebHIDProviderOptions {\n /** Attach to this specific HIDDevice instead of discovering one */\n device?: HIDDevice;\n}\n\n/** Callback invoked for each device selected via the WebHID permission dialog */\nexport type WebHIDDeviceCallback = (device: HIDDevice) => void;\n\nexport class WebHIDProvider extends HIDProvider {\n public device?: HIDDevice;\n public wireless?: boolean;\n public buffer?: DataView;\n\n private readonly targetDevice?: HIDDevice;\n\n constructor(options: WebHIDProviderOptions = {}) {\n super();\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!navigator.hid) throw new Error(\"WebHID not supported by this browser\");\n\n this.targetDevice = options.device;\n\n navigator.hid.addEventListener(\"disconnect\", ({ device }) => {\n if (device === this.device) {\n this.device = undefined;\n this.disconnect();\n }\n });\n navigator.hid.addEventListener(\"connect\", ({ device }) => {\n if (!this.device && !this.targetDevice) this.attach(device);\n });\n\n // If a specific device was provided, attach immediately\n if (this.targetDevice) {\n this.attach(this.targetDevice);\n }\n }\n\n /**\n * WebHID API doesn't indicate whether we are connected through the controller's\n * USB or Bluetooth interface. The protocol is different depending on the connection\n * type so we will try to detect it based on the collection information.\n */\n detectConnectionType(): void {\n this.wireless = undefined;\n if (!this.device) {\n return;\n }\n\n for (const c of this.device.collections) {\n if (\n c.usagePage !== HIDProvider.usagePage ||\n c.usage !== HIDProvider.usage\n ) {\n continue;\n }\n\n // Compute the maximum input report byte length and compare against known values.\n const maxInputReportBytes = (c.inputReports ?? []).reduce(\n (max, report) => {\n return Math.max(\n max,\n (report.items ?? []).reduce((sum, item) => {\n return sum + (item.reportSize ?? 0) * (item.reportCount ?? 0);\n }, 0)\n );\n },\n 0\n );\n\n if (maxInputReportBytes == 504) {\n this.wireless = false;\n } else if (maxInputReportBytes == 616) {\n this.wireless = true;\n }\n }\n }\n\n /** Derive a stable identity string for a WebHID device */\n private static deviceKey(device: HIDDevice): string {\n // WebHID does not expose serial numbers or paths directly.\n // We use the product name + vendor/product ids as a coarse key, but\n // because multiple identical controllers may be connected, append the\n // device object's own identity via its collections fingerprint.\n const collections = device.collections\n .map((c) => `${String(c.usagePage)}:${String(c.usage)}`)\n .join(\";\");\n return `${device.vendorId}:${device.productId}:${collections}:${device.productName}`;\n }\n\n attach(device: HIDDevice): void {\n const key = WebHIDProvider.deviceKey(device);\n if (HIDProvider.claimedDevices.has(key)) {\n return; // Already claimed by another instance\n }\n\n device\n .open()\n .then(() => {\n this.device = device;\n this.deviceId = key;\n HIDProvider.claimedDevices.add(key);\n this.detectConnectionType();\n\n // Enable accelerometer, gyro, touchpad\n return this.device.receiveFeatureReport(0x05);\n })\n .then(() => {\n if (!this.device) throw Error(\"Controller disconnected before setup\");\n this.device.addEventListener(\"inputreport\", ({ reportId, data }) => {\n this.buffer = data;\n this.onData(this.process({ reportId, buffer: data }));\n });\n })\n .catch((err: Error) => {\n this.onError(err);\n this.disconnect();\n });\n }\n\n /**\n * You need to get HID device permissions from an interactive\n * component, like a button. This returns a callback for triggering\n * the permissions request.\n */\n getRequest(): () => Promise<unknown> {\n return () =>\n navigator.hid\n .requestDevice({\n filters: [\n {\n vendorId: HIDProvider.vendorId,\n productId: HIDProvider.productId,\n usagePage: HIDProvider.usagePage,\n usage: HIDProvider.usage,\n },\n ],\n })\n .then((devices: HIDDevice[]) => {\n if (devices.length === 0) {\n return this.onError(new Error(`No controllers available`));\n }\n this.attach(devices[0]);\n })\n .catch((err: Error) => {\n this.onError(err);\n });\n }\n\n /**\n * Request permission for multiple devices at once. Returns a callback\n * suitable for use as an onClick handler. The `onDevice` callback is\n * invoked once per selected device with the raw HIDDevice handle.\n */\n static getMultiRequest(\n onDevice: WebHIDDeviceCallback,\n onError?: (error: Error) => void\n ): () => Promise<void> {\n return () =>\n navigator.hid\n .requestDevice({\n filters: [\n {\n vendorId: HIDProvider.vendorId,\n productId: HIDProvider.productId,\n usagePage: HIDProvider.usagePage,\n usage: HIDProvider.usage,\n },\n ],\n })\n .then((devices: HIDDevice[]) => {\n devices.forEach((device) => onDevice(device));\n })\n .catch((err: Error) => {\n onError?.(err);\n });\n }\n\n /** List already-permitted Dualsense devices */\n static async enumerate(): Promise<HIDDevice[]> {\n const all = await navigator.hid.getDevices();\n return all.filter(\n (d) =>\n d.vendorId === HIDProvider.vendorId &&\n d.productId === HIDProvider.productId\n );\n }\n\n connect(): void {\n // Nothing to be done.\n }\n\n get connected(): boolean {\n return this.device !== undefined;\n }\n\n disconnect(): void {\n if (this.device) {\n this.device.close().finally(() => this.reset());\n } else {\n this.reset();\n }\n }\n\n async write(data: Uint8Array): Promise<void> {\n if (!this.device) return;\n const reportId = data[0];\n const payload = data.slice(1);\n return this.device.sendReport(reportId, payload);\n }\n\n process({\n reportId,\n buffer,\n }: {\n reportId: number;\n buffer: DataView;\n }): DualsenseHIDState {\n // DataView does not report the first byte (the report id), we simulate it\n const report: ByteArray = {\n length: buffer.byteLength + 1,\n readUint8(offset) {\n return offset > 0 ? buffer.getUint8(offset - 1) : reportId;\n },\n readUint16LE(offset) {\n return offset > 0\n ? buffer.getUint16(offset - 1, true)\n : (reportId << 8) | buffer.getUint8(0);\n },\n };\n\n return this.processReport(report);\n }\n}\n","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./comparators\";\nexport * from \"./dualsense\";\nexport * from \"./id\";\nexport * from \"./input\";\nexport * from \"./manager\";\nexport * from \"./math\";\nexport * from \"./elements/index\";\nexport * from \"./hid/index\";\n","import { InputId } from \"./id\";\nimport {\n VirtualComparator,\n ThresholdComparator,\n BasicComparator,\n} from \"./comparators\";\n\nexport { InputId } from \"./id\";\n\n/** Basic settings for any controller input */\nexport interface InputParams {\n /** User-friendly name for the input */\n name?: string;\n /** Icon representing the input */\n icon?: string;\n /** Ignore changes numeric inputs less than this value */\n threshold?: number;\n /** Ignore numeric inputs below this value */\n deadzone?: number;\n}\n\n/** Track inputs on button press, release, or both */\nexport type InputChangeType = \"change\" | \"press\" | \"release\";\n/** Keys representing possible input events */\nexport type InputEventType = InputChangeType | \"input\";\n\n/** Callback for recieving controller input changes */\nexport type InputCallback<Instance> = (\n input: Instance,\n changed: Instance | Input<unknown>\n) => unknown | Promise<unknown>;\n\n/** Symbol for modifying the comparison function used by Inputs */\nexport const InputSetComparator = Symbol(\"InputSetComparator\");\n/** Symbol for modifying the current value of an Input */\nexport const InputSet = Symbol(\"InputSet\");\n/** Symbol for accessing the name of an Input */\nexport const InputName = Symbol(\"InputName\");\n/** Symbole for accessing the icon of an Input */\nexport const InputIcon = Symbol(\"InputIcon\");\n\n/** Symbol for accessing an Input's event subscriber callbacks */\nconst InputOns = Symbol(\"InputOns\");\n/** Symbol for accessing an Input's single-time subscriber callbacks */\nconst InputOnces = Symbol(\"InputOnces\");\n/** Symbol for notifying an Input that it has a parent */\nconst InputAdopt = Symbol(\"InputAdopt\");\n/** Symbol for accessing an Input's parent Inputs */\nconst InputParents = Symbol(\"InputParents\");\n/** Symbol for accessing the comparison function used by an Input */\nconst InputComparator = Symbol(\"InputComparator\");\n\n/**\n * Input manages the state of a single device input,\n * a virtual input, or a group of Input children.\n */\nexport abstract class Input<Type> implements AsyncIterator<Input<Type>> {\n public readonly id: InputId = InputId.Unknown;\n\n /** For numeric inputs, ignore state changes smaller than this threshold */\n public threshold: number = 0;\n\n /** For numeric inputs, ignore states smaller than this deadzone */\n public deadzone: number = 0;\n\n /** The current value of this input */\n public abstract state: Type;\n\n /** Stores event listeners */\n private [InputOns] = new Map<InputEventType, InputCallback<this>[]>();\n\n /** Stores callbacks waiting for one-time events */\n private [InputOnces] = new Map<InputChangeType, InputCallback<this>[]>();\n\n constructor(params: InputParams = {}) {\n const { name, icon, threshold, deadzone } = params;\n\n if (name) this[InputName] = name;\n if (icon) this[InputIcon] = icon;\n if (threshold) this.threshold = threshold;\n if (deadzone) this.deadzone = deadzone;\n\n setTimeout(() => {\n this[InputSetComparator]();\n Object.values(this).forEach((value) => {\n if (value === this) return;\n if (value instanceof Input) value[InputAdopt](this as Input<unknown>);\n });\n });\n }\n\n /** Returns true if this input or any nested inputs are currently in use */\n public abstract get active(): boolean;\n\n /** Register a callback to recieve state updates from this Input */\n public on(event: InputEventType, listener: InputCallback<this>): this {\n const listeners = this[InputOns].get(event);\n if (!listeners) {\n this[InputOns].set(event, []);\n return this.on(event, listener);\n }\n listeners.push(listener);\n return this;\n }\n\n /** Register a callback to recieve the next specified update */\n public once(event: InputChangeType, listener: InputCallback<this>): this {\n const listeners = this[InputOnces].get(event);\n if (!listeners) {\n this[InputOnces].set(event, []);\n return this.once(event, listener);\n }\n listeners.push(listener);\n return this;\n }\n\n /** Notify listeners and parents of a state change */\n private emit(event: InputEventType, changed: Input<unknown> | this): void {\n const listeners = this[InputOns].get(event) ?? [];\n listeners.forEach((callback) => {\n callback(this, changed);\n });\n\n if (event !== \"input\") {\n this.emitOnce(event, changed);\n this[InputParents].forEach((input) => {\n input.emit(event, changed as Input<unknown>);\n });\n }\n }\n\n /** Notify one-time listeners of a state change */\n private emitOnce(\n event: InputChangeType,\n changed: this | Input<unknown> = this\n ): void {\n const listeners = this[InputOnces].get(event) ?? [];\n this[InputOnces].set(event, []);\n listeners.forEach((callback) => {\n callback(this, changed as Input<unknown>);\n });\n }\n\n /** Register a callback to recieve state updates from this Input */\n public addEventListener(\n event: InputEventType,\n listener: InputCallback<this>,\n { once }: { once: boolean } = { once: false }\n ): this {\n if (once) {\n if (event === \"input\") {\n throw new Error(\"Can't listen once to `input` events\");\n }\n return this.once(event, listener);\n }\n return this.on(event, listener);\n }\n\n /** Resolves on the next change to this input's state */\n public next(type: InputChangeType = \"change\"): Promise<IteratorResult<this>> {\n return new Promise<IteratorResult<this>>((resolve) => {\n this.once(type, () => {\n resolve({ value: this, done: false });\n });\n });\n }\n\n /** Resolves on the next change to this input's state */\n public promise(\n type: \"press\" | \"release\" | \"change\" = \"change\"\n ): Promise<this> {\n return new Promise<this>((resolve) => {\n this.once(type, () => resolve(this));\n });\n }\n\n /** Render a debugging string */\n public toString(): string {\n return `${this[InputIcon]} [${this.active ? \"X\" : \"_\"}]`;\n }\n\n /** Returns true if the provided state is worth an event */\n [InputComparator]: (state: Type, newState: Type) => boolean = BasicComparator;\n\n [Symbol.asyncIterator](): AsyncIterator<this> {\n return this;\n }\n\n [Symbol.toPrimitive](hint: \"number\" | \"string\" | \"default\"): number | string {\n if (hint === \"string\") return String(this.state);\n if (typeof this.state === \"number\") return this.state;\n return Number(this.state);\n }\n\n get [Symbol.toStringTag](): string {\n return this.toString();\n }\n\n /** The name of this input */\n readonly [InputName]: string = \"Unknown Input\";\n\n /** A short name for this input */\n readonly [InputIcon]: string = \"???\";\n\n /** Other Inputs that contain this one */\n private [InputParents] = new Set<Input<unknown>>();\n\n /** Links Inputs to bubble up events */\n [InputAdopt](parent: Input<unknown>): void {\n this[InputParents].add(parent);\n }\n\n /** Sets a default comparison type for the Input */\n [InputSetComparator](): void {\n if (typeof this.state === \"number\") {\n this[InputComparator] = ThresholdComparator.bind(\n this,\n this.threshold,\n this.deadzone\n );\n } else if (this.state instanceof Input) {\n this[InputComparator] = VirtualComparator;\n } else {\n this[InputComparator] = BasicComparator;\n }\n }\n\n /** Update the input's state and trigger all necessary callbacks */\n [InputSet](state: Type): void {\n if (this[InputComparator](this.state, state)) {\n this.state = state;\n this.emit(\"change\", this);\n if (typeof state === \"boolean\")\n this.emit(state ? \"press\" : \"release\", this);\n }\n this.emit(\"input\", this);\n }\n}\n","import { Dualsense } from \"./dualsense\";\nimport { Input, InputSet, InputParams } from \"./input\";\nimport { PlayerID } from \"./hid/command\";\nimport { DualsenseHID } from \"./hid/dualsense_hid\";\nimport { HIDProvider, DualsenseDeviceInfo } from \"./hid/hid_provider\";\nimport { NodeHIDProvider } from \"./hid/node_hid_provider\";\nimport { WebHIDProvider } from \"./hid/web_hid_provider\";\n\n/** Slot tracking a controller and its identity */\ninterface ControllerSlot {\n /** The Dualsense instance for this slot */\n controller: Dualsense;\n /** Serial number for reconnection matching (Node.js only) */\n serial?: string;\n /** Current device path */\n path?: string;\n /** Slot index (stable, never reused until released) */\n index: number;\n}\n\n/** The state exposed by a DualsenseManager via the Input system */\nexport interface DualsenseManagerState {\n /** Number of currently connected controllers */\n active: number;\n /** All managed controllers, keyed by slot index (player number) */\n players: ReadonlyMap<number, Dualsense>;\n}\n\n/**\n * Default player LED patterns.\n * Indices 0–3 match the PS5 console convention (PlayerID enum).\n * Indices 4–30 fill the remaining 5-bit patterns for players 5–31.\n */\nconst DEFAULT_PLAYER_PATTERNS: number[] = [\n // Players 1–4: PS5 standard\n PlayerID.Player1, // 0x04 = 00100\n PlayerID.Player2, // 0x0a = 01010\n PlayerID.Player3, // 0x15 = 10101\n PlayerID.Player4, // 0x1b = 11011\n\n // Players 5–31: remaining patterns, ordered for visual distinctiveness\n 0x01, // 00001\n 0x02, // 00010\n 0x08, // 01000\n 0x10, // 10000\n 0x11, // 10001\n 0x03, // 00011\n 0x18, // 11000\n 0x05, // 00101\n 0x14, // 10100\n 0x09, // 01001\n 0x12, // 10010\n 0x06, // 00110\n 0x0c, // 01100\n 0x07, // 00111\n 0x1c, // 11100\n 0x0e, // 01110\n 0x19, // 11001\n 0x13, // 10011\n 0x0b, // 01011\n 0x1a, // 11010\n 0x0d, // 01101\n 0x16, // 10110\n 0x17, // 10111\n 0x1d, // 11101\n 0x0f, // 01111\n 0x1e, // 11110\n PlayerID.All, // 0x1f = 11111\n];\n\n/** Settings for the DualsenseManager */\nexport interface DualsenseManagerParams extends InputParams {\n /** Polling interval (ms) for discovering new devices in Node.js. Default: 2000 */\n discoveryInterval?: number;\n /** Whether to automatically assign player LED patterns. Default: true */\n autoAssignPlayerLeds?: boolean;\n}\n\n/**\n * Manages multiple Dualsense controllers. Automatically discovers devices,\n * assigns player LEDs, and provides indexed access to each controller.\n *\n * Extends Input so that events from all managed controllers bubble up:\n * - `change` fires when the controller count changes or any controller input changes\n * - `press` / `release` bubble from any managed controller (including connection state)\n */\nexport class DualsenseManager extends Input<DualsenseManagerState> {\n /** Current manager state: active count and player map */\n public state: DualsenseManagerState = {\n active: 0,\n players: new Map(),\n };\n\n /** Whether to auto-assign player LED patterns on connection */\n public autoAssignPlayerLeds: boolean;\n\n /** Player LED bitmask patterns indexed by slot number (0–30) */\n private readonly playerPatterns: number[] = [...DEFAULT_PLAYER_PATTERNS];\n\n /** All controller slots, indexed by slot number */\n private readonly slots: ControllerSlot[] = [];\n\n /** Map from serial number to slot index, for reconnection matching */\n private readonly serialToSlot = new Map<string, number>();\n\n /** Discovery polling timer (Node.js only) */\n private discoveryTimer?: ReturnType<typeof setInterval>;\n\n /** Whether we're running in a browser environment */\n private readonly isBrowser: boolean = typeof window !== \"undefined\";\n\n constructor(params: DualsenseManagerParams = {}) {\n super({\n name: \"DualsenseManager\",\n icon: \"🎮\",\n ...params,\n });\n\n this.autoAssignPlayerLeds = params.autoAssignPlayerLeds ?? true;\n\n if (this.isBrowser) {\n this.startWebDiscovery();\n } else {\n this.startNodeDiscovery(params.discoveryInterval ?? 2000);\n }\n }\n\n public get active(): boolean {\n return this.state.active > 0;\n }\n\n /** All managed controller instances (including disconnected ones awaiting reconnection) */\n public get controllers(): readonly Dualsense[] {\n return this.slots.map((s) => s.controller);\n }\n\n /** Number of managed controllers (including disconnected ones awaiting reconnection) */\n public get count(): number {\n return this.slots.length;\n }\n\n /** Get a controller by slot index */\n public get(index: number): Dualsense | undefined {\n return this.slots[index]?.controller;\n }\n\n /** Iterate over all managed controllers */\n [Symbol.iterator](): IterableIterator<Dualsense> {\n return this.slots.map((s) => s.controller).values();\n }\n\n /**\n * Override the player LED pattern for a given slot index.\n * @param index Slot index (0-based)\n * @param bitmask 5-bit LED bitmask (0x00–0x1f)\n */\n public setPlayerPattern(index: number, bitmask: number): void {\n this.playerPatterns[index] = bitmask & 0x1f;\n\n // Apply immediately if a controller occupies this slot (index may be out of bounds)\n const slot = this.slots[index] as ControllerSlot | undefined;\n if (slot && this.autoAssignPlayerLeds) {\n slot.controller.playerLeds.set(this.playerPatterns[index]);\n }\n }\n\n /** Get the player LED pattern for a given slot index */\n public getPlayerPattern(index: number): number {\n return this.playerPatterns[index] ?? 0;\n }\n\n /**\n * Release a controller slot, freeing it for reuse.\n * If the controller is still connected, it will be disconnected.\n * @param index Slot index to release\n */\n public release(index: number): void {\n const slot = this.slots[index] as ControllerSlot | undefined;\n if (!slot) return;\n\n // Disconnect the HID provider and release the claimed device\n slot.controller.hid.provider.disconnect();\n\n // Remove serial mapping\n if (slot.serial) {\n this.serialToSlot.delete(slot.serial);\n }\n\n // Remove the slot (shift remaining slots down)\n this.slots.splice(index, 1);\n\n // Re-index serial mappings after splice\n for (let i = index; i < this.slots.length; i++) {\n const s = this.slots[i];\n s.index = i;\n if (s.serial) {\n this.serialToSlot.set(s.serial, i);\n }\n // Update player LEDs for shifted slots\n if (this.autoAssignPlayerLeds) {\n s.controller.playerLeds.set(this.playerPatterns[i] ?? 0);\n }\n }\n\n this.updateState();\n }\n\n /**\n * Release all disconnected controller slots.\n * Connected controllers are not affected.\n */\n public releaseDisconnected(): void {\n // Iterate in reverse to avoid index shifting issues\n for (let i = this.slots.length - 1; i >= 0; i--) {\n if (!this.slots[i].controller.connection.active) {\n this.release(i);\n }\n }\n }\n\n /**\n * Stop discovery and disconnect all controllers.\n */\n public dispose(): void {\n if (this.discoveryTimer) {\n clearInterval(this.discoveryTimer);\n this.discoveryTimer = undefined;\n }\n\n // Disconnect all controllers in reverse order\n for (let i = this.slots.length - 1; i >= 0; i--) {\n this.release(i);\n }\n }\n\n /**\n * For WebHID: returns a click handler that opens the device picker,\n * allowing the user to select multiple controllers at once.\n */\n public getRequest(): () => Promise<void> {\n if (!this.isBrowser) {\n return () => Promise.resolve();\n }\n\n return WebHIDProvider.getMultiRequest(\n (device: HIDDevice) => { this.addWebDevice(device); }\n );\n }\n\n // --- Private ---\n\n /** Build a new state snapshot and push it through InputSet */\n private updateState(): void {\n const players = new Map<number, Dualsense>();\n for (const slot of this.slots) {\n players.set(slot.index, slot.controller);\n }\n\n const activeCount = this.slots.filter(\n (s) => s.controller.connection.active\n ).length;\n\n // Always creates a new object so BasicComparator detects the change\n this[InputSet]({ active: activeCount, players });\n }\n\n /** Create a Dualsense instance and register it in a slot */\n private createSlot(\n provider: HIDProvider,\n serial?: string,\n path?: string\n ): ControllerSlot {\n // Check if this serial already has a slot (reconnection)\n if (serial) {\n const existingIndex = this.serialToSlot.get(serial);\n if (existingIndex !== undefined) {\n const existingSlot =\n this.slots[existingIndex] as ControllerSlot | undefined;\n if (existingSlot && !existingSlot.controller.connection.active) {\n // Reconnect to existing slot: update the provider target\n if (provider instanceof NodeHIDProvider) {\n const existingProvider = existingSlot.controller.hid\n .provider as NodeHIDProvider;\n existingProvider.targetPath = path;\n existingProvider.targetSerial = serial;\n }\n existingSlot.path = path;\n // Release the new provider since we're reusing the existing one\n provider.disconnect();\n return existingSlot;\n }\n }\n }\n\n const hid = new DualsenseHID(provider);\n const controller = new Dualsense({ hid });\n const index = this.slots.length;\n\n const slot: ControllerSlot = { controller, serial, path, index };\n this.slots.push(slot);\n\n if (serial) {\n this.serialToSlot.set(serial, index);\n }\n\n // Assign player LEDs — set immediately and re-apply on every connect,\n // since the controller may not be connected yet at slot creation time.\n const applyPlayerLeds = () => {\n if (this.autoAssignPlayerLeds) {\n controller.playerLeds.set(this.playerPatterns[slot.index] ?? 0);\n }\n };\n applyPlayerLeds();\n\n // Track connection changes\n controller.connection.on(\"change\", () => {\n if (controller.connection.active) {\n applyPlayerLeds();\n }\n this.updateState();\n });\n\n this.updateState();\n\n return slot;\n }\n\n // --- Node.js discovery ---\n\n private startNodeDiscovery(intervalMs: number): void {\n const poll = async () => {\n try {\n const devices: DualsenseDeviceInfo[] =\n await NodeHIDProvider.enumerate();\n for (const device of devices) {\n this.processDiscoveredDevice(device);\n }\n } catch {\n // Enumeration failed, will retry next interval\n }\n };\n\n // Initial scan\n void poll();\n this.discoveryTimer = setInterval(() => void poll(), intervalMs);\n }\n\n /** Handle a newly discovered device from enumeration */\n private processDiscoveredDevice(device: DualsenseDeviceInfo): void {\n if (HIDProvider.claimedDevices.has(device.path)) return;\n\n // Check if this serial matches a disconnected slot\n if (device.serialNumber !== undefined) {\n const existingSlotIndex = this.serialToSlot.get(device.serialNumber);\n if (existingSlotIndex !== undefined) {\n const slot = this.slots[existingSlotIndex];\n if (!slot.controller.connection.active) {\n // Update the existing provider to reconnect via this path\n const provider = slot.controller.hid.provider as NodeHIDProvider;\n provider.targetPath = device.path;\n provider.targetSerial = device.serialNumber;\n slot.path = device.path;\n // The Dualsense's internal 200ms loop will call provider.connect()\n return;\n }\n }\n }\n\n // New device: create a provider and slot\n const provider = new NodeHIDProvider({\n devicePath: device.path,\n serialNumber: device.serialNumber,\n });\n this.createSlot(provider, device.serialNumber, device.path);\n }\n\n // --- WebHID discovery ---\n\n private startWebDiscovery(): void {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (typeof navigator !== \"undefined\" && navigator.hid) {\n navigator.hid.addEventListener(\"connect\", ({ device }) => {\n this.addWebDevice(device);\n });\n\n // Enumerate already-permitted devices\n void WebHIDProvider.enumerate().then((devices) => {\n for (const device of devices) {\n this.addWebDevice(device);\n }\n });\n }\n }\n\n private addWebDevice(device: HIDDevice): void {\n // Check if any existing slot's provider already has this device\n for (const slot of this.slots) {\n const provider = slot.controller.hid.provider as WebHIDProvider;\n if (provider.device === device) return; // Already managed\n }\n\n const provider = new WebHIDProvider({ device });\n this.createSlot(provider, undefined, undefined);\n }\n}\n","/*\n * Copyright 2022 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport enum IconSize {\n STANDARD = 16,\n LARGE = 20,\n}\n\nexport type IconPaths = string[];\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * Locale character mapping rules.\n */\ninterface Locale {\n regexp: RegExp;\n map: Record<string, string>;\n}\n\n/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nconst SUPPORTED_LOCALE: Record<string, Locale> = {\n tr: {\n regexp: /\\u0130|\\u0049|\\u0049\\u0307/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n az: {\n regexp: /\\u0130/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n lt: {\n regexp: /\\u0049|\\u004A|\\u012E|\\u00CC|\\u00CD|\\u0128/g,\n map: {\n I: \"\\u0069\\u0307\",\n J: \"\\u006A\\u0307\",\n Į: \"\\u012F\\u0307\",\n Ì: \"\\u0069\\u0307\\u0300\",\n Í: \"\\u0069\\u0307\\u0301\",\n Ĩ: \"\\u0069\\u0307\\u0303\",\n },\n },\n};\n\n/**\n * Localized lower case.\n */\nexport function localeLowerCase(str: string, locale: string) {\n const lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang) return lowerCase(str.replace(lang.regexp, (m) => lang.map[m]));\n return lowerCase(str);\n}\n\n/**\n * Lower case as a function.\n */\nexport function lowerCase(str: string) {\n return str.toLowerCase();\n}\n","import { lowerCase } from \"lower-case\";\n\nexport interface Options {\n splitRegexp?: RegExp | RegExp[];\n stripRegexp?: RegExp | RegExp[];\n delimiter?: string;\n transform?: (part: string, index: number, parts: string[]) => string;\n}\n\n// Support camel case (\"camelCase\" -> \"camel Case\" and \"CAMELCase\" -> \"CAMEL Case\").\nconst DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];\n\n// Remove all non-word characters.\nconst DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;\n\n/**\n * Normalize the string into something other libraries can manipulate easier.\n */\nexport function noCase(input: string, options: Options = {}) {\n const {\n splitRegexp = DEFAULT_SPLIT_REGEXP,\n stripRegexp = DEFAULT_STRIP_REGEXP,\n transform = lowerCase,\n delimiter = \" \",\n } = options;\n\n let result = replace(\n replace(input, splitRegexp, \"$1\\0$2\"),\n stripRegexp,\n \"\\0\"\n );\n let start = 0;\n let end = result.length;\n\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\") start++;\n while (result.charAt(end - 1) === \"\\0\") end--;\n\n // Transform each token independently.\n return result.slice(start, end).split(\"\\0\").map(transform).join(delimiter);\n}\n\n/**\n * Replace `re` in the input string with the replacement value.\n */\nfunction replace(input: string, re: RegExp | RegExp[], value: string) {\n if (re instanceof RegExp) return input.replace(re, value);\n return re.reduce((input, re) => input.replace(re, value), input);\n}\n","import { noCase, Options } from \"no-case\";\n\nexport { Options };\n\nexport function pascalCaseTransform(input: string, index: number) {\n const firstChar = input.charAt(0);\n const lowerChars = input.substr(1).toLowerCase();\n if (index > 0 && firstChar >= \"0\" && firstChar <= \"9\") {\n return `_${firstChar}${lowerChars}`;\n }\n return `${firstChar.toUpperCase()}${lowerChars}`;\n}\n\nexport function pascalCaseTransformMerge(input: string) {\n return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase();\n}\n\nexport function pascalCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \"\",\n transform: pascalCaseTransform,\n ...options,\n });\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","/**\n * Anchor\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./boilerplate'), require('./vector'),\n require('./canvas-renderer'), require('./svg-renderer') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.Anchor = factory( Zdog, Zdog.Vector, Zdog.CanvasRenderer,\n Zdog.SvgRenderer );\n }\n}( this, function factory( utils, Vector, CanvasRenderer, SvgRenderer ) {\n\nvar TAU = utils.TAU;\nvar onePoint = { x: 1, y: 1, z: 1 };\n\nfunction Anchor( options ) {\n this.create( options || {} );\n}\n\nAnchor.prototype.create = function( options ) {\n this.children = [];\n // set defaults & options\n utils.extend( this, this.constructor.defaults );\n this.setOptions( options );\n\n // transform\n this.translate = new Vector( options.translate );\n this.rotate = new Vector( options.rotate );\n this.scale = new Vector( onePoint ).multiply( this.scale );\n // origin\n this.origin = new Vector();\n this.renderOrigin = new Vector();\n\n if ( this.addTo ) {\n this.addTo.addChild( this );\n }\n};\n\nAnchor.defaults = {};\n\nAnchor.optionKeys = Object.keys( Anchor.defaults ).concat([\n 'rotate',\n 'translate',\n 'scale',\n 'addTo',\n]);\n\nAnchor.prototype.setOptions = function( options ) {\n var optionKeys = this.constructor.optionKeys;\n\n for ( var key in options ) {\n if ( optionKeys.indexOf( key ) != -1 ) {\n this[ key ] = options[ key ];\n }\n }\n};\n\nAnchor.prototype.addChild = function( shape ) {\n if ( this.children.indexOf( shape ) != -1 ) {\n return;\n }\n shape.remove(); // remove previous parent\n shape.addTo = this; // keep parent reference\n this.children.push( shape );\n};\n\nAnchor.prototype.removeChild = function( shape ) {\n var index = this.children.indexOf( shape );\n if ( index != -1 ) {\n this.children.splice( index, 1 );\n }\n};\n\nAnchor.prototype.remove = function() {\n if ( this.addTo ) {\n this.addTo.removeChild( this );\n }\n};\n\n// ----- update ----- //\n\nAnchor.prototype.update = function() {\n // update self\n this.reset();\n // update children\n this.children.forEach( function( child ) {\n child.update();\n } );\n this.transform( this.translate, this.rotate, this.scale );\n};\n\nAnchor.prototype.reset = function() {\n this.renderOrigin.set( this.origin );\n};\n\nAnchor.prototype.transform = function( translation, rotation, scale ) {\n this.renderOrigin.transform( translation, rotation, scale );\n // transform children\n this.children.forEach( function( child ) {\n child.transform( translation, rotation, scale );\n } );\n};\n\nAnchor.prototype.updateGraph = function() {\n this.update();\n this.updateFlatGraph();\n this.flatGraph.forEach( function( item ) {\n item.updateSortValue();\n } );\n // z-sort\n this.flatGraph.sort( Anchor.shapeSorter );\n};\n\nAnchor.shapeSorter = function( a, b ) {\n return a.sortValue - b.sortValue;\n};\n\n// custom getter to check for flatGraph before using it\nObject.defineProperty( Anchor.prototype, 'flatGraph', {\n get: function() {\n if ( !this._flatGraph ) {\n this.updateFlatGraph();\n }\n return this._flatGraph;\n },\n set: function( graph ) {\n this._flatGraph = graph;\n },\n} );\n\nAnchor.prototype.updateFlatGraph = function() {\n this.flatGraph = this.getFlatGraph();\n};\n\n// return Array of self & all child graph items\nAnchor.prototype.getFlatGraph = function() {\n var flatGraph = [ this ];\n return this.addChildFlatGraph( flatGraph );\n};\n\nAnchor.prototype.addChildFlatGraph = function( flatGraph ) {\n this.children.forEach( function( child ) {\n var childFlatGraph = child.getFlatGraph();\n Array.prototype.push.apply( flatGraph, childFlatGraph );\n } );\n return flatGraph;\n};\n\nAnchor.prototype.updateSortValue = function() {\n this.sortValue = this.renderOrigin.z;\n};\n\n// ----- render ----- //\n\nAnchor.prototype.render = function() {};\n\n// TODO refactor out CanvasRenderer so its not a dependency within anchor.js\nAnchor.prototype.renderGraphCanvas = function( ctx ) {\n if ( !ctx ) {\n throw new Error( 'ctx is ' + ctx + '. ' +\n 'Canvas context required for render. Check .renderGraphCanvas( ctx ).' );\n }\n this.flatGraph.forEach( function( item ) {\n item.render( ctx, CanvasRenderer );\n } );\n};\n\nAnchor.prototype.renderGraphSvg = function( svg ) {\n if ( !svg ) {\n throw new Error( 'svg is ' + svg + '. ' +\n 'SVG required for render. Check .renderGraphSvg( svg ).' );\n }\n this.flatGraph.forEach( function( item ) {\n item.render( svg, SvgRenderer );\n } );\n};\n\n// ----- misc ----- //\n\nAnchor.prototype.copy = function( options ) {\n // copy options\n var itemOptions = {};\n var optionKeys = this.constructor.optionKeys;\n optionKeys.forEach( function( key ) {\n itemOptions[ key ] = this[ key ];\n }, this );\n // add set options\n utils.extend( itemOptions, options );\n var ItemClass = this.constructor;\n return new ItemClass( itemOptions );\n};\n\nAnchor.prototype.copyGraph = function( options ) {\n var clone = this.copy( options );\n this.children.forEach( function( child ) {\n child.copyGraph({\n addTo: clone,\n });\n } );\n return clone;\n};\n\nAnchor.prototype.normalizeRotate = function() {\n this.rotate.x = utils.modulo( this.rotate.x, TAU );\n this.rotate.y = utils.modulo( this.rotate.y, TAU );\n this.rotate.z = utils.modulo( this.rotate.z, TAU );\n};\n\n// ----- subclass ----- //\n\nfunction getSubclass( Super ) {\n return function( defaults ) {\n // create constructor\n function Item( options ) {\n this.create( options || {} );\n }\n\n Item.prototype = Object.create( Super.prototype );\n Item.prototype.constructor = Item;\n\n Item.defaults = utils.extend( {}, Super.defaults );\n utils.extend( Item.defaults, defaults );\n // create optionKeys\n Item.optionKeys = Super.optionKeys.slice( 0 );\n // add defaults keys to optionKeys, dedupe\n Object.keys( Item.defaults ).forEach( function( key ) {\n if ( !Item.optionKeys.indexOf( key ) != 1 ) {\n Item.optionKeys.push( key );\n }\n } );\n\n Item.subclass = getSubclass( Item );\n\n return Item;\n };\n}\n\nAnchor.subclass = getSubclass( Anchor );\n\nreturn Anchor;\n\n} ) );\n","/*!\n * Zdog v1.1.3\n * Round, flat, designer-friendly pseudo-3D engine\n * Licensed MIT\n * https://zzz.dog\n * Copyright 2020 Metafizzy\n */\n\n/**\n * Boilerplate & utils\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory();\n } else {\n // browser global\n root.Zdog = factory();\n }\n}( this, function factory() {\n\nvar Zdog = {};\n\nZdog.TAU = Math.PI * 2;\n\nZdog.extend = function( a, b ) {\n for ( var prop in b ) {\n a[ prop ] = b[ prop ];\n }\n return a;\n};\n\nZdog.lerp = function( a, b, alpha ) {\n return ( b - a ) * alpha + a;\n};\n\nZdog.modulo = function( num, div ) {\n return ( ( num % div ) + div ) % div;\n};\n\nvar powerMultipliers = {\n 2: function( a ) {\n return a * a;\n },\n 3: function( a ) {\n return a * a * a;\n },\n 4: function( a ) {\n return a * a * a * a;\n },\n 5: function( a ) {\n return a * a * a * a * a;\n },\n};\n\nZdog.easeInOut = function( alpha, power ) {\n if ( power == 1 ) {\n return alpha;\n }\n alpha = Math.max( 0, Math.min( 1, alpha ) );\n var isFirstHalf = alpha < 0.5;\n var slope = isFirstHalf ? alpha : 1 - alpha;\n slope /= 0.5;\n // make easing steeper with more multiples\n var powerMultiplier = powerMultipliers[ power ] || powerMultipliers[2];\n var curve = powerMultiplier( slope );\n curve /= 2;\n return isFirstHalf ? curve : 1 - curve;\n};\n\nreturn Zdog;\n\n} ) );\n","/**\n * Box composite shape\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./boilerplate'), require('./anchor'),\n require('./shape'), require('./rect') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.Box = factory( Zdog, Zdog.Anchor, Zdog.Shape, Zdog.Rect );\n }\n}( this, function factory( utils, Anchor, Shape, Rect ) {\n\n// ----- BoxRect ----- //\n\nvar BoxRect = Rect.subclass();\n// prevent double-creation in parent.copyGraph()\n// only create in Box.create()\nBoxRect.prototype.copyGraph = function() {};\n\n// ----- Box ----- //\n\nvar TAU = utils.TAU;\nvar faceNames = [\n 'frontFace',\n 'rearFace',\n 'leftFace',\n 'rightFace',\n 'topFace',\n 'bottomFace',\n];\n\nvar boxDefaults = utils.extend( {}, Shape.defaults );\ndelete boxDefaults.path;\nfaceNames.forEach( function( faceName ) {\n boxDefaults[ faceName ] = true;\n} );\nutils.extend( boxDefaults, {\n width: 1,\n height: 1,\n depth: 1,\n fill: true,\n} );\n\nvar Box = Anchor.subclass( boxDefaults );\n\n/* eslint-disable no-self-assign */\nBox.prototype.create = function( options ) {\n Anchor.prototype.create.call( this, options );\n this.updatePath();\n // HACK reset fill to trigger face setter\n this.fill = this.fill;\n};\n\nBox.prototype.updatePath = function() {\n // reset all faces to trigger setters\n faceNames.forEach( function( faceName ) {\n this[ faceName ] = this[ faceName ];\n }, this );\n};\n/* eslint-enable no-self-assign */\n\nfaceNames.forEach( function( faceName ) {\n var _faceName = '_' + faceName;\n Object.defineProperty( Box.prototype, faceName, {\n get: function() {\n return this[ _faceName ];\n },\n set: function( value ) {\n this[ _faceName ] = value;\n this.setFace( faceName, value );\n },\n } );\n} );\n\nBox.prototype.setFace = function( faceName, value ) {\n var rectProperty = faceName + 'Rect';\n var rect = this[ rectProperty ];\n // remove if false\n if ( !value ) {\n this.removeChild( rect );\n return;\n }\n // update & add face\n var options = this.getFaceOptions( faceName );\n options.color = typeof value == 'string' ? value : this.color;\n\n if ( rect ) {\n // update previous\n rect.setOptions( options );\n } else {\n // create new\n rect = this[ rectProperty ] = new BoxRect( options );\n }\n rect.updatePath();\n this.addChild( rect );\n};\n\nBox.prototype.getFaceOptions = function( faceName ) {\n return {\n frontFace: {\n width: this.width,\n height: this.height,\n translate: { z: this.depth / 2 },\n },\n rearFace: {\n width: this.width,\n height: this.height,\n translate: { z: -this.depth / 2 },\n rotate: { y: TAU/2 },\n },\n leftFace: {\n width: this.depth,\n height: this.height,\n translate: { x: -this.width / 2 },\n rotate: { y: -TAU/4 },\n },\n rightFace: {\n width: this.depth,\n height: this.height,\n translate: { x: this.width / 2 },\n rotate: { y: TAU/4 },\n },\n topFace: {\n width: this.width,\n height: this.depth,\n translate: { y: -this.height / 2 },\n rotate: { x: -TAU/4 },\n },\n bottomFace: {\n width: this.width,\n height: this.depth,\n translate: { y: this.height / 2 },\n rotate: { x: TAU/4 },\n },\n }[ faceName ];\n};\n\n// ----- set face properties ----- //\n\nvar childProperties = [ 'color', 'stroke', 'fill', 'backface', 'front',\n 'visible' ];\nchildProperties.forEach( function( property ) {\n // use proxy property for custom getter & setter\n var _prop = '_' + property;\n Object.defineProperty( Box.prototype, property, {\n get: function() {\n return this[ _prop ];\n },\n set: function( value ) {\n this[ _prop ] = value;\n faceNames.forEach( function( faceName ) {\n var rect = this[ faceName + 'Rect' ];\n var isFaceColor = typeof this[ faceName ] == 'string';\n var isColorUnderwrite = property == 'color' && isFaceColor;\n if ( rect && !isColorUnderwrite ) {\n rect[ property ] = value;\n }\n }, this );\n },\n } );\n} );\n\nreturn Box;\n\n} ) );\n","/**\n * CanvasRenderer\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory();\n } else {\n // browser global\n root.Zdog.CanvasRenderer = factory();\n }\n}( this, function factory() {\n\nvar CanvasRenderer = { isCanvas: true };\n\nCanvasRenderer.begin = function( ctx ) {\n ctx.beginPath();\n};\n\nCanvasRenderer.move = function( ctx, elem, point ) {\n ctx.moveTo( point.x, point.y );\n};\n\nCanvasRenderer.line = function( ctx, elem, point ) {\n ctx.lineTo( point.x, point.y );\n};\n\nCanvasRenderer.bezier = function( ctx, elem, cp0, cp1, end ) {\n ctx.bezierCurveTo( cp0.x, cp0.y, cp1.x, cp1.y, end.x, end.y );\n};\n\nCanvasRenderer.closePath = function( ctx ) {\n ctx.closePath();\n};\n\nCanvasRenderer.setPath = function() {};\n\nCanvasRenderer.renderPath = function( ctx, elem, pathCommands, isClosed ) {\n this.begin( ctx, elem );\n pathCommands.forEach( function( command ) {\n command.render( ctx, elem, CanvasRenderer );\n } );\n if ( isClosed ) {\n this.closePath( ctx, elem );\n }\n};\n\nCanvasRenderer.stroke = function( ctx, elem, isStroke, color, lineWidth ) {\n if ( !isStroke ) {\n return;\n }\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.stroke();\n};\n\nCanvasRenderer.fill = function( ctx, elem, isFill, color ) {\n if ( !isFill ) {\n return;\n }\n ctx.fillStyle = color;\n ctx.fill();\n};\n\nCanvasRenderer.end = function() {};\n\nreturn CanvasRenderer;\n\n} ) );\n","/**\n * Cone composite shape\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./boilerplate'), require('./vector'),\n require('./path-command'), require('./anchor'), require('./ellipse') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.Cone = factory( Zdog, Zdog.Vector, Zdog.PathCommand,\n Zdog.Anchor, Zdog.Ellipse );\n }\n}( this, function factory( utils, Vector, PathCommand, Anchor, Ellipse ) {\n\nvar Cone = Ellipse.subclass({\n length: 1,\n fill: true,\n});\n\nvar TAU = utils.TAU;\n\nCone.prototype.create = function( /* options */) {\n // call super\n Ellipse.prototype.create.apply( this, arguments );\n // composite shape, create child shapes\n this.apex = new Anchor({\n addTo: this,\n translate: { z: this.length },\n });\n\n // vectors used for calculation\n this.renderApex = new Vector();\n this.renderCentroid = new Vector();\n this.tangentA = new Vector();\n this.tangentB = new Vector();\n\n this.surfacePathCommands = [\n new PathCommand( 'move', [ {} ] ), // points set in renderConeSurface\n new PathCommand( 'line', [ {} ] ),\n new PathCommand( 'line', [ {} ] ),\n ];\n};\n\nCone.prototype.updateSortValue = function() {\n // center of cone is one third of its length\n this.renderCentroid.set( this.renderOrigin )\n .lerp( this.apex.renderOrigin, 1/3 );\n this.sortValue = this.renderCentroid.z;\n};\n\nCone.prototype.render = function( ctx, renderer ) {\n this.renderConeSurface( ctx, renderer );\n Ellipse.prototype.render.apply( this, arguments );\n};\n\nCone.prototype.renderConeSurface = function( ctx, renderer ) {\n if ( !this.visible ) {\n return;\n }\n this.renderApex.set( this.apex.renderOrigin )\n .subtract( this.renderOrigin );\n\n var scale = this.renderNormal.magnitude();\n var apexDistance = this.renderApex.magnitude2d();\n var normalDistance = this.renderNormal.magnitude2d();\n // eccentricity\n var eccenAngle = Math.acos( normalDistance/scale );\n var eccen = Math.sin( eccenAngle );\n var radius = this.diameter / 2 * scale;\n // does apex extend beyond eclipse of face\n var isApexVisible = radius * eccen < apexDistance;\n if ( !isApexVisible ) {\n return;\n }\n // update tangents\n var apexAngle = Math.atan2( this.renderNormal.y, this.renderNormal.x ) +\n TAU/2;\n var projectLength = apexDistance/eccen;\n var projectAngle = Math.acos( radius/projectLength );\n // set tangent points\n var tangentA = this.tangentA;\n var tangentB = this.tangentB;\n\n tangentA.x = Math.cos( projectAngle ) * radius * eccen;\n tangentA.y = Math.sin( projectAngle ) * radius;\n\n tangentB.set( this.tangentA );\n tangentB.y *= -1;\n\n tangentA.rotateZ( apexAngle );\n tangentB.rotateZ( apexAngle );\n tangentA.add( this.renderOrigin );\n tangentB.add( this.renderOrigin );\n\n this.setSurfaceRenderPoint( 0, tangentA );\n this.setSurfaceRenderPoint( 1, this.apex.renderOrigin );\n this.setSurfaceRenderPoint( 2, tangentB );\n\n // render\n var elem = this.getSurfaceRenderElement( ctx, renderer );\n renderer.renderPath( ctx, elem, this.surfacePathCommands );\n renderer.stroke( ctx, elem, this.stroke, this.color, this.getLineWidth() );\n renderer.fill( ctx, elem, this.fill, this.color );\n renderer.end( ctx, elem );\n};\n\nvar svgURI = 'http://www.w3.org/2000/svg';\n\nCone.prototype.getSurfaceRenderElement = function( ctx, renderer ) {\n if ( !renderer.isSvg ) {\n return;\n }\n if ( !this.surfaceSvgElement ) {\n // create svgElement\n this.surfaceSvgElement = document.createElementNS( svgURI, 'path' );\n this.surfaceSvgElement.setAttribute( 'stroke-linecap', 'round' );\n this.surfaceSvgElement.setAttribute( 'stroke-linejoin', 'round' );\n }\n return this.surfaceSvgElement;\n};\n\nCone.prototype.setSurfaceRenderPoint = function( index, point ) {\n var renderPoint = this.surfacePathCommands[ index ].renderPoints[0];\n renderPoint.set( point );\n};\n\nreturn Cone;\n\n} ) );\n","/**\n * Cylinder composite shape\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./boilerplate'),\n require('./path-command'), require('./shape'), require('./group'),\n require('./ellipse') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.Cylinder = factory( Zdog, Zdog.PathCommand, Zdog.Shape,\n Zdog.Group, Zdog.Ellipse );\n }\n}( this, function factory( utils, PathCommand, Shape, Group, Ellipse ) {\n\nfunction noop() {}\n\n// ----- CylinderGroup ----- //\n\nvar CylinderGroup = Group.subclass({\n color: '#333',\n updateSort: true,\n});\n\nCylinderGroup.prototype.create = function() {\n Group.prototype.create.apply( this, arguments );\n this.pathCommands = [\n new PathCommand( 'move', [ {} ] ),\n new PathCommand( 'line', [ {} ] ),\n ];\n};\n\nCylinderGroup.prototype.render = function( ctx, renderer ) {\n this.renderCylinderSurface( ctx, renderer );\n Group.prototype.render.apply( this, arguments );\n};\n\nCylinderGroup.prototype.renderCylinderSurface = function( ctx, renderer ) {\n if ( !this.visible ) {\n return;\n }\n // render cylinder surface\n var elem = this.getRenderElement( ctx, renderer );\n var frontBase = this.frontBase;\n var rearBase = this.rearBase;\n var scale = frontBase.renderNormal.magnitude();\n var strokeWidth = frontBase.diameter * scale + frontBase.getLineWidth();\n // set path command render points\n this.pathCommands[0].renderPoints[0].set( frontBase.renderOrigin );\n this.pathCommands[1].renderPoints[0].set( rearBase.renderOrigin );\n\n if ( renderer.isCanvas ) {\n ctx.lineCap = 'butt'; // nice\n }\n renderer.renderPath( ctx, elem, this.pathCommands );\n renderer.stroke( ctx, elem, true, this.color, strokeWidth );\n renderer.end( ctx, elem );\n\n if ( renderer.isCanvas ) {\n ctx.lineCap = 'round'; // reset\n }\n};\n\nvar svgURI = 'http://www.w3.org/2000/svg';\n\nCylinderGroup.prototype.getRenderElement = function( ctx, renderer ) {\n if ( !renderer.isSvg ) {\n return;\n }\n if ( !this.svgElement ) {\n // create svgElement\n this.svgElement = document.createElementNS( svgURI, 'path' );\n }\n return this.svgElement;\n};\n\n// prevent double-creation in parent.copyGraph()\n// only create in Cylinder.create()\nCylinderGroup.prototype.copyGraph = noop;\n\n// ----- CylinderEllipse ----- //\n\nvar CylinderEllipse = Ellipse.subclass();\n\nCylinderEllipse.prototype.copyGraph = noop;\n\n// ----- Cylinder ----- //\n\nvar Cylinder = Shape.subclass({\n diameter: 1,\n length: 1,\n frontFace: undefined,\n fill: true,\n});\n\nvar TAU = utils.TAU;\n\nCylinder.prototype.create = function( /* options */) {\n // call super\n Shape.prototype.create.apply( this, arguments );\n // composite shape, create child shapes\n // CylinderGroup to render cylinder surface then bases\n this.group = new CylinderGroup({\n addTo: this,\n color: this.color,\n visible: this.visible,\n });\n var baseZ = this.length / 2;\n var baseColor = this.backface || true;\n // front outside base\n this.frontBase = this.group.frontBase = new Ellipse({\n addTo: this.group,\n diameter: this.diameter,\n translate: { z: baseZ },\n rotate: { y: TAU/2 },\n color: this.color,\n stroke: this.stroke,\n fill: this.fill,\n backface: this.frontFace || baseColor,\n visible: this.visible,\n });\n // back outside base\n this.rearBase = this.group.rearBase = this.frontBase.copy({\n translate: { z: -baseZ },\n rotate: { y: 0 },\n backface: baseColor,\n });\n};\n\n// Cylinder shape does not render anything\nCylinder.prototype.render = function() {};\n\n// ----- set child properties ----- //\n\nvar childProperties = [ 'stroke', 'fill', 'color', 'visible' ];\nchildProperties.forEach( function( property ) {\n // use proxy property for custom getter & setter\n var _prop = '_' + property;\n Object.defineProperty( Cylinder.prototype, property, {\n get: function() {\n return this[ _prop ];\n },\n set: function( value ) {\n this[ _prop ] = value;\n // set property on children\n if ( this.frontBase ) {\n this.frontBase[ property ] = value;\n this.rearBase[ property ] = value;\n this.group[ property ] = value;\n }\n },\n } );\n} );\n\n// TODO child property setter for backface, frontBaseColor, & rearBaseColor\n\nreturn Cylinder;\n\n} ) );\n","/**\n * Dragger\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory();\n } else {\n // browser global\n root.Zdog.Dragger = factory();\n }\n}( this, function factory() {\n\n// quick & dirty drag event stuff\n// messes up if multiple pointers/touches\n\n// check for browser window #85\nvar hasWindow = typeof window != 'undefined';\n// event support, default to mouse events\nvar downEvent = 'mousedown';\nvar moveEvent = 'mousemove';\nvar upEvent = 'mouseup';\nif ( hasWindow ) {\n if ( window.PointerEvent ) {\n // PointerEvent, Chrome\n downEvent = 'pointerdown';\n moveEvent = 'pointermove';\n upEvent = 'pointerup';\n } else if ( 'ontouchstart' in window ) {\n // Touch Events, iOS Safari\n downEvent = 'touchstart';\n moveEvent = 'touchmove';\n upEvent = 'touchend';\n }\n}\n\nfunction noop() {}\n\nfunction Dragger( options ) {\n this.create( options || {} );\n}\n\nDragger.prototype.create = function( options ) {\n this.onDragStart = options.onDragStart || noop;\n this.onDragMove = options.onDragMove || noop;\n this.onDragEnd = options.onDragEnd || noop;\n\n this.bindDrag( options.startElement );\n};\n\nDragger.prototype.bindDrag = function( element ) {\n element = this.getQueryElement( element );\n if ( !element ) {\n return;\n }\n // disable browser gestures #53\n element.style.touchAction = 'none';\n element.addEventListener( downEvent, this );\n};\n\nDragger.prototype.getQueryElement = function( element ) {\n if ( typeof element == 'string' ) {\n // with string, query selector\n element = document.querySelector( element );\n }\n return element;\n};\n\nDragger.prototype.handleEvent = function( event ) {\n var method = this[ 'on' + event.type ];\n if ( method ) {\n method.call( this, event );\n }\n};\n\nDragger.prototype.onmousedown =\nDragger.prototype.onpointerdown = function( event ) {\n this.dragStart( event, event );\n};\n\nDragger.prototype.ontouchstart = function( event ) {\n this.dragStart( event, event.changedTouches[0] );\n};\n\nDragger.prototype.dragStart = function( event, pointer ) {\n event.preventDefault();\n this.dragStartX = pointer.pageX;\n this.dragStartY = pointer.pageY;\n if ( hasWindow ) {\n window.addEventListener( moveEvent, this );\n window.addEventListener( upEvent, this );\n }\n this.onDragStart( pointer );\n};\n\nDragger.prototype.ontouchmove = function( event ) {\n // HACK, moved touch may not be first\n this.dragMove( event, event.changedTouches[0] );\n};\n\nDragger.prototype.onmousemove =\nDragger.prototype.onpointermove = function( event ) {\n this.dragMove( event, event );\n};\n\nDragger.prototype.dragMove = function( event, pointer ) {\n event.preventDefault();\n var moveX = pointer.pageX - this.dragStartX;\n var moveY = pointer.pageY - this.dragStartY;\n this.onDragMove( pointer, moveX, moveY );\n};\n\nDragger.prototype.onmouseup =\nDragger.prototype.onpointerup =\nDragger.prototype.ontouchend =\nDragger.prototype.dragEnd = function( /* event */) {\n window.removeEventListener( moveEvent, this );\n window.removeEventListener( upEvent, this );\n this.onDragEnd();\n};\n\nreturn Dragger;\n\n} ) );\n","/**\n * Ellipse\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./shape') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.Ellipse = factory( Zdog.Shape );\n }\n\n}( this, function factory( Shape ) {\n\nvar Ellipse = Shape.subclass({\n diameter: 1,\n width: undefined,\n height: undefined,\n quarters: 4,\n closed: false,\n});\n\nEllipse.prototype.setPath = function() {\n var width = this.width != undefined ? this.width : this.diameter;\n var height = this.height != undefined ? this.height : this.diameter;\n var x = width/2;\n var y = height/2;\n this.path = [\n { x: 0, y: -y },\n { arc: [ // top right\n { x: x, y: -y },\n { x: x, y: 0 },\n ] },\n ];\n // bottom right\n if ( this.quarters > 1 ) {\n this.path.push({ arc: [\n { x: x, y: y },\n { x: 0, y: y },\n ] });\n }\n // bottom left\n if ( this.quarters > 2 ) {\n this.path.push({ arc: [\n { x: -x, y: y },\n { x: -x, y: 0 },\n ] });\n }\n // top left\n if ( this.quarters > 3 ) {\n this.path.push({ arc: [\n { x: -x, y: -y },\n { x: 0, y: -y },\n ] });\n }\n};\n\nreturn Ellipse;\n\n} ) );\n","/**\n * Group\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./anchor') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.Group = factory( Zdog.Anchor );\n }\n}( this, function factory( Anchor ) {\n\nvar Group = Anchor.subclass({\n updateSort: false,\n visible: true,\n});\n\n// ----- update ----- //\n\nGroup.prototype.updateSortValue = function() {\n var sortValueTotal = 0;\n this.flatGraph.forEach( function( item ) {\n item.updateSortValue();\n sortValueTotal += item.sortValue;\n } );\n // average sort value of all points\n // def not geometrically correct, but works for me\n this.sortValue = sortValueTotal / this.flatGraph.length;\n\n if ( this.updateSort ) {\n this.flatGraph.sort( Anchor.shapeSorter );\n }\n};\n\n// ----- render ----- //\n\nGroup.prototype.render = function( ctx, renderer ) {\n if ( !this.visible ) {\n return;\n }\n\n this.flatGraph.forEach( function( item ) {\n item.render( ctx, renderer );\n } );\n};\n\n// actual group flatGraph only used inside group\nGroup.prototype.updateFlatGraph = function() {\n // do not include self\n var flatGraph = [];\n this.flatGraph = this.addChildFlatGraph( flatGraph );\n};\n\n// do not include children, group handles rendering & sorting internally\nGroup.prototype.getFlatGraph = function() {\n return [ this ];\n};\n\nreturn Group;\n\n} ) );\n","/**\n * Hemisphere composite shape\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./boilerplate'), require('./vector'),\n require('./anchor'), require('./ellipse') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.Hemisphere = factory( Zdog, Zdog.Vector, Zdog.Anchor, Zdog.Ellipse );\n }\n}( this, function factory( utils, Vector, Anchor, Ellipse ) {\n\nvar Hemisphere = Ellipse.subclass({\n fill: true,\n});\n\nvar TAU = utils.TAU;\n\nHemisphere.prototype.create = function( /* options */) {\n // call super\n Ellipse.prototype.create.apply( this, arguments );\n // composite shape, create child shapes\n this.apex = new Anchor({\n addTo: this,\n translate: { z: this.diameter / 2 },\n });\n // vector used for calculation\n this.renderCentroid = new Vector();\n};\n\nHemisphere.prototype.updateSortValue = function() {\n // centroid of hemisphere is 3/8 between origin and apex\n this.renderCentroid.set( this.renderOrigin )\n .lerp( this.apex.renderOrigin, 3/8 );\n this.sortValue = this.renderCentroid.z;\n};\n\nHemisphere.prototype.render = function( ctx, renderer ) {\n this.renderDome( ctx, renderer );\n // call super\n Ellipse.prototype.render.apply( this, arguments );\n};\n\nHemisphere.prototype.renderDome = function( ctx, renderer ) {\n if ( !this.visible ) {\n return;\n }\n var elem = this.getDomeRenderElement( ctx, renderer );\n var contourAngle = Math.atan2( this.renderNormal.y, this.renderNormal.x );\n var domeRadius = this.diameter / 2 * this.renderNormal.magnitude();\n var x = this.renderOrigin.x;\n var y = this.renderOrigin.y;\n\n if ( renderer.isCanvas ) {\n // canvas\n var startAngle = contourAngle + TAU/4;\n var endAngle = contourAngle - TAU/4;\n ctx.beginPath();\n ctx.arc( x, y, domeRadius, startAngle, endAngle );\n } else if ( renderer.isSvg ) {\n // svg\n contourAngle = ( contourAngle - TAU/4 ) / TAU * 360;\n this.domeSvgElement.setAttribute( 'd', 'M ' + -domeRadius + ',0 A ' +\n domeRadius + ',' + domeRadius + ' 0 0 1 ' + domeRadius + ',0' );\n this.domeSvgElement.setAttribute( 'transform',\n 'translate(' + x + ',' + y + ' ) rotate(' + contourAngle + ')' );\n }\n\n renderer.stroke( ctx, elem, this.stroke, this.color, this.getLineWidth() );\n renderer.fill( ctx, elem, this.fill, this.color );\n renderer.end( ctx, elem );\n};\n\nvar svgURI = 'http://www.w3.org/2000/svg';\n\nHemisphere.prototype.getDomeRenderElement = function( ctx, renderer ) {\n if ( !renderer.isSvg ) {\n return;\n }\n if ( !this.domeSvgElement ) {\n // create svgElement\n this.domeSvgElement = document.createElementNS( svgURI, 'path' );\n this.domeSvgElement.setAttribute( 'stroke-linecap', 'round' );\n this.domeSvgElement.setAttribute( 'stroke-linejoin', 'round' );\n }\n return this.domeSvgElement;\n};\n\nreturn Hemisphere;\n\n} ) );\n","/**\n * Illustration\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./boilerplate'), require('./anchor'),\n require('./dragger') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.Illustration = factory( Zdog, Zdog.Anchor, Zdog.Dragger );\n }\n}( this, function factory( utils, Anchor, Dragger ) {\n\nfunction noop() {}\nvar TAU = utils.TAU;\n\nvar Illustration = Anchor.subclass({\n element: undefined,\n centered: true,\n zoom: 1,\n dragRotate: false,\n resize: false,\n onPrerender: noop,\n onDragStart: noop,\n onDragMove: noop,\n onDragEnd: noop,\n onResize: noop,\n});\n\nutils.extend( Illustration.prototype, Dragger.prototype );\n\nIllustration.prototype.create = function( options ) {\n Anchor.prototype.create.call( this, options );\n Dragger.prototype.create.call( this, options );\n this.setElement( this.element );\n this.setDragRotate( this.dragRotate );\n this.setResize( this.resize );\n};\n\nIllustration.prototype.setElement = function( element ) {\n element = this.getQueryElement( element );\n if ( !element ) {\n throw new Error( 'Zdog.Illustration element required. Set to ' + element );\n }\n\n var nodeName = element.nodeName.toLowerCase();\n if ( nodeName == 'canvas' ) {\n this.setCanvas( element );\n } else if ( nodeName == 'svg' ) {\n this.setSvg( element );\n }\n};\n\nIllustration.prototype.setSize = function( width, height ) {\n width = Math.round( width );\n height = Math.round( height );\n if ( this.isCanvas ) {\n this.setSizeCanvas( width, height );\n } else if ( this.isSvg ) {\n this.setSizeSvg( width, height );\n }\n};\n\nIllustration.prototype.setResize = function( resize ) {\n this.resize = resize;\n // create resize event listener\n if ( !this.resizeListener ) {\n this.resizeListener = this.onWindowResize.bind( this );\n }\n // add/remove event listener\n if ( resize ) {\n window.addEventListener( 'resize', this.resizeListener );\n this.onWindowResize();\n } else {\n window.removeEventListener( 'resize', this.resizeListener );\n }\n};\n\n// TODO debounce this?\nIllustration.prototype.onWindowResize = function() {\n this.setMeasuredSize();\n this.onResize( this.width, this.height );\n};\n\nIllustration.prototype.setMeasuredSize = function() {\n var width, height;\n var isFullscreen = this.resize == 'fullscreen';\n if ( isFullscreen ) {\n width = window.innerWidth;\n height = window.innerHeight;\n } else {\n var rect = this.element.getBoundingClientRect();\n width = rect.width;\n height = rect.height;\n }\n this.setSize( width, height );\n};\n\n// ----- render ----- //\n\nIllustration.prototype.renderGraph = function( item ) {\n if ( this.isCanvas ) {\n this.renderGraphCanvas( item );\n } else if ( this.isSvg ) {\n this.renderGraphSvg( item );\n }\n};\n\n// combo method\nIllustration.prototype.updateRenderGraph = function( item ) {\n this.updateGraph();\n this.renderGraph( item );\n};\n\n// ----- canvas ----- //\n\nIllustration.prototype.setCanvas = function( element ) {\n this.element = element;\n this.isCanvas = true;\n // update related properties\n this.ctx = this.element.getContext('2d');\n // set initial size\n this.setSizeCanvas( element.width, element.height );\n};\n\nIllustration.prototype.setSizeCanvas = function( width, height ) {\n this.width = width;\n this.height = height;\n // up-rez for hi-DPI devices\n var pixelRatio = this.pixelRatio = window.devicePixelRatio || 1;\n this.element.width = this.canvasWidth = width * pixelRatio;\n this.element.height = this.canvasHeight = height * pixelRatio;\n var needsHighPixelRatioSizing = pixelRatio > 1 && !this.resize;\n if ( needsHighPixelRatioSizing ) {\n this.element.style.width = width + 'px';\n this.element.style.height = height + 'px';\n }\n};\n\nIllustration.prototype.renderGraphCanvas = function( item ) {\n item = item || this;\n this.prerenderCanvas();\n Anchor.prototype.renderGraphCanvas.call( item, this.ctx );\n this.postrenderCanvas();\n};\n\nIllustration.prototype.prerenderCanvas = function() {\n var ctx = this.ctx;\n ctx.lineCap = 'round';\n ctx.lineJoin = 'round';\n ctx.clearRect( 0, 0, this.canvasWidth, this.canvasHeight );\n ctx.save();\n if ( this.centered ) {\n var centerX = this.width / 2 * this.pixelRatio;\n var centerY = this.height / 2 * this.pixelRatio;\n ctx.translate( centerX, centerY );\n }\n var scale = this.pixelRatio * this.zoom;\n ctx.scale( scale, scale );\n this.onPrerender( ctx );\n};\n\nIllustration.prototype.postrenderCanvas = function() {\n this.ctx.restore();\n};\n\n// ----- svg ----- //\n\nIllustration.prototype.setSvg = function( element ) {\n this.element = element;\n this.isSvg = true;\n this.pixelRatio = 1;\n // set initial size from width & height attributes\n var width = element.getAttribute('width');\n var height = element.getAttribute('height');\n this.setSizeSvg( width, height );\n};\n\nIllustration.prototype.setSizeSvg = function( width, height ) {\n this.width = width;\n this.height = height;\n var viewWidth = width / this.zoom;\n var viewHeight = height / this.zoom;\n var viewX = this.centered ? -viewWidth/2 : 0;\n var viewY = this.centered ? -viewHeight/2 : 0;\n this.element.setAttribute( 'viewBox', viewX + ' ' + viewY + ' ' +\n viewWidth + ' ' + viewHeight );\n if ( this.resize ) {\n // remove size attributes, let size be determined by viewbox\n this.element.removeAttribute('width');\n this.element.removeAttribute('height');\n } else {\n this.element.setAttribute( 'width', width );\n this.element.setAttribute( 'height', height );\n }\n};\n\nIllustration.prototype.renderGraphSvg = function( item ) {\n item = item || this;\n empty( this.element );\n this.onPrerender( this.element );\n Anchor.prototype.renderGraphSvg.call( item, this.element );\n};\n\nfunction empty( element ) {\n while ( element.firstChild ) {\n element.removeChild( element.firstChild );\n }\n}\n\n// ----- drag ----- //\n\nIllustration.prototype.setDragRotate = function( item ) {\n if ( !item ) {\n return;\n } else if ( item === true ) {\n /* eslint consistent-this: \"off\" */\n item = this;\n }\n this.dragRotate = item;\n\n this.bindDrag( this.element );\n};\n\nIllustration.prototype.dragStart = function( /* event, pointer */) {\n this.dragStartRX = this.dragRotate.rotate.x;\n this.dragStartRY = this.dragRotate.rotate.y;\n Dragger.prototype.dragStart.apply( this, arguments );\n};\n\nIllustration.prototype.dragMove = function( event, pointer ) {\n var moveX = pointer.pageX - this.dragStartX;\n var moveY = pointer.pageY - this.dragStartY;\n var displaySize = Math.min( this.width, this.height );\n var moveRY = moveX/displaySize * TAU;\n var moveRX = moveY/displaySize * TAU;\n this.dragRotate.rotate.x = this.dragStartRX - moveRX;\n this.dragRotate.rotate.y = this.dragStartRY - moveRY;\n Dragger.prototype.dragMove.apply( this, arguments );\n};\n\nreturn Illustration;\n\n} ) );\n","/**\n * Index\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n require('./boilerplate'),\n require('./canvas-renderer'),\n require('./svg-renderer'),\n require('./vector'),\n require('./anchor'),\n require('./dragger'),\n require('./illustration'),\n require('./path-command'),\n require('./shape'),\n require('./group'),\n require('./rect'),\n require('./rounded-rect'),\n require('./ellipse'),\n require('./polygon'),\n require('./hemisphere'),\n require('./cylinder'),\n require('./cone'),\n require('./box')\n );\n } else if ( typeof define == 'function' && define.amd ) {\n /* globals define */ // AMD\n define( 'zdog', [], root.Zdog );\n }\n/* eslint-disable max-params */\n} )( this, function factory( Zdog, CanvasRenderer, SvgRenderer, Vector, Anchor,\n Dragger, Illustration, PathCommand, Shape, Group, Rect, RoundedRect,\n Ellipse, Polygon, Hemisphere, Cylinder, Cone, Box ) {\n/* eslint-enable max-params */\n\n Zdog.CanvasRenderer = CanvasRenderer;\n Zdog.SvgRenderer = SvgRenderer;\n Zdog.Vector = Vector;\n Zdog.Anchor = Anchor;\n Zdog.Dragger = Dragger;\n Zdog.Illustration = Illustration;\n Zdog.PathCommand = PathCommand;\n Zdog.Shape = Shape;\n Zdog.Group = Group;\n Zdog.Rect = Rect;\n Zdog.RoundedRect = RoundedRect;\n Zdog.Ellipse = Ellipse;\n Zdog.Polygon = Polygon;\n Zdog.Hemisphere = Hemisphere;\n Zdog.Cylinder = Cylinder;\n Zdog.Cone = Cone;\n Zdog.Box = Box;\n\n return Zdog;\n} );\n","/**\n * PathCommand\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./vector') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.PathCommand = factory( Zdog.Vector );\n }\n}( this, function factory( Vector ) {\n\nfunction PathCommand( method, points, previousPoint ) {\n this.method = method;\n this.points = points.map( mapVectorPoint );\n this.renderPoints = points.map( mapNewVector );\n this.previousPoint = previousPoint;\n this.endRenderPoint = this.renderPoints[ this.renderPoints.length - 1 ];\n // arc actions come with previous point & corner point\n // but require bezier control points\n if ( method == 'arc' ) {\n this.controlPoints = [ new Vector(), new Vector() ];\n }\n}\n\nfunction mapVectorPoint( point ) {\n if ( point instanceof Vector ) {\n return point;\n } else {\n return new Vector( point );\n }\n}\n\nfunction mapNewVector( point ) {\n return new Vector( point );\n}\n\nPathCommand.prototype.reset = function() {\n // reset renderPoints back to orignal points position\n var points = this.points;\n this.renderPoints.forEach( function( renderPoint, i ) {\n var point = points[i];\n renderPoint.set( point );\n } );\n};\n\nPathCommand.prototype.transform = function( translation, rotation, scale ) {\n this.renderPoints.forEach( function( renderPoint ) {\n renderPoint.transform( translation, rotation, scale );\n } );\n};\n\nPathCommand.prototype.render = function( ctx, elem, renderer ) {\n return this[ this.method ]( ctx, elem, renderer );\n};\n\nPathCommand.prototype.move = function( ctx, elem, renderer ) {\n return renderer.move( ctx, elem, this.renderPoints[0] );\n};\n\nPathCommand.prototype.line = function( ctx, elem, renderer ) {\n return renderer.line( ctx, elem, this.renderPoints[0] );\n};\n\nPathCommand.prototype.bezier = function( ctx, elem, renderer ) {\n var cp0 = this.renderPoints[0];\n var cp1 = this.renderPoints[1];\n var end = this.renderPoints[2];\n return renderer.bezier( ctx, elem, cp0, cp1, end );\n};\n\nvar arcHandleLength = 9/16;\n\nPathCommand.prototype.arc = function( ctx, elem, renderer ) {\n var prev = this.previousPoint;\n var corner = this.renderPoints[0];\n var end = this.renderPoints[1];\n var cp0 = this.controlPoints[0];\n var cp1 = this.controlPoints[1];\n cp0.set( prev ).lerp( corner, arcHandleLength );\n cp1.set( end ).lerp( corner, arcHandleLength );\n return renderer.bezier( ctx, elem, cp0, cp1, end );\n};\n\nreturn PathCommand;\n\n} ) );\n","/**\n * Shape\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./boilerplate'), require('./shape') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.Polygon = factory( Zdog, Zdog.Shape );\n }\n}( this, function factory( utils, Shape ) {\n\nvar Polygon = Shape.subclass({\n sides: 3,\n radius: 0.5,\n});\n\nvar TAU = utils.TAU;\n\nPolygon.prototype.setPath = function() {\n this.path = [];\n for ( var i = 0; i < this.sides; i++ ) {\n var theta = i / this.sides * TAU - TAU/4;\n var x = Math.cos( theta ) * this.radius;\n var y = Math.sin( theta ) * this.radius;\n this.path.push({ x: x, y: y });\n }\n};\n\nreturn Polygon;\n\n} ) );\n","/**\n * Rect\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./shape') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.Rect = factory( Zdog.Shape );\n }\n}( this, function factory( Shape ) {\n\nvar Rect = Shape.subclass({\n width: 1,\n height: 1,\n});\n\nRect.prototype.setPath = function() {\n var x = this.width / 2;\n var y = this.height / 2;\n /* eslint key-spacing: \"off\" */\n this.path = [\n { x: -x, y: -y },\n { x: x, y: -y },\n { x: x, y: y },\n { x: -x, y: y },\n ];\n};\n\nreturn Rect;\n\n} ) );\n","/**\n * RoundedRect\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./shape') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.RoundedRect = factory( Zdog.Shape );\n }\n}( this, function factory( Shape ) {\n\nvar RoundedRect = Shape.subclass({\n width: 1,\n height: 1,\n cornerRadius: 0.25,\n closed: false,\n});\n\nRoundedRect.prototype.setPath = function() {\n /* eslint\n id-length: [ \"error\", { \"min\": 2, \"exceptions\": [ \"x\", \"y\" ] }],\n key-spacing: \"off\" */\n var xA = this.width / 2;\n var yA = this.height / 2;\n var shortSide = Math.min( xA, yA );\n var cornerRadius = Math.min( this.cornerRadius, shortSide );\n var xB = xA - cornerRadius;\n var yB = yA - cornerRadius;\n var path = [\n // top right corner\n { x: xB, y: -yA },\n { arc: [\n { x: xA, y: -yA },\n { x: xA, y: -yB },\n ] },\n ];\n // bottom right corner\n if ( yB ) {\n path.push({ x: xA, y: yB });\n }\n path.push({ arc: [\n { x: xA, y: yA },\n { x: xB, y: yA },\n ] });\n // bottom left corner\n if ( xB ) {\n path.push({ x: -xB, y: yA });\n }\n path.push({ arc: [\n { x: -xA, y: yA },\n { x: -xA, y: yB },\n ] });\n // top left corner\n if ( yB ) {\n path.push({ x: -xA, y: -yB });\n }\n path.push({ arc: [\n { x: -xA, y: -yA },\n { x: -xB, y: -yA },\n ] });\n\n // back to top right corner\n if ( xB ) {\n path.push({ x: xB, y: -yA });\n }\n\n this.path = path;\n};\n\nreturn RoundedRect;\n\n} ) );\n","/**\n * Shape\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./boilerplate'), require('./vector'),\n require('./path-command'), require('./anchor') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.Shape = factory( Zdog, Zdog.Vector, Zdog.PathCommand, Zdog.Anchor );\n }\n}( this, function factory( utils, Vector, PathCommand, Anchor ) {\n\nvar Shape = Anchor.subclass({\n stroke: 1,\n fill: false,\n color: '#333',\n closed: true,\n visible: true,\n path: [ {} ],\n front: { z: 1 },\n backface: true,\n});\n\nShape.prototype.create = function( options ) {\n Anchor.prototype.create.call( this, options );\n this.updatePath();\n // front\n this.front = new Vector( options.front || this.front );\n this.renderFront = new Vector( this.front );\n this.renderNormal = new Vector();\n};\n\nvar actionNames = [\n 'move',\n 'line',\n 'bezier',\n 'arc',\n];\n\nShape.prototype.updatePath = function() {\n this.setPath();\n this.updatePathCommands();\n};\n\n// place holder for Ellipse, Rect, etc.\nShape.prototype.setPath = function() {};\n\n// parse path into PathCommands\nShape.prototype.updatePathCommands = function() {\n var previousPoint;\n this.pathCommands = this.path.map( function( pathPart, i ) {\n // pathPart can be just vector coordinates -> { x, y, z }\n // or path instruction -> { arc: [ {x0,y0,z0}, {x1,y1,z1} ] }\n var keys = Object.keys( pathPart );\n var method = keys[0];\n var points = pathPart[ method ];\n // default to line if no instruction\n var isInstruction = keys.length == 1 && actionNames.indexOf( method ) != -1;\n if ( !isInstruction ) {\n method = 'line';\n points = pathPart;\n }\n // munge single-point methods like line & move without arrays\n var isLineOrMove = method == 'line' || method == 'move';\n var isPointsArray = Array.isArray( points );\n if ( isLineOrMove && !isPointsArray ) {\n points = [ points ];\n }\n\n // first action is always move\n method = i === 0 ? 'move' : method;\n // arcs require previous last point\n var command = new PathCommand( method, points, previousPoint );\n // update previousLastPoint\n previousPoint = command.endRenderPoint;\n return command;\n } );\n};\n\n// ----- update ----- //\n\nShape.prototype.reset = function() {\n this.renderOrigin.set( this.origin );\n this.renderFront.set( this.front );\n // reset command render points\n this.pathCommands.forEach( function( command ) {\n command.reset();\n } );\n};\n\nShape.prototype.transform = function( translation, rotation, scale ) {\n // calculate render points backface visibility & cone/hemisphere shapes\n this.renderOrigin.transform( translation, rotation, scale );\n this.renderFront.transform( translation, rotation, scale );\n this.renderNormal.set( this.renderOrigin ).subtract( this.renderFront );\n // transform points\n this.pathCommands.forEach( function( command ) {\n command.transform( translation, rotation, scale );\n } );\n // transform children\n this.children.forEach( function( child ) {\n child.transform( translation, rotation, scale );\n } );\n};\n\nShape.prototype.updateSortValue = function() {\n // sort by average z of all points\n // def not geometrically correct, but works for me\n var pointCount = this.pathCommands.length;\n var firstPoint = this.pathCommands[0].endRenderPoint;\n var lastPoint = this.pathCommands[ pointCount - 1 ].endRenderPoint;\n // ignore the final point if self closing shape\n var isSelfClosing = pointCount > 2 && firstPoint.isSame( lastPoint );\n if ( isSelfClosing ) {\n pointCount -= 1;\n }\n\n var sortValueTotal = 0;\n for ( var i = 0; i < pointCount; i++ ) {\n sortValueTotal += this.pathCommands[i].endRenderPoint.z;\n }\n this.sortValue = sortValueTotal/pointCount;\n};\n\n// ----- render ----- //\n\nShape.prototype.render = function( ctx, renderer ) {\n var length = this.pathCommands.length;\n if ( !this.visible || !length ) {\n return;\n }\n // do not render if hiding backface\n this.isFacingBack = this.renderNormal.z > 0;\n if ( !this.backface && this.isFacingBack ) {\n return;\n }\n if ( !renderer ) {\n throw new Error( 'Zdog renderer required. Set to ' + renderer );\n }\n // render dot or path\n var isDot = length == 1;\n if ( renderer.isCanvas && isDot ) {\n this.renderCanvasDot( ctx, renderer );\n } else {\n this.renderPath( ctx, renderer );\n }\n};\n\nvar TAU = utils.TAU;\n// Safari does not render lines with no size, have to render circle instead\nShape.prototype.renderCanvasDot = function( ctx ) {\n var lineWidth = this.getLineWidth();\n if ( !lineWidth ) {\n return;\n }\n ctx.fillStyle = this.getRenderColor();\n var point = this.pathCommands[0].endRenderPoint;\n ctx.beginPath();\n var radius = lineWidth/2;\n ctx.arc( point.x, point.y, radius, 0, TAU );\n ctx.fill();\n};\n\nShape.prototype.getLineWidth = function() {\n if ( !this.stroke ) {\n return 0;\n }\n if ( this.stroke == true ) {\n return 1;\n }\n return this.stroke;\n};\n\nShape.prototype.getRenderColor = function() {\n // use backface color if applicable\n var isBackfaceColor = typeof this.backface == 'string' && this.isFacingBack;\n var color = isBackfaceColor ? this.backface : this.color;\n return color;\n};\n\nShape.prototype.renderPath = function( ctx, renderer ) {\n var elem = this.getRenderElement( ctx, renderer );\n var isTwoPoints = this.pathCommands.length == 2 &&\n this.pathCommands[1].method == 'line';\n var isClosed = !isTwoPoints && this.closed;\n var color = this.getRenderColor();\n\n renderer.renderPath( ctx, elem, this.pathCommands, isClosed );\n renderer.stroke( ctx, elem, this.stroke, color, this.getLineWidth() );\n renderer.fill( ctx, elem, this.fill, color );\n renderer.end( ctx, elem );\n};\n\nvar svgURI = 'http://www.w3.org/2000/svg';\n\nShape.prototype.getRenderElement = function( ctx, renderer ) {\n if ( !renderer.isSvg ) {\n return;\n }\n if ( !this.svgElement ) {\n // create svgElement\n this.svgElement = document.createElementNS( svgURI, 'path' );\n this.svgElement.setAttribute( 'stroke-linecap', 'round' );\n this.svgElement.setAttribute( 'stroke-linejoin', 'round' );\n }\n return this.svgElement;\n};\n\nreturn Shape;\n\n} ) );\n","/**\n * SvgRenderer\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory();\n } else {\n // browser global\n root.Zdog.SvgRenderer = factory();\n }\n}( this, function factory() {\n\nvar SvgRenderer = { isSvg: true };\n\n// round path coordinates to 3 decimals\nvar round = SvgRenderer.round = function( num ) {\n return Math.round( num * 1000 ) / 1000;\n};\n\nfunction getPointString( point ) {\n return round( point.x ) + ',' + round( point.y ) + ' ';\n}\n\nSvgRenderer.begin = function() {};\n\nSvgRenderer.move = function( svg, elem, point ) {\n return 'M' + getPointString( point );\n};\n\nSvgRenderer.line = function( svg, elem, point ) {\n return 'L' + getPointString( point );\n};\n\nSvgRenderer.bezier = function( svg, elem, cp0, cp1, end ) {\n return 'C' + getPointString( cp0 ) + getPointString( cp1 ) +\n getPointString( end );\n};\n\nSvgRenderer.closePath = function( /* elem */) {\n return 'Z';\n};\n\nSvgRenderer.setPath = function( svg, elem, pathValue ) {\n elem.setAttribute( 'd', pathValue );\n};\n\nSvgRenderer.renderPath = function( svg, elem, pathCommands, isClosed ) {\n var pathValue = '';\n pathCommands.forEach( function( command ) {\n pathValue += command.render( svg, elem, SvgRenderer );\n } );\n if ( isClosed ) {\n pathValue += this.closePath( svg, elem );\n }\n this.setPath( svg, elem, pathValue );\n};\n\nSvgRenderer.stroke = function( svg, elem, isStroke, color, lineWidth ) {\n if ( !isStroke ) {\n return;\n }\n elem.setAttribute( 'stroke', color );\n elem.setAttribute( 'stroke-width', lineWidth );\n};\n\nSvgRenderer.fill = function( svg, elem, isFill, color ) {\n var fillColor = isFill ? color : 'none';\n elem.setAttribute( 'fill', fillColor );\n};\n\nSvgRenderer.end = function( svg, elem ) {\n svg.appendChild( elem );\n};\n\nreturn SvgRenderer;\n\n} ) );\n","/**\n * Vector\n */\n\n( function( root, factory ) {\n // module definition\n if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory( require('./boilerplate') );\n } else {\n // browser global\n var Zdog = root.Zdog;\n Zdog.Vector = factory( Zdog );\n }\n\n}( this, function factory( utils ) {\n\nfunction Vector( position ) {\n this.set( position );\n}\n\nvar TAU = utils.TAU;\n\n// 'pos' = 'position'\nVector.prototype.set = function( pos ) {\n this.x = pos && pos.x || 0;\n this.y = pos && pos.y || 0;\n this.z = pos && pos.z || 0;\n return this;\n};\n\n// set coordinates without sanitizing\n// vec.write({ y: 2 }) only sets y coord\nVector.prototype.write = function( pos ) {\n if ( !pos ) {\n return this;\n }\n this.x = pos.x != undefined ? pos.x : this.x;\n this.y = pos.y != undefined ? pos.y : this.y;\n this.z = pos.z != undefined ? pos.z : this.z;\n return this;\n};\n\nVector.prototype.rotate = function( rotation ) {\n if ( !rotation ) {\n return;\n }\n this.rotateZ( rotation.z );\n this.rotateY( rotation.y );\n this.rotateX( rotation.x );\n return this;\n};\n\nVector.prototype.rotateZ = function( angle ) {\n rotateProperty( this, angle, 'x', 'y' );\n};\n\nVector.prototype.rotateX = function( angle ) {\n rotateProperty( this, angle, 'y', 'z' );\n};\n\nVector.prototype.rotateY = function( angle ) {\n rotateProperty( this, angle, 'x', 'z' );\n};\n\nfunction rotateProperty( vec, angle, propA, propB ) {\n if ( !angle || angle % TAU === 0 ) {\n return;\n }\n var cos = Math.cos( angle );\n var sin = Math.sin( angle );\n var a = vec[ propA ];\n var b = vec[ propB ];\n vec[ propA ] = a * cos - b * sin;\n vec[ propB ] = b * cos + a * sin;\n}\n\nVector.prototype.isSame = function( pos ) {\n if ( !pos ) {\n return false;\n }\n return this.x === pos.x && this.y === pos.y && this.z === pos.z;\n};\n\nVector.prototype.add = function( pos ) {\n if ( !pos ) {\n return this;\n }\n this.x += pos.x || 0;\n this.y += pos.y || 0;\n this.z += pos.z || 0;\n return this;\n};\n\nVector.prototype.subtract = function( pos ) {\n if ( !pos ) {\n return this;\n }\n this.x -= pos.x || 0;\n this.y -= pos.y || 0;\n this.z -= pos.z || 0;\n return this;\n};\n\nVector.prototype.multiply = function( pos ) {\n if ( pos == undefined ) {\n return this;\n }\n // multiple all values by same number\n if ( typeof pos == 'number' ) {\n this.x *= pos;\n this.y *= pos;\n this.z *= pos;\n } else {\n // multiply object\n this.x *= pos.x != undefined ? pos.x : 1;\n this.y *= pos.y != undefined ? pos.y : 1;\n this.z *= pos.z != undefined ? pos.z : 1;\n }\n return this;\n};\n\nVector.prototype.transform = function( translation, rotation, scale ) {\n this.multiply( scale );\n this.rotate( rotation );\n this.add( translation );\n return this;\n};\n\nVector.prototype.lerp = function( pos, alpha ) {\n this.x = utils.lerp( this.x, pos.x || 0, alpha );\n this.y = utils.lerp( this.y, pos.y || 0, alpha );\n this.z = utils.lerp( this.z, pos.z || 0, alpha );\n return this;\n};\n\nVector.prototype.magnitude = function() {\n var sum = this.x * this.x + this.y * this.y + this.z * this.z;\n return getMagnitudeSqrt( sum );\n};\n\nfunction getMagnitudeSqrt( sum ) {\n // PERF: check if sum ~= 1 and skip sqrt\n if ( Math.abs( sum - 1 ) < 0.00000001 ) {\n return 1;\n }\n return Math.sqrt( sum );\n}\n\nVector.prototype.magnitude2d = function() {\n var sum = this.x * this.x + this.y * this.y;\n return getMagnitudeSqrt( sum );\n};\n\nVector.prototype.copy = function() {\n return new Vector( this );\n};\n\nreturn Vector;\n\n} ) );\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + ({\"104\":\"blueprint-icons-all-paths\",\"439\":\"blueprint-icons-all-paths-loader\",\"500\":\"blueprint-icons-16px-paths\",\"569\":\"blueprint-icons-split-paths-by-size-loader\",\"680\":\"blueprint-icons-20px-paths\"}[chunkId] || chunkId) + \".\" + {\"104\":\"e643b2c5\",\"439\":\"53883a20\",\"500\":\"0c2662b2\",\"569\":\"6d8a31ce\",\"680\":\"e0ebc028\",\"787\":\"b12b0301\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"dualsense-ts-example-app:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/dualsense-ts/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdualsense_ts_example_app\"] = self[\"webpackChunkdualsense_ts_example_app\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","function _taggedTemplateLiteral(e, t) {\n return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {\n raw: {\n value: Object.freeze(t)\n }\n }));\n}\nexport { _taggedTemplateLiteral as default };","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","// @flow\nimport type { Interpolation } from '../types';\n\nexport default (\n strings: Array<string>,\n interpolations: Array<Interpolation>\n): Array<Interpolation> => {\n const result = [strings[0]];\n\n for (let i = 0, len = interpolations.length; i < len; i += 1) {\n result.push(interpolations[i], strings[i + 1]);\n }\n\n return result;\n};\n","// @flow\nimport { typeOf } from 'react-is';\n\nexport default (x: any): boolean =>\n x !== null &&\n typeof x === 'object' &&\n (x.toString ? x.toString() : Object.prototype.toString.call(x)) === '[object Object]' &&\n !typeOf(x);\n","// @flow\nexport const EMPTY_ARRAY = Object.freeze([]);\nexport const EMPTY_OBJECT = Object.freeze({});\n","// @flow\nexport default function isFunction(test: any): boolean %checks {\n return typeof test === 'function';\n}\n","// @flow\nimport type { IStyledComponent } from '../types';\n\nexport default function getComponentName(\n target: $PropertyType<IStyledComponent, 'target'>\n): string {\n return (\n (process.env.NODE_ENV !== 'production' ? typeof target === 'string' && target : false) ||\n // $FlowFixMe\n target.displayName ||\n // $FlowFixMe\n target.name ||\n 'Component'\n );\n}\n","// @flow\nexport default function isStyledComponent(target: any): boolean %checks {\n return target && typeof target.styledComponentId === 'string';\n}\n","// @flow\n\ndeclare var SC_DISABLE_SPEEDY: ?boolean;\ndeclare var __VERSION__: string;\n\nexport const SC_ATTR: string =\n (typeof process !== 'undefined' &&\n typeof process.env !== 'undefined' &&\n (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR)) ||\n 'data-styled';\n\nexport const SC_ATTR_ACTIVE = 'active';\nexport const SC_ATTR_VERSION = 'data-styled-version';\nexport const SC_VERSION = __VERSION__;\nexport const SPLITTER = '/*!sc*/\\n';\n\nexport const IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\nexport const DISABLE_SPEEDY = Boolean(\n typeof SC_DISABLE_SPEEDY === 'boolean'\n ? SC_DISABLE_SPEEDY\n : typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? typeof process.env.REACT_APP_SC_DISABLE_SPEEDY !== 'undefined' &&\n process.env.REACT_APP_SC_DISABLE_SPEEDY !== ''\n ? process.env.REACT_APP_SC_DISABLE_SPEEDY === 'false'\n ? false\n : process.env.REACT_APP_SC_DISABLE_SPEEDY\n : typeof process.env.SC_DISABLE_SPEEDY !== 'undefined' && process.env.SC_DISABLE_SPEEDY !== ''\n ? process.env.SC_DISABLE_SPEEDY === 'false'\n ? false\n : process.env.SC_DISABLE_SPEEDY\n : process.env.NODE_ENV !== 'production'\n : false\n);\n\n// Shared empty execution context when generating static styles\nexport const STATIC_EXECUTION_CONTEXT = {};\n","// @flow\nimport errorMap from './errors';\n\nconst ERRORS = process.env.NODE_ENV !== 'production' ? errorMap : {};\n\n/**\n * super basic version of sprintf\n */\nfunction format(...args) {\n let a = args[0];\n const b = [];\n\n for (let c = 1, len = args.length; c < len; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(d => {\n a = a.replace(/%[a-z]/, d);\n });\n\n return a;\n}\n\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n */\nexport default function throwStyledComponentsError(\n code: string | number,\n ...interpolations: Array<any>\n) {\n if (process.env.NODE_ENV === 'production') {\n throw new Error(\n `An error occurred. See https://git.io/JUIaE#${code} for more information.${\n interpolations.length > 0 ? ` Args: ${interpolations.join(', ')}` : ''\n }`\n );\n } else {\n throw new Error(format(ERRORS[code], ...interpolations).trim());\n }\n}\n","// @flow\n/* eslint-disable no-use-before-define */\n\nimport type { GroupedTag, Tag } from './types';\nimport { SPLITTER } from '../constants';\nimport throwStyledError from '../utils/error';\n\n/** Create a GroupedTag with an underlying Tag implementation */\nexport const makeGroupedTag = (tag: Tag): GroupedTag => {\n return new DefaultGroupedTag(tag);\n};\n\nconst BASE_SIZE = 1 << 9;\n\nclass DefaultGroupedTag implements GroupedTag {\n groupSizes: Uint32Array;\n\n length: number;\n\n tag: Tag;\n\n constructor(tag: Tag) {\n this.groupSizes = new Uint32Array(BASE_SIZE);\n this.length = BASE_SIZE;\n this.tag = tag;\n }\n\n indexOfGroup(group: number): number {\n let index = 0;\n for (let i = 0; i < group; i++) {\n index += this.groupSizes[i];\n }\n\n return index;\n }\n\n insertRules(group: number, rules: string[]): void {\n if (group >= this.groupSizes.length) {\n const oldBuffer = this.groupSizes;\n const oldSize = oldBuffer.length;\n\n let newSize = oldSize;\n while (group >= newSize) {\n newSize <<= 1;\n if (newSize < 0) {\n throwStyledError(16, `${group}`);\n }\n }\n\n this.groupSizes = new Uint32Array(newSize);\n this.groupSizes.set(oldBuffer);\n this.length = newSize;\n\n for (let i = oldSize; i < newSize; i++) {\n this.groupSizes[i] = 0;\n }\n }\n\n let ruleIndex = this.indexOfGroup(group + 1);\n for (let i = 0, l = rules.length; i < l; i++) {\n if (this.tag.insertRule(ruleIndex, rules[i])) {\n this.groupSizes[group]++;\n ruleIndex++;\n }\n }\n }\n\n clearGroup(group: number): void {\n if (group < this.length) {\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n this.groupSizes[group] = 0;\n\n for (let i = startIndex; i < endIndex; i++) {\n this.tag.deleteRule(startIndex);\n }\n }\n }\n\n getGroup(group: number): string {\n let css = '';\n if (group >= this.length || this.groupSizes[group] === 0) {\n return css;\n }\n\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n for (let i = startIndex; i < endIndex; i++) {\n css += `${this.tag.getRule(i)}${SPLITTER}`;\n }\n\n return css;\n }\n}\n","// @flow\n\nimport throwStyledError from '../utils/error';\n\nconst MAX_SMI = 1 << 31 - 1;\n\nlet groupIDRegister: Map<string, number> = new Map();\nlet reverseRegister: Map<number, string> = new Map();\nlet nextFreeGroup = 1;\n\nexport const resetGroupIds = () => {\n groupIDRegister = new Map();\n reverseRegister = new Map();\n nextFreeGroup = 1;\n};\n\nexport const getGroupForId = (id: string): number => {\n if (groupIDRegister.has(id)) {\n return (groupIDRegister.get(id): any);\n }\n\n while (reverseRegister.has(nextFreeGroup)) {\n nextFreeGroup++;\n }\n\n const group = nextFreeGroup++;\n\n if (\n process.env.NODE_ENV !== 'production' &&\n ((group | 0) < 0 || group > MAX_SMI)\n ) {\n throwStyledError(16, `${group}`);\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n return group;\n};\n\nexport const getIdForGroup = (group: number): void | string => {\n return reverseRegister.get(group);\n};\n\nexport const setGroupForId = (id: string, group: number) => {\n if (group >= nextFreeGroup) {\n nextFreeGroup = group + 1;\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n};\n","// @flow\n\nimport { SPLITTER, SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport { getIdForGroup, setGroupForId } from './GroupIDAllocator';\nimport type { Sheet } from './types';\n\nconst SELECTOR = `style[${SC_ATTR}][${SC_ATTR_VERSION}=\"${SC_VERSION}\"]`;\nconst MARKER_RE = new RegExp(`^${SC_ATTR}\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)`);\n\nexport const outputSheet = (sheet: Sheet) => {\n const tag = sheet.getTag();\n const { length } = tag;\n\n let css = '';\n for (let group = 0; group < length; group++) {\n const id = getIdForGroup(group);\n if (id === undefined) continue;\n\n const names = sheet.names.get(id);\n const rules = tag.getGroup(group);\n if (!names || !rules || !names.size) continue;\n\n const selector = `${SC_ATTR}.g${group}[id=\"${id}\"]`;\n\n let content = '';\n if (names !== undefined) {\n names.forEach(name => {\n if (name.length > 0) {\n content += `${name},`;\n }\n });\n }\n\n // NOTE: It's easier to collect rules and have the marker\n // after the actual rules to simplify the rehydration\n css += `${rules}${selector}{content:\"${content}\"}${SPLITTER}`;\n }\n\n return css;\n};\n\nconst rehydrateNamesFromContent = (sheet: Sheet, id: string, content: string) => {\n const names = content.split(',');\n let name;\n\n for (let i = 0, l = names.length; i < l; i++) {\n // eslint-disable-next-line\n if ((name = names[i])) {\n sheet.registerName(id, name);\n }\n }\n};\n\nconst rehydrateSheetFromTag = (sheet: Sheet, style: HTMLStyleElement) => {\n const parts = (style.textContent || '').split(SPLITTER);\n const rules: string[] = [];\n\n for (let i = 0, l = parts.length; i < l; i++) {\n const part = parts[i].trim();\n if (!part) continue;\n\n const marker = part.match(MARKER_RE);\n\n if (marker) {\n const group = parseInt(marker[1], 10) | 0;\n const id = marker[2];\n\n if (group !== 0) {\n // Rehydrate componentId to group index mapping\n setGroupForId(id, group);\n // Rehydrate names and rules\n // looks like: data-styled.g11[id=\"idA\"]{content:\"nameA,\"}\n rehydrateNamesFromContent(sheet, id, marker[3]);\n sheet.getTag().insertRules(group, rules);\n }\n\n rules.length = 0;\n } else {\n rules.push(part);\n }\n }\n};\n\nexport const rehydrateSheet = (sheet: Sheet) => {\n const nodes = document.querySelectorAll(SELECTOR);\n\n for (let i = 0, l = nodes.length; i < l; i++) {\n const node = ((nodes[i]: any): HTMLStyleElement);\n if (node && node.getAttribute(SC_ATTR) !== SC_ATTR_ACTIVE) {\n rehydrateSheetFromTag(sheet, node);\n\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n }\n }\n};\n","// @flow\n/* eslint-disable camelcase, no-undef */\n\ndeclare var __webpack_nonce__: string;\n\nconst getNonce = () => {\n return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n};\n\nexport default getNonce;\n","// @flow\n\nimport { SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport getNonce from '../utils/nonce';\nimport throwStyledError from '../utils/error';\n\nconst ELEMENT_TYPE = 1; /* Node.ELEMENT_TYPE */\n\n/** Find last style element if any inside target */\nconst findLastStyleTag = (target: HTMLElement): void | HTMLStyleElement => {\n const { childNodes } = target;\n\n for (let i = childNodes.length; i >= 0; i--) {\n const child = ((childNodes[i]: any): ?HTMLElement);\n if (child && child.nodeType === ELEMENT_TYPE && child.hasAttribute(SC_ATTR)) {\n return ((child: any): HTMLStyleElement);\n }\n }\n\n return undefined;\n};\n\n/** Create a style element inside `target` or <head> after the last */\nexport const makeStyleTag = (target?: HTMLElement): HTMLStyleElement => {\n const head = ((document.head: any): HTMLElement);\n const parent = target || head;\n const style = document.createElement('style');\n const prevStyle = findLastStyleTag(parent);\n const nextSibling = prevStyle !== undefined ? prevStyle.nextSibling : null;\n\n style.setAttribute(SC_ATTR, SC_ATTR_ACTIVE);\n style.setAttribute(SC_ATTR_VERSION, SC_VERSION);\n\n const nonce = getNonce();\n\n if (nonce) style.setAttribute('nonce', nonce);\n\n parent.insertBefore(style, nextSibling);\n\n return style;\n};\n\n/** Get the CSSStyleSheet instance for a given style element */\nexport const getSheet = (tag: HTMLStyleElement): CSSStyleSheet => {\n if (tag.sheet) {\n return ((tag.sheet: any): CSSStyleSheet);\n }\n\n // Avoid Firefox quirk where the style element might not have a sheet property\n const { styleSheets } = document;\n for (let i = 0, l = styleSheets.length; i < l; i++) {\n const sheet = styleSheets[i];\n if (sheet.ownerNode === tag) {\n return ((sheet: any): CSSStyleSheet);\n }\n }\n\n throwStyledError(17);\n return (undefined: any);\n};\n","// @flow\n/* eslint-disable no-use-before-define */\n\nimport { makeStyleTag, getSheet } from './dom';\nimport type { SheetOptions, Tag } from './types';\n\n/** Create a CSSStyleSheet-like tag depending on the environment */\nexport const makeTag = ({ isServer, useCSSOMInjection, target }: SheetOptions): Tag => {\n if (isServer) {\n return new VirtualTag(target);\n } else if (useCSSOMInjection) {\n return new CSSOMTag(target);\n } else {\n return new TextTag(target);\n }\n};\n\nexport class CSSOMTag implements Tag {\n element: HTMLStyleElement;\n\n sheet: CSSStyleSheet;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n\n // Avoid Edge bug where empty style elements don't create sheets\n element.appendChild(document.createTextNode(''));\n\n this.sheet = getSheet(element);\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n try {\n this.sheet.insertRule(rule, index);\n this.length++;\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.sheet.deleteRule(index);\n this.length--;\n }\n\n getRule(index: number): string {\n const rule = this.sheet.cssRules[index];\n // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n if (rule !== undefined && typeof rule.cssText === 'string') {\n return rule.cssText;\n } else {\n return '';\n }\n }\n}\n\n/** A Tag that emulates the CSSStyleSheet API but uses text nodes */\nexport class TextTag implements Tag {\n element: HTMLStyleElement;\n\n nodes: NodeList<Node>;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n this.nodes = element.childNodes;\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length && index >= 0) {\n const node = document.createTextNode(rule);\n const refNode = this.nodes[index];\n this.element.insertBefore(node, refNode || null);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.element.removeChild(this.nodes[index]);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.nodes[index].textContent;\n } else {\n return '';\n }\n }\n}\n\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\nexport class VirtualTag implements Tag {\n rules: string[];\n\n length: number;\n\n constructor(_target?: HTMLElement) {\n this.rules = [];\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length) {\n this.rules.splice(index, 0, rule);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.rules.splice(index, 1);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.rules[index];\n } else {\n return '';\n }\n }\n}\n","// @flow\nimport { DISABLE_SPEEDY, IS_BROWSER } from '../constants';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport { makeGroupedTag } from './GroupedTag';\nimport { getGroupForId } from './GroupIDAllocator';\nimport { outputSheet, rehydrateSheet } from './Rehydration';\nimport { makeTag } from './Tag';\nimport type { GroupedTag, Sheet, SheetOptions } from './types';\n\nlet SHOULD_REHYDRATE = IS_BROWSER;\n\ntype SheetConstructorArgs = {\n isServer?: boolean,\n useCSSOMInjection?: boolean,\n target?: HTMLElement,\n};\n\ntype GlobalStylesAllocationMap = { [key: string]: number };\ntype NamesAllocationMap = Map<string, Set<string>>;\n\nconst defaultOptions: SheetOptions = {\n isServer: !IS_BROWSER,\n useCSSOMInjection: !DISABLE_SPEEDY,\n};\n\n/** Contains the main stylesheet logic for stringification and caching */\nexport default class StyleSheet implements Sheet {\n gs: GlobalStylesAllocationMap;\n\n names: NamesAllocationMap;\n\n options: SheetOptions;\n\n server: boolean;\n\n tag: void | GroupedTag;\n\n /** Register a group ID to give it an index */\n static registerId(id: string): number {\n return getGroupForId(id);\n }\n\n constructor(\n options: SheetConstructorArgs = EMPTY_OBJECT,\n globalStyles?: GlobalStylesAllocationMap = {},\n names?: NamesAllocationMap\n ) {\n this.options = {\n ...defaultOptions,\n ...options,\n };\n\n this.gs = globalStyles;\n this.names = new Map(names);\n this.server = !!options.isServer;\n\n // We rehydrate only once and use the sheet that is created first\n if (!this.server && IS_BROWSER && SHOULD_REHYDRATE) {\n SHOULD_REHYDRATE = false;\n rehydrateSheet(this);\n }\n }\n\n reconstructWithOptions(options: SheetConstructorArgs, withNames?: boolean = true) {\n return new StyleSheet(\n { ...this.options, ...options },\n this.gs,\n (withNames && this.names) || undefined\n );\n }\n\n allocateGSInstance(id: string) {\n return (this.gs[id] = (this.gs[id] || 0) + 1);\n }\n\n /** Lazily initialises a GroupedTag for when it's actually needed */\n getTag(): GroupedTag {\n return this.tag || (this.tag = makeGroupedTag(makeTag(this.options)));\n }\n\n /** Check whether a name is known for caching */\n hasNameForId(id: string, name: string): boolean {\n return this.names.has(id) && (this.names.get(id): any).has(name);\n }\n\n /** Mark a group's name as known for caching */\n registerName(id: string, name: string) {\n getGroupForId(id);\n\n if (!this.names.has(id)) {\n const groupNames = new Set();\n groupNames.add(name);\n this.names.set(id, groupNames);\n } else {\n (this.names.get(id): any).add(name);\n }\n }\n\n /** Insert new rules which also marks the name as known */\n insertRules(id: string, name: string, rules: string[]) {\n this.registerName(id, name);\n this.getTag().insertRules(getGroupForId(id), rules);\n }\n\n /** Clears all cached names for a given group ID */\n clearNames(id: string) {\n if (this.names.has(id)) {\n (this.names.get(id): any).clear();\n }\n }\n\n /** Clears all rules for a given group ID */\n clearRules(id: string) {\n this.getTag().clearGroup(getGroupForId(id));\n this.clearNames(id);\n }\n\n /** Clears the entire tag which deletes all rules but not its names */\n clearTag() {\n // NOTE: This does not clear the names, since it's only used during SSR\n // so that we can continuously output only new rules\n this.tag = undefined;\n }\n\n /** Outputs the current sheet as a CSS string with markers for SSR */\n toString(): string {\n return outputSheet(this);\n }\n}\n","// @flow\n/* eslint-disable no-bitwise */\n\nconst AD_REPLACER_R = /(a)(d)/gi;\n\n/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n * counterparts */\nconst charsLength = 52;\n\n/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\nconst getAlphabeticChar = (code: number): string =>\n String.fromCharCode(code + (code > 25 ? 39 : 97));\n\n/* input a number, usually a hash and convert it to base-52 */\nexport default function generateAlphabeticName(code: number): string {\n let name = '';\n let x;\n\n /* get a char and divide by alphabet-length */\n for (x = Math.abs(code); x > charsLength; x = (x / charsLength) | 0) {\n name = getAlphabeticChar(x % charsLength) + name;\n }\n\n return (getAlphabeticChar(x % charsLength) + name).replace(AD_REPLACER_R, '$1-$2');\n}\n","// @flow\n/* eslint-disable */\n\nexport const SEED = 5381;\n\n// When we have separate strings it's useful to run a progressive\n// version of djb2 where we pretend that we're still looping over\n// the same string\nexport const phash = (h: number, x: string): number => {\n let i = x.length;\n\n while (i) {\n h = (h * 33) ^ x.charCodeAt(--i);\n }\n\n return h;\n};\n\n// This is a djb2 hashing function\nexport const hash = (x: string): number => {\n return phash(SEED, x);\n};\n","// @flow\nimport isFunction from './isFunction';\nimport isStyledComponent from './isStyledComponent';\nimport type { RuleSet } from '../types';\n\nexport default function isStaticRules(rules: RuleSet): boolean {\n for (let i = 0; i < rules.length; i += 1) {\n const rule = rules[i];\n\n if (isFunction(rule) && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled component\n return false;\n }\n }\n\n return true;\n}\n","// @flow\nimport { SC_VERSION } from '../constants';\nimport StyleSheet from '../sheet';\nimport type { RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport generateName from '../utils/generateAlphabeticName';\nimport { hash, phash } from '../utils/hash';\nimport isStaticRules from '../utils/isStaticRules';\n\nconst SEED = hash(SC_VERSION);\n\n/**\n * ComponentStyle is all the CSS-specific stuff, not the React-specific stuff.\n */\nexport default class ComponentStyle {\n baseHash: number;\n\n baseStyle: ?ComponentStyle;\n\n componentId: string;\n\n isStatic: boolean;\n\n rules: RuleSet;\n\n staticRulesId: string;\n\n constructor(rules: RuleSet, componentId: string, baseStyle?: ComponentStyle) {\n this.rules = rules;\n this.staticRulesId = '';\n this.isStatic = process.env.NODE_ENV === 'production' &&\n (baseStyle === undefined || baseStyle.isStatic) &&\n isStaticRules(rules);\n this.componentId = componentId;\n\n // SC_VERSION gives us isolation between multiple runtimes on the page at once\n // this is improved further with use of the babel plugin \"namespace\" feature\n this.baseHash = phash(SEED, componentId);\n\n this.baseStyle = baseStyle;\n\n // NOTE: This registers the componentId, which ensures a consistent order\n // for this component's styles compared to others\n StyleSheet.registerId(componentId);\n }\n\n /*\n * Flattens a rule set into valid CSS\n * Hashes it, wraps the whole chunk in a .hash1234 {}\n * Returns the hash to be injected on render()\n * */\n generateAndInjectStyles(executionContext: Object, styleSheet: StyleSheet, stylis: Stringifier) {\n const { componentId } = this;\n\n const names = [];\n\n if (this.baseStyle) {\n names.push(this.baseStyle.generateAndInjectStyles(executionContext, styleSheet, stylis));\n }\n\n // force dynamic classnames if user-supplied stylis plugins are in use\n if (this.isStatic && !stylis.hash) {\n if (this.staticRulesId && styleSheet.hasNameForId(componentId, this.staticRulesId)) {\n names.push(this.staticRulesId);\n } else {\n const cssStatic = flatten(this.rules, executionContext, styleSheet, stylis).join('');\n const name = generateName(phash(this.baseHash, cssStatic) >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, name)) {\n const cssStaticFormatted = stylis(cssStatic, `.${name}`, undefined, componentId);\n\n styleSheet.insertRules(componentId, name, cssStaticFormatted);\n }\n\n names.push(name);\n this.staticRulesId = name;\n }\n } else {\n const { length } = this.rules;\n let dynamicHash = phash(this.baseHash, stylis.hash);\n let css = '';\n\n for (let i = 0; i < length; i++) {\n const partRule = this.rules[i];\n\n if (typeof partRule === 'string') {\n css += partRule;\n\n if (process.env.NODE_ENV !== 'production') dynamicHash = phash(dynamicHash, partRule + i);\n } else if (partRule) {\n const partChunk = flatten(partRule, executionContext, styleSheet, stylis);\n const partString = Array.isArray(partChunk) ? partChunk.join('') : partChunk;\n dynamicHash = phash(dynamicHash, partString + i);\n css += partString;\n }\n }\n\n if (css) {\n const name = generateName(dynamicHash >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, name)) {\n const cssFormatted = stylis(css, `.${name}`, undefined, componentId);\n styleSheet.insertRules(componentId, name, cssFormatted);\n }\n\n names.push(name);\n }\n }\n\n return names.join(' ');\n }\n}\n","import Stylis from '@emotion/stylis';\nimport { type Stringifier } from '../types';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from './empties';\nimport throwStyledError from './error';\nimport { phash, SEED } from './hash';\nimport insertRulePlugin from './stylisPluginInsertRule';\n\nconst COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\nconst COMPLEX_SELECTOR_PREFIX = [':', '[', '.', '#'];\n\ntype StylisInstanceConstructorArgs = {\n options?: Object,\n plugins?: Array<Function>,\n};\n\nexport default function createStylisInstance({\n options = EMPTY_OBJECT,\n plugins = EMPTY_ARRAY,\n}: StylisInstanceConstructorArgs = EMPTY_OBJECT) {\n const stylis = new Stylis(options);\n\n // Wrap `insertRulePlugin to build a list of rules,\n // and then make our own plugin to return the rules. This\n // makes it easier to hook into the existing SSR architecture\n\n let parsingRules = [];\n\n // eslint-disable-next-line consistent-return\n const returnRulesPlugin = context => {\n if (context === -2) {\n const parsedRules = parsingRules;\n parsingRules = [];\n return parsedRules;\n }\n };\n\n const parseRulesPlugin = insertRulePlugin(rule => {\n parsingRules.push(rule);\n });\n\n let _componentId: string;\n let _selector: string;\n let _selectorRegexp: RegExp;\n let _consecutiveSelfRefRegExp: RegExp;\n\n const selfReferenceReplacer = (match, offset, string) => {\n if (\n // do not replace the first occurrence if it is complex (has a modifier)\n (offset === 0 ? COMPLEX_SELECTOR_PREFIX.indexOf(string[_selector.length]) === -1 : true) &&\n // no consecutive self refs (.b.b); that is a precedence boost and treated differently\n !string.match(_consecutiveSelfRefRegExp)\n ) {\n return `.${_componentId}`;\n }\n\n return match;\n };\n\n /**\n * When writing a style like\n *\n * & + & {\n * color: red;\n * }\n *\n * The second ampersand should be a reference to the static component class. stylis\n * has no knowledge of static class so we have to intelligently replace the base selector.\n *\n * https://github.com/thysultan/stylis.js/tree/v3.5.4#plugins <- more info about the context phase values\n * \"2\" means this plugin is taking effect at the very end after all other processing is complete\n */\n const selfReferenceReplacementPlugin = (context, _, selectors) => {\n if (context === 2 && selectors.length && selectors[0].lastIndexOf(_selector) > 0) {\n // eslint-disable-next-line no-param-reassign\n selectors[0] = selectors[0].replace(_selectorRegexp, selfReferenceReplacer);\n }\n };\n\n stylis.use([...plugins, selfReferenceReplacementPlugin, parseRulesPlugin, returnRulesPlugin]);\n\n function stringifyRules(css, selector, prefix, componentId = '&'): Stringifier {\n const flatCSS = css.replace(COMMENT_REGEX, '');\n const cssStr = selector && prefix ? `${prefix} ${selector} { ${flatCSS} }` : flatCSS;\n\n // stylis has no concept of state to be passed to plugins\n // but since JS is single-threaded, we can rely on that to ensure\n // these properties stay in sync with the current stylis run\n _componentId = componentId;\n _selector = selector;\n _selectorRegexp = new RegExp(`\\\\${_selector}\\\\b`, 'g');\n _consecutiveSelfRefRegExp = new RegExp(`(\\\\${_selector}\\\\b){2,}`);\n\n return stylis(prefix || !selector ? '' : selector, cssStr);\n }\n\n stringifyRules.hash = plugins.length\n ? plugins\n .reduce((acc, plugin) => {\n if (!plugin.name) {\n throwStyledError(15);\n }\n\n return phash(acc, plugin.name);\n }, SEED)\n .toString()\n : '';\n\n return stringifyRules;\n}\n","/**\n * MIT License\n *\n * Copyright (c) 2016 Sultan Tarimo\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\n * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable */\n\nexport default function(insertRule) {\n const delimiter = '/*|*/';\n const needle = `${delimiter}}`;\n\n function toSheet(block) {\n if (block) {\n try {\n insertRule(`${block}}`);\n } catch (e) {}\n }\n }\n\n return function ruleSheet(\n context,\n content,\n selectors,\n parents,\n line,\n column,\n length,\n ns,\n depth,\n at\n ) {\n switch (context) {\n // property\n case 1:\n // @import\n if (depth === 0 && content.charCodeAt(0) === 64) return insertRule(`${content};`), '';\n break;\n // selector\n case 2:\n if (ns === 0) return content + delimiter;\n break;\n // at-rule\n case 3:\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n return insertRule(selectors[0] + content), '';\n default:\n return content + (at === 0 ? delimiter : '');\n }\n case -2:\n content.split(needle).forEach(toSheet);\n }\n };\n}\n","// @flow\nimport React, { type Context, type Node, useContext, useEffect, useMemo, useState } from 'react';\nimport shallowequal from 'shallowequal';\nimport StyleSheet from '../sheet';\nimport type { Stringifier } from '../types';\nimport createStylisInstance from '../utils/stylis';\n\ntype Props = {\n children?: Node,\n disableCSSOMInjection?: boolean,\n disableVendorPrefixes?: boolean,\n sheet?: StyleSheet,\n stylisPlugins?: Array<Function>,\n target?: HTMLElement,\n};\n\nexport const StyleSheetContext: Context<StyleSheet | void> = React.createContext();\nexport const StyleSheetConsumer = StyleSheetContext.Consumer;\nexport const StylisContext: Context<Stringifier | void> = React.createContext();\nexport const StylisConsumer = StylisContext.Consumer;\n\nexport const masterSheet: StyleSheet = new StyleSheet();\nexport const masterStylis: Stringifier = createStylisInstance();\n\nexport function useStyleSheet(): StyleSheet {\n return useContext(StyleSheetContext) || masterSheet;\n}\n\nexport function useStylis(): Stringifier {\n return useContext(StylisContext) || masterStylis;\n}\n\nexport default function StyleSheetManager(props: Props) {\n const [plugins, setPlugins] = useState(props.stylisPlugins);\n const contextStyleSheet = useStyleSheet();\n\n const styleSheet = useMemo(() => {\n let sheet = contextStyleSheet;\n\n if (props.sheet) {\n // eslint-disable-next-line prefer-destructuring\n sheet = props.sheet;\n } else if (props.target) {\n sheet = sheet.reconstructWithOptions({ target: props.target }, false);\n }\n\n if (props.disableCSSOMInjection) {\n sheet = sheet.reconstructWithOptions({ useCSSOMInjection: false });\n }\n\n return sheet;\n }, [props.disableCSSOMInjection, props.sheet, props.target]);\n\n const stylis = useMemo(\n () =>\n createStylisInstance({\n options: { prefix: !props.disableVendorPrefixes },\n plugins,\n }),\n [props.disableVendorPrefixes, plugins]\n );\n\n useEffect(() => {\n if (!shallowequal(plugins, props.stylisPlugins)) setPlugins(props.stylisPlugins);\n }, [props.stylisPlugins]);\n\n return (\n <StyleSheetContext.Provider value={styleSheet}>\n <StylisContext.Provider value={stylis}>\n {process.env.NODE_ENV !== 'production'\n ? React.Children.only(props.children)\n : props.children}\n </StylisContext.Provider>\n </StyleSheetContext.Provider>\n );\n}\n","// @flow\nimport StyleSheet from '../sheet';\nimport { type Stringifier } from '../types';\nimport throwStyledError from '../utils/error';\nimport { masterStylis } from './StyleSheetManager';\n\nexport default class Keyframes {\n id: string;\n\n name: string;\n\n rules: string;\n\n constructor(name: string, rules: string) {\n this.name = name;\n this.id = `sc-keyframes-${name}`;\n this.rules = rules;\n }\n\n inject = (styleSheet: StyleSheet, stylisInstance: Stringifier = masterStylis) => {\n const resolvedName = this.name + stylisInstance.hash;\n\n if (!styleSheet.hasNameForId(this.id, resolvedName)) {\n styleSheet.insertRules(\n this.id,\n resolvedName,\n stylisInstance(this.rules, resolvedName, '@keyframes')\n );\n }\n };\n\n toString = () => {\n return throwStyledError(12, String(this.name));\n };\n\n getName(stylisInstance: Stringifier = masterStylis) {\n return this.name + stylisInstance.hash;\n }\n}\n","// @flow\n\n/**\n * inlined version of\n * https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js\n */\n\nconst uppercaseCheck = /([A-Z])/;\nconst uppercasePattern = /([A-Z])/g;\nconst msPattern = /^ms-/;\nconst prefixAndLowerCase = (char: string): string => `-${char.toLowerCase()}`;\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\nexport default function hyphenateStyleName(string: string): string {\n return uppercaseCheck.test(string)\n ? string\n .replace(uppercasePattern, prefixAndLowerCase)\n .replace(msPattern, '-ms-')\n : string;\n}\n","// @flow\nimport { isElement } from 'react-is';\nimport getComponentName from './getComponentName';\nimport isFunction from './isFunction';\nimport isStatelessFunction from './isStatelessFunction';\nimport isPlainObject from './isPlainObject';\nimport isStyledComponent from './isStyledComponent';\nimport Keyframes from '../models/Keyframes';\nimport hyphenate from './hyphenateStyleName';\nimport addUnitIfNeeded from './addUnitIfNeeded';\nimport { type Stringifier } from '../types';\n\n/**\n * It's falsish not falsy because 0 is allowed.\n */\nconst isFalsish = chunk => chunk === undefined || chunk === null || chunk === false || chunk === '';\n\nexport const objToCssArray = (obj: Object, prevKey?: string): Array<string | Function> => {\n const rules = [];\n\n for (const key in obj) {\n if (!obj.hasOwnProperty(key) || isFalsish(obj[key])) continue;\n\n if ((Array.isArray(obj[key]) && obj[key].isCss) || isFunction(obj[key])) {\n rules.push(`${hyphenate(key)}:`, obj[key], ';');\n } else if (isPlainObject(obj[key])) {\n rules.push(...objToCssArray(obj[key], key));\n } else {\n rules.push(`${hyphenate(key)}: ${addUnitIfNeeded(key, obj[key])};`);\n }\n }\n\n return prevKey ? [`${prevKey} {`, ...rules, '}'] : rules;\n};\n\nexport default function flatten(\n chunk: any,\n executionContext: ?Object,\n styleSheet: ?Object,\n stylisInstance: ?Stringifier\n): any {\n if (Array.isArray(chunk)) {\n const ruleSet = [];\n\n for (let i = 0, len = chunk.length, result; i < len; i += 1) {\n result = flatten(chunk[i], executionContext, styleSheet, stylisInstance);\n\n if (result === '') continue;\n else if (Array.isArray(result)) ruleSet.push(...result);\n else ruleSet.push(result);\n }\n\n return ruleSet;\n }\n\n if (isFalsish(chunk)) {\n return '';\n }\n\n /* Handle other components */\n if (isStyledComponent(chunk)) {\n return `.${chunk.styledComponentId}`;\n }\n\n /* Either execute or defer the function */\n if (isFunction(chunk)) {\n if (isStatelessFunction(chunk) && executionContext) {\n const result = chunk(executionContext);\n\n if (process.env.NODE_ENV !== 'production' && isElement(result)) {\n // eslint-disable-next-line no-console\n console.warn(\n `${getComponentName(\n chunk\n )} is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.`\n );\n }\n\n return flatten(result, executionContext, styleSheet, stylisInstance);\n } else return chunk;\n }\n\n if (chunk instanceof Keyframes) {\n if (styleSheet) {\n chunk.inject(styleSheet, stylisInstance);\n return chunk.getName(stylisInstance);\n } else return chunk;\n }\n\n /* Handle objects */\n return isPlainObject(chunk) ? objToCssArray(chunk) : chunk.toString();\n}\n","// @flow\nexport default function isStatelessFunction(test: any): boolean {\n return (\n typeof test === 'function'\n && !(\n test.prototype\n && test.prototype.isReactComponent\n )\n );\n}\n","// @flow\nimport unitless from '@emotion/unitless';\n\n// Taken from https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/shared/dangerousStyleValue.js\nexport default function addUnitIfNeeded(name: string, value: any): any {\n // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133\n // $FlowFixMe\n if (value == null || typeof value === 'boolean' || value === '') {\n return '';\n }\n\n if (typeof value === 'number' && value !== 0 && !(name in unitless) && !name.startsWith('--')) {\n return `${value}px`; // Presumes implicit 'px' suffix for unitless numbers except for CSS variables\n }\n\n return String(value).trim();\n}\n","// @flow\nimport interleave from '../utils/interleave';\nimport isPlainObject from '../utils/isPlainObject';\nimport { EMPTY_ARRAY } from '../utils/empties';\nimport isFunction from '../utils/isFunction';\nimport flatten from '../utils/flatten';\nimport type { Interpolation, RuleSet, Styles } from '../types';\n\n/**\n * Used when flattening object styles to determine if we should\n * expand an array of styles.\n */\nconst addTag = arg => {\n if (Array.isArray(arg)) {\n // eslint-disable-next-line no-param-reassign\n arg.isCss = true;\n }\n return arg;\n};\n\nexport default function css(styles: Styles, ...interpolations: Array<Interpolation>): RuleSet {\n if (isFunction(styles) || isPlainObject(styles)) {\n // $FlowFixMe\n return addTag(flatten(interleave(EMPTY_ARRAY, [styles, ...interpolations])));\n }\n\n if (interpolations.length === 0 && styles.length === 1 && typeof styles[0] === 'string') {\n // $FlowFixMe\n return styles;\n }\n\n // $FlowFixMe\n return addTag(flatten(interleave(styles, interpolations)));\n}\n","// @flow\n\nimport { useRef } from 'react';\n\nconst invalidHookCallRe = /invalid hook call/i;\nconst seen = new Set();\n\nexport const checkDynamicCreation = (displayName: string, componentId?: string) => {\n if (process.env.NODE_ENV !== 'production') {\n const parsedIdString = componentId ? ` with the id of \"${componentId}\"` : '';\n const message =\n `The component ${displayName}${parsedIdString} has been created dynamically.\\n` +\n \"You may see this warning because you've called styled inside another component.\\n\" +\n 'To resolve this only create new StyledComponents outside of any render method and function component.';\n\n // If a hook is called outside of a component:\n // React 17 and earlier throw an error\n // React 18 and above use console.error\n\n const originalConsoleError = console.error // eslint-disable-line no-console\n try {\n let didNotCallInvalidHook = true\n /* $FlowIgnore[cannot-write] */\n console.error = (consoleErrorMessage, ...consoleErrorArgs) => { // eslint-disable-line no-console\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test(consoleErrorMessage)) {\n didNotCallInvalidHook = false\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen.delete(message);\n } else {\n originalConsoleError(consoleErrorMessage, ...consoleErrorArgs);\n }\n }\n // We purposefully call `useRef` outside of a component and expect it to throw\n // If it doesn't, then we're inside another component.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useRef();\n\n if (didNotCallInvalidHook && !seen.has(message)) {\n // eslint-disable-next-line no-console\n console.warn(message);\n seen.add(message);\n }\n } catch (error) {\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test(error.message)) {\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen.delete(message);\n }\n } finally {\n /* $FlowIgnore[cannot-write] */\n console.error = originalConsoleError; // eslint-disable-line no-console\n }\n }\n};\n","// @flow\nimport { EMPTY_OBJECT } from './empties';\n\ntype Props = {\n theme?: any,\n};\n\nexport default (props: Props, providedTheme: any, defaultProps: any = EMPTY_OBJECT) => {\n return (props.theme !== defaultProps.theme && props.theme) || providedTheme || defaultProps.theme;\n};\n","// @flow\n\n// Source: https://www.w3.org/TR/cssom-1/#serialize-an-identifier\n// Control characters and non-letter first symbols are not supported\nconst escapeRegex = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g;\n\nconst dashesAtEnds = /(^-|-$)/g;\n\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\nexport default function escape(str: string): string {\n return (\n str\n // Replace all possible CSS selectors\n .replace(escapeRegex, '-')\n\n // Remove extraneous hyphens at the start and end\n .replace(dashesAtEnds, '')\n );\n}\n","// @flow\n/* eslint-disable */\nimport generateAlphabeticName from './generateAlphabeticName';\nimport { hash } from './hash';\n\nexport default (str: string): string => {\n return generateAlphabeticName(hash(str) >>> 0);\n};\n","// @flow\nimport type { IStyledComponent } from '../types';\n\nexport default function isTag(target: $PropertyType<IStyledComponent, 'target'>): boolean %checks {\n return (\n typeof target === 'string' &&\n (process.env.NODE_ENV !== 'production'\n ? target.charAt(0) === target.charAt(0).toLowerCase()\n : true)\n );\n}\n","/* eslint-disable */\n/**\n mixin-deep; https://github.com/jonschlinkert/mixin-deep\n Inlined such that it will be consistently transpiled to an IE-compatible syntax.\n\n The MIT License (MIT)\n\n Copyright (c) 2014-present, Jon Schlinkert.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n*/\n\nconst isObject = val => {\n return (\n typeof val === 'function' || (typeof val === 'object' && val !== null && !Array.isArray(val))\n );\n};\n\nconst isValidKey = key => {\n return key !== '__proto__' && key !== 'constructor' && key !== 'prototype';\n};\n\nfunction mixin(target, val, key) {\n const obj = target[key];\n if (isObject(val) && isObject(obj)) {\n mixinDeep(obj, val);\n } else {\n target[key] = val;\n }\n}\n\nexport default function mixinDeep(target, ...rest) {\n for (const obj of rest) {\n if (isObject(obj)) {\n for (const key in obj) {\n if (isValidKey(key)) {\n mixin(target, obj[key], key);\n }\n }\n }\n }\n\n return target;\n}\n","// @flow\nimport React, { useContext, useMemo, type Element, type Context } from 'react';\nimport throwStyledError from '../utils/error';\nimport isFunction from '../utils/isFunction';\n\nexport type Theme = { [key: string]: mixed };\n\ntype ThemeArgument = Theme | ((outerTheme?: Theme) => Theme);\n\ntype Props = {\n children?: Element<any>,\n theme: ThemeArgument,\n};\n\nexport const ThemeContext: Context<Theme | void> = React.createContext();\n\nexport const ThemeConsumer = ThemeContext.Consumer;\n\nfunction mergeTheme(theme: ThemeArgument, outerTheme?: Theme): Theme {\n if (!theme) {\n return throwStyledError(14);\n }\n\n if (isFunction(theme)) {\n const mergedTheme = theme(outerTheme);\n\n if (\n process.env.NODE_ENV !== 'production' &&\n (mergedTheme === null || Array.isArray(mergedTheme) || typeof mergedTheme !== 'object')\n ) {\n return throwStyledError(7);\n }\n\n return mergedTheme;\n }\n\n if (Array.isArray(theme) || typeof theme !== 'object') {\n return throwStyledError(8);\n }\n\n return outerTheme ? { ...outerTheme, ...theme } : theme;\n}\n\n/**\n * Provide a theme to an entire react component tree via context\n */\nexport default function ThemeProvider(props: Props) {\n const outerTheme = useContext(ThemeContext);\n const themeContext = useMemo(() => mergeTheme(props.theme, outerTheme), [\n props.theme,\n outerTheme,\n ]);\n\n if (!props.children) {\n return null;\n }\n\n return <ThemeContext.Provider value={themeContext}>{props.children}</ThemeContext.Provider>;\n}\n","// @flow\nimport validAttr from '@emotion/is-prop-valid';\nimport hoist from 'hoist-non-react-statics';\nimport React, { createElement, type Ref, useContext } from 'react';\nimport { SC_VERSION } from '../constants';\nimport type {\n Attrs,\n IStyledComponent,\n IStyledStatics,\n RuleSet,\n ShouldForwardProp,\n Target,\n} from '../types';\nimport { checkDynamicCreation } from '../utils/checkDynamicCreation';\nimport createWarnTooManyClasses from '../utils/createWarnTooManyClasses';\nimport determineTheme from '../utils/determineTheme';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from '../utils/empties';\nimport escape from '../utils/escape';\nimport generateComponentId from '../utils/generateComponentId';\nimport generateDisplayName from '../utils/generateDisplayName';\nimport getComponentName from '../utils/getComponentName';\nimport isFunction from '../utils/isFunction';\nimport isStyledComponent from '../utils/isStyledComponent';\nimport isTag from '../utils/isTag';\nimport joinStrings from '../utils/joinStrings';\nimport merge from '../utils/mixinDeep';\nimport ComponentStyle from './ComponentStyle';\nimport { useStyleSheet, useStylis } from './StyleSheetManager';\nimport { ThemeContext } from './ThemeProvider';\n\nconst identifiers = {};\n\n/* We depend on components having unique IDs */\nfunction generateId(displayName?: string, parentComponentId?: string) {\n const name = typeof displayName !== 'string' ? 'sc' : escape(displayName);\n // Ensure that no displayName can lead to duplicate componentIds\n identifiers[name] = (identifiers[name] || 0) + 1;\n\n const componentId = `${name}-${generateComponentId(\n // SC_VERSION gives us isolation between multiple runtimes on the page at once\n // this is improved further with use of the babel plugin \"namespace\" feature\n SC_VERSION + name + identifiers[name]\n )}`;\n\n return parentComponentId ? `${parentComponentId}-${componentId}` : componentId;\n}\n\nfunction useResolvedAttrs<Config>(theme: any = EMPTY_OBJECT, props: Config, attrs: Attrs) {\n // NOTE: can't memoize this\n // returns [context, resolvedAttrs]\n // where resolvedAttrs is only the things injected by the attrs themselves\n const context = { ...props, theme };\n const resolvedAttrs = {};\n\n attrs.forEach(attrDef => {\n let resolvedAttrDef = attrDef;\n let key;\n\n if (isFunction(resolvedAttrDef)) {\n resolvedAttrDef = resolvedAttrDef(context);\n }\n\n /* eslint-disable guard-for-in */\n for (key in resolvedAttrDef) {\n context[key] = resolvedAttrs[key] =\n key === 'className'\n ? joinStrings(resolvedAttrs[key], resolvedAttrDef[key])\n : resolvedAttrDef[key];\n }\n /* eslint-enable guard-for-in */\n });\n\n return [context, resolvedAttrs];\n}\n\nfunction useInjectedStyle<T>(\n componentStyle: ComponentStyle,\n isStatic: boolean,\n resolvedAttrs: T,\n warnTooManyClasses?: $Call<typeof createWarnTooManyClasses, string, string>\n) {\n const styleSheet = useStyleSheet();\n const stylis = useStylis();\n\n const className = isStatic\n ? componentStyle.generateAndInjectStyles(EMPTY_OBJECT, styleSheet, stylis)\n : componentStyle.generateAndInjectStyles(resolvedAttrs, styleSheet, stylis);\n\n if (process.env.NODE_ENV !== 'production' && !isStatic && warnTooManyClasses) {\n warnTooManyClasses(className);\n }\n\n return className;\n}\n\nfunction useStyledComponentImpl(\n forwardedComponent: IStyledComponent,\n props: Object,\n forwardedRef: Ref<any>,\n isStatic: boolean\n) {\n const {\n attrs: componentAttrs,\n componentStyle,\n defaultProps,\n foldedComponentIds,\n shouldForwardProp,\n styledComponentId,\n target,\n } = forwardedComponent;\n\n // NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,\n // but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it\n // should be an immutable value, but behave for now.\n const theme = determineTheme(props, useContext(ThemeContext), defaultProps);\n\n const [context, attrs] = useResolvedAttrs(theme || EMPTY_OBJECT, props, componentAttrs);\n\n const generatedClassName = useInjectedStyle(\n componentStyle,\n isStatic,\n context,\n process.env.NODE_ENV !== 'production' ? forwardedComponent.warnTooManyClasses : undefined\n );\n\n const refToForward = forwardedRef;\n\n const elementToBeCreated: Target = attrs.$as || props.$as || attrs.as || props.as || target;\n\n const isTargetTag = isTag(elementToBeCreated);\n const computedProps = attrs !== props ? { ...props, ...attrs } : props;\n const propsForElement = {};\n\n // eslint-disable-next-line guard-for-in\n for (const key in computedProps) {\n if (key[0] === '$' || key === 'as') continue;\n else if (key === 'forwardedAs') {\n propsForElement.as = computedProps[key];\n } else if (\n shouldForwardProp\n ? shouldForwardProp(key, validAttr, elementToBeCreated)\n : isTargetTag\n ? validAttr(key)\n : true\n ) {\n // Don't pass through non HTML tags through to HTML elements\n propsForElement[key] = computedProps[key];\n }\n }\n\n if (props.style && attrs.style !== props.style) {\n propsForElement.style = { ...props.style, ...attrs.style };\n }\n\n propsForElement.className = Array.prototype\n .concat(\n foldedComponentIds,\n styledComponentId,\n generatedClassName !== styledComponentId ? generatedClassName : null,\n props.className,\n attrs.className\n )\n .filter(Boolean)\n .join(' ');\n\n propsForElement.ref = refToForward;\n\n return createElement(elementToBeCreated, propsForElement);\n}\n\nexport default function createStyledComponent(\n target: $PropertyType<IStyledComponent, 'target'>,\n options: {\n attrs?: Attrs,\n componentId: string,\n displayName?: string,\n parentComponentId?: string,\n shouldForwardProp?: ShouldForwardProp,\n },\n rules: RuleSet\n) {\n const isTargetStyledComp = isStyledComponent(target);\n const isCompositeComponent = !isTag(target);\n\n const {\n attrs = EMPTY_ARRAY,\n componentId = generateId(options.displayName, options.parentComponentId),\n displayName = generateDisplayName(target),\n } = options;\n\n const styledComponentId =\n options.displayName && options.componentId\n ? `${escape(options.displayName)}-${options.componentId}`\n : options.componentId || componentId;\n\n // fold the underlying StyledComponent attrs up (implicit extend)\n const finalAttrs =\n isTargetStyledComp && ((target: any): IStyledComponent).attrs\n ? Array.prototype.concat(((target: any): IStyledComponent).attrs, attrs).filter(Boolean)\n : attrs;\n\n // eslint-disable-next-line prefer-destructuring\n let shouldForwardProp = options.shouldForwardProp;\n\n if (isTargetStyledComp && target.shouldForwardProp) {\n if (options.shouldForwardProp) {\n // compose nested shouldForwardProp calls\n shouldForwardProp = (prop, filterFn, elementToBeCreated) =>\n ((((target: any): IStyledComponent).shouldForwardProp: any): ShouldForwardProp)(\n prop,\n filterFn,\n elementToBeCreated\n ) &&\n ((options.shouldForwardProp: any): ShouldForwardProp)(prop, filterFn, elementToBeCreated);\n } else {\n // eslint-disable-next-line prefer-destructuring\n shouldForwardProp = ((target: any): IStyledComponent).shouldForwardProp;\n }\n }\n\n const componentStyle = new ComponentStyle(\n rules,\n styledComponentId,\n isTargetStyledComp ? ((target: Object).componentStyle: ComponentStyle) : undefined\n );\n\n // statically styled-components don't need to build an execution context object,\n // and shouldn't be increasing the number of class names\n const isStatic = componentStyle.isStatic && attrs.length === 0;\n\n /**\n * forwardRef creates a new interim component, which we'll take advantage of\n * instead of extending ParentComponent to create _another_ interim class\n */\n let WrappedStyledComponent: IStyledComponent;\n\n const forwardRef = (props, ref) =>\n // eslint-disable-next-line\n useStyledComponentImpl(WrappedStyledComponent, props, ref, isStatic);\n\n forwardRef.displayName = displayName;\n\n WrappedStyledComponent = ((React.forwardRef(forwardRef): any): IStyledComponent);\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.componentStyle = componentStyle;\n WrappedStyledComponent.displayName = displayName;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp;\n\n // this static is used to preserve the cascade of static classes for component selector\n // purposes; this is especially important with usage of the css prop\n WrappedStyledComponent.foldedComponentIds = isTargetStyledComp\n ? Array.prototype.concat(\n ((target: any): IStyledComponent).foldedComponentIds,\n ((target: any): IStyledComponent).styledComponentId\n )\n : EMPTY_ARRAY;\n\n WrappedStyledComponent.styledComponentId = styledComponentId;\n\n // fold the underlying StyledComponent target up since we folded the styles\n WrappedStyledComponent.target = isTargetStyledComp\n ? ((target: any): IStyledComponent).target\n : target;\n\n WrappedStyledComponent.withComponent = function withComponent(tag: Target) {\n const { componentId: previousComponentId, ...optionsToCopy } = options;\n\n const newComponentId =\n previousComponentId &&\n `${previousComponentId}-${isTag(tag) ? tag : escape(getComponentName(tag))}`;\n\n const newOptions = {\n ...optionsToCopy,\n attrs: finalAttrs,\n componentId: newComponentId,\n };\n\n return createStyledComponent(tag, newOptions, rules);\n };\n\n Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n get() {\n return this._foldedDefaultProps;\n },\n\n set(obj) {\n this._foldedDefaultProps = isTargetStyledComp\n ? merge({}, ((target: any): IStyledComponent).defaultProps, obj)\n : obj;\n },\n });\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(displayName, styledComponentId);\n\n WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(\n displayName,\n styledComponentId\n );\n }\n\n // If the Object prototype is frozen, the \"toString\" property is non-writable. This means that any objects which inherit this property\n // cannot have the property changed using an assignment. If using strict mode, attempting that will cause an error. If not using strict\n // mode, attempting that will be silently ignored.\n // However, we can still explicitly shadow the prototype's \"toString\" property by defining a new \"toString\" property on this object.\n Object.defineProperty(WrappedStyledComponent, 'toString', { value: () => `.${WrappedStyledComponent.styledComponentId}` });\n\n if (isCompositeComponent) {\n hoist<\n IStyledStatics,\n $PropertyType<IStyledComponent, 'target'>,\n { [key: $Keys<IStyledStatics>]: true }\n >(WrappedStyledComponent, ((target: any): $PropertyType<IStyledComponent, 'target'>), {\n // all SC-specific things should not be hoisted\n attrs: true,\n componentStyle: true,\n displayName: true,\n foldedComponentIds: true,\n shouldForwardProp: true,\n styledComponentId: true,\n target: true,\n withComponent: true,\n });\n }\n\n return WrappedStyledComponent;\n}\n","// @flow\nimport type { IStyledComponent } from '../types';\nimport getComponentName from './getComponentName';\nimport isTag from './isTag';\n\nexport default function generateDisplayName(\n target: $PropertyType<IStyledComponent, 'target'>\n): string {\n return isTag(target) ? `styled.${target}` : `Styled(${getComponentName(target)})`;\n}\n","/**\n * Convenience function for joining strings to form className chains\n */\nexport default function joinStrings(a: ?String, b: ?String): ?String {\n return a && b ? `${a} ${b}` : a || b;\n}\n","// @flow\n// Thanks to ReactDOMFactories for this handy list!\n\nexport default [\n 'a',\n 'abbr',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'base',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'keygen',\n 'label',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meta',\n 'meter',\n 'nav',\n 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'title',\n 'tr',\n 'track',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n\n // SVG\n 'circle',\n 'clipPath',\n 'defs',\n 'ellipse',\n 'foreignObject',\n 'g',\n 'image',\n 'line',\n 'linearGradient',\n 'marker',\n 'mask',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialGradient',\n 'rect',\n 'stop',\n 'svg',\n 'text',\n 'textPath',\n 'tspan',\n];\n","// @flow\nimport constructWithOptions from './constructWithOptions';\nimport StyledComponent from '../models/StyledComponent';\nimport domElements from '../utils/domElements';\n\nimport type { Target } from '../types';\n\nconst styled = (tag: Target) => constructWithOptions(StyledComponent, tag);\n\n// Shorthands for all valid HTML Elements\ndomElements.forEach(domElement => {\n styled[domElement] = styled(domElement);\n});\n\nexport default styled;\n","// @flow\nimport { isValidElementType } from 'react-is';\nimport css from './css';\nimport throwStyledError from '../utils/error';\nimport { EMPTY_OBJECT } from '../utils/empties';\n\nimport type { Target } from '../types';\n\nexport default function constructWithOptions(\n componentConstructor: Function,\n tag: Target,\n options: Object = EMPTY_OBJECT\n) {\n if (!isValidElementType(tag)) {\n return throwStyledError(1, String(tag));\n }\n\n /* This is callable directly as a template function */\n // $FlowFixMe: Not typed to avoid destructuring arguments\n const templateFunction = (...args) => componentConstructor(tag, options, css(...args));\n\n /* If config methods are called, wrap up a new template function and merge options */\n templateFunction.withConfig = config =>\n constructWithOptions(componentConstructor, tag, { ...options, ...config });\n\n /* Modify/inject new props at runtime */\n templateFunction.attrs = attrs =>\n constructWithOptions(componentConstructor, tag, {\n ...options,\n attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean),\n });\n\n return templateFunction;\n}\n","// @flow\nimport StyleSheet from '../sheet';\nimport type { RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport isStaticRules from '../utils/isStaticRules';\n\nexport default class GlobalStyle {\n componentId: string;\n\n isStatic: boolean;\n\n rules: RuleSet;\n\n constructor(rules: RuleSet, componentId: string) {\n this.rules = rules;\n this.componentId = componentId;\n this.isStatic = isStaticRules(rules);\n\n // pre-register the first instance to ensure global styles\n // load before component ones\n StyleSheet.registerId(this.componentId + 1);\n }\n\n createStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n const flatCSS = flatten(this.rules, executionContext, styleSheet, stylis);\n const css = stylis(flatCSS.join(''), '');\n const id = this.componentId + instance;\n\n // NOTE: We use the id as a name as well, since these rules never change\n styleSheet.insertRules(id, id, css);\n }\n\n removeStyles(instance: number, styleSheet: StyleSheet) {\n styleSheet.clearRules(this.componentId + instance);\n }\n\n renderStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n if (instance > 2) StyleSheet.registerId(this.componentId + instance);\n\n // NOTE: Remove old styles, then inject the new ones\n this.removeStyles(instance, styleSheet);\n this.createStyles(instance, executionContext, styleSheet, stylis);\n }\n}\n","// @flow\n/* eslint-disable no-underscore-dangle */\nimport React from 'react';\nimport { IS_BROWSER, SC_ATTR, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport throwStyledError from '../utils/error';\nimport getNonce from '../utils/nonce';\nimport StyleSheet from '../sheet';\nimport StyleSheetManager from './StyleSheetManager';\n\ndeclare var __SERVER__: boolean;\n\nconst CLOSING_TAG_R = /^\\s*<\\/[a-z]/i;\n\nexport default class ServerStyleSheet {\n isStreaming: boolean;\n\n instance: StyleSheet;\n\n sealed: boolean;\n\n constructor() {\n this.instance = new StyleSheet({ isServer: true });\n this.sealed = false;\n }\n\n _emitSheetCSS = (): string => {\n const css = this.instance.toString();\n if (!css) return '';\n\n const nonce = getNonce();\n const attrs = [nonce && `nonce=\"${nonce}\"`, `${SC_ATTR}=\"true\"`, `${SC_ATTR_VERSION}=\"${SC_VERSION}\"`];\n const htmlAttr = attrs.filter(Boolean).join(' ');\n\n return `<style ${htmlAttr}>${css}</style>`;\n };\n\n collectStyles(children: any) {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return <StyleSheetManager sheet={this.instance}>{children}</StyleSheetManager>;\n }\n\n getStyleTags = (): string => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return this._emitSheetCSS();\n };\n\n getStyleElement = () => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n const props = {\n [SC_ATTR]: '',\n [SC_ATTR_VERSION]: SC_VERSION,\n dangerouslySetInnerHTML: {\n __html: this.instance.toString(),\n },\n };\n\n const nonce = getNonce();\n if (nonce) {\n (props: any).nonce = nonce;\n }\n\n // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n return [<style {...props} key=\"sc-0-0\" />];\n };\n\n // eslint-disable-next-line consistent-return\n interleaveWithNodeStream(input: any) {\n if (!__SERVER__ || IS_BROWSER) {\n return throwStyledError(3);\n } else if (this.sealed) {\n return throwStyledError(2);\n }\n\n if (__SERVER__) {\n this.seal();\n\n // eslint-disable-next-line global-require\n const { Readable, Transform } = require('stream');\n\n const readableStream: Readable = input;\n const { instance: sheet, _emitSheetCSS } = this;\n\n const transformer = new Transform({\n transform: function appendStyleChunks(chunk, /* encoding */ _, callback) {\n // Get the chunk and retrieve the sheet's CSS as an HTML chunk,\n // then reset its rules so we get only new ones for the next chunk\n const renderedHtml = chunk.toString();\n const html = _emitSheetCSS();\n\n sheet.clearTag();\n\n // prepend style html to chunk, unless the start of the chunk is a\n // closing tag in which case append right after that\n if (CLOSING_TAG_R.test(renderedHtml)) {\n const endOfClosingTag = renderedHtml.indexOf('>') + 1;\n const before = renderedHtml.slice(0, endOfClosingTag);\n const after = renderedHtml.slice(endOfClosingTag);\n\n this.push(before + html + after);\n } else {\n this.push(html + renderedHtml);\n }\n\n callback();\n },\n });\n\n readableStream.on('error', err => {\n // forward the error to the transform stream\n transformer.emit('error', err);\n });\n\n return readableStream.pipe(transformer);\n }\n }\n\n seal = () => {\n this.sealed = true;\n };\n}\n","// @flow\n/* Import singletons */\nimport isStyledComponent from './utils/isStyledComponent';\nimport css from './constructors/css';\nimport createGlobalStyle from './constructors/createGlobalStyle';\nimport keyframes from './constructors/keyframes';\nimport ServerStyleSheet from './models/ServerStyleSheet';\nimport { SC_VERSION } from './constants';\n\nimport StyleSheetManager, {\n StyleSheetContext,\n StyleSheetConsumer,\n} from './models/StyleSheetManager';\n\n/* Import components */\nimport ThemeProvider, { ThemeContext, ThemeConsumer } from './models/ThemeProvider';\n\n/* Import Higher Order Components */\nimport withTheme from './hoc/withTheme';\n\n/* Import hooks */\nimport useTheme from './hooks/useTheme';\n\ndeclare var __SERVER__: boolean;\n\n/* Warning if you've imported this file on React Native */\nif (\n process.env.NODE_ENV !== 'production' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative'\n) {\n // eslint-disable-next-line no-console\n console.warn(\n \"It looks like you've imported 'styled-components' on React Native.\\n\" +\n \"Perhaps you're looking to import 'styled-components/native'?\\n\" +\n 'Read more about this at https://www.styled-components.com/docs/basics#react-native'\n );\n}\n\n/* Warning if there are several instances of styled-components */\nif (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test' && typeof window !== 'undefined') {\n window['__styled-components-init__'] = window['__styled-components-init__'] || 0;\n\n if (window['__styled-components-init__'] === 1) {\n // eslint-disable-next-line no-console\n console.warn(\n \"It looks like there are several instances of 'styled-components' initialized in this application. \" +\n 'This may cause dynamic styles to not render properly, errors during the rehydration process, ' +\n 'a missing theme prop, and makes your application bigger without good reason.\\n\\n' +\n 'See https://s-c.sh/2BAXzed for more info.'\n );\n }\n\n window['__styled-components-init__'] += 1;\n}\n\n/* Export everything */\nexport * from './secretInternals';\nexport {\n createGlobalStyle,\n css,\n isStyledComponent,\n keyframes,\n ServerStyleSheet,\n StyleSheetConsumer,\n StyleSheetContext,\n StyleSheetManager,\n ThemeConsumer,\n ThemeContext,\n ThemeProvider,\n useTheme,\n SC_VERSION as version,\n withTheme,\n};\n","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst NS = \"bp5\";\nexport const ICON = `${NS}-icon`;\n","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst uniqueCountForNamespace = new Map<string, number>();\n/** Generate a unique ID within a given namespace, using a simple counter-based implementation to avoid collisions. */\nexport function uniqueId(namespace: string) {\n const curCount = uniqueCountForNamespace.get(namespace) ?? 0;\n uniqueCountForNamespace.set(namespace, curCount + 1);\n return `${namespace}-${curCount}`;\n}\n","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classNames from \"classnames\";\nimport * as React from \"react\";\n\nimport * as Classes from \"./classes\";\nimport type { IconName } from \"./iconNames\";\nimport { IconSize } from \"./iconTypes\";\nimport { uniqueId } from \"./jsUtils\";\nimport type { SVGIconProps } from \"./svgIconProps\";\n\nexport type SVGIconContainerProps<T extends Element> = Omit<SVGIconProps<T>, \"children\"> & {\n /**\n * Icon name.\n */\n iconName: IconName;\n\n /**\n * Icon contents, loaded via `IconLoader` and specified as `<path>` elements.\n */\n children: JSX.Element | JSX.Element[];\n};\n\n/**\n * Generic icon container component type. This is essentially a type hack required to make forwardRef work with generic\n * components. Note that this slows down TypeScript compilation, but it better than the alternative of globally\n * augmenting \"@types/react\".\n *\n * @see https://stackoverflow.com/a/73795494/7406866\n */\nexport interface SVGIconContainerComponent extends React.FC<SVGIconContainerProps<Element>> {\n <T extends Element = Element>(props: SVGIconContainerProps<T>): React.ReactElement | null;\n}\n\n// eslint-disable-next-line prefer-arrow-callback\nexport const SVGIconContainer: SVGIconContainerComponent = React.forwardRef(function <T extends Element>(\n props: SVGIconContainerProps<T>,\n ref: React.Ref<T>,\n) {\n const {\n children,\n className,\n color,\n htmlTitle,\n iconName,\n size = IconSize.STANDARD,\n svgProps,\n tagName = \"span\",\n title,\n ...htmlProps\n } = props;\n\n const isLarge = size >= IconSize.LARGE;\n const pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n const viewBox = `0 0 ${pixelGridSize} ${pixelGridSize}`;\n const titleId = uniqueId(\"iconTitle\");\n const sharedSvgProps = {\n \"data-icon\": iconName,\n fill: color,\n height: size,\n role: \"img\",\n viewBox,\n width: size,\n ...svgProps,\n };\n\n if (tagName === null) {\n return (\n <svg\n aria-labelledby={title ? titleId : undefined}\n ref={ref as React.Ref<SVGSVGElement>}\n {...sharedSvgProps}\n {...htmlProps}\n >\n {title && <title id={titleId}>{title}</title>}\n {children}\n </svg>\n );\n } else {\n return React.createElement(\n tagName,\n {\n ...htmlProps,\n \"aria-hidden\": title ? undefined : true,\n className: classNames(Classes.ICON, `${Classes.ICON}-${iconName}`, className),\n ref,\n title: htmlTitle,\n },\n <svg {...sharedSvgProps}>\n {title && <title>{title}</title>}\n {children}\n </svg>,\n );\n }\n});\nSVGIconContainer.displayName = \"Blueprint5.SVGIconContainer\";\n","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as React from \"react\";\nimport type { SVGIconProps } from \"../../svgIconProps\";\nimport { IconSize } from \"../../iconTypes\";\nimport { SVGIconContainer } from \"../../svgIconContainer\";\n\nexport const SmallCross: React.FC<SVGIconProps> = React.forwardRef<any, SVGIconProps>((props, ref) => {\n const isLarge = props.size! >= IconSize.LARGE;\n const pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n const translation = `${-1 * pixelGridSize / 0.05 / 2}`;\n return (\n <SVGIconContainer iconName=\"small-cross\" ref={ref} {...props}>\n <path\n d={isLarge ? \"M228.2 200L294 265.8C297.8 269.4 300 274.4 300 280C300 291 291 300 280 300C274.4000000000001 300 269.4000000000001 297.8 265.8 294.2L200 228.2L134.2 294.2C130.6 297.8 125.6 300 120 300C109 300 100 291 100 280C100 274.4 102.2 269.4 105.8 265.8L171.8 200L106 134.2000000000001C102.2 130.6 100 125.6 100 120C100 109 109 100 120 100C125.6 100 130.6 102.2 134.2 105.8L200 171.8L265.8 106C269.4000000000001 102.2 274.4000000000001 100 280 100C291 100 300 109 300 120C300 125.6 297.8 130.6 294.2000000000001 134.2000000000001L228.2 200z\" : \"M188.2 160L234 205.8C237.8 209.4 240 214.4 240 220C240 231 231 240 220 240C214.4 240 209.4 237.8 205.8 234.2L160 188.2L114.2 234.2C110.6 237.8 105.6 240 100 240C89 240 80 231 80 220C80 214.4 82.2 209.4 85.8 205.8L131.8 160L86 114.2C82.2 110.6 80 105.6 80 100C80 89 89 80 100 80C105.6 80 110.6 82.2 114.2 85.8L160 131.8L205.8 86C209.4 82.2 214.4 80 220 80C231 80 240 89 240 100C240 105.6 237.8 110.6 234.2 114.2L188.2 160z\"}\n fillRule=\"evenodd\"\n transform-origin=\"center\"\n transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}\n />\n </SVGIconContainer>\n )\n});\nSmallCross.defaultProps = {\n size: IconSize.STANDARD,\n};\nSmallCross.displayName = `Blueprint5.Icon.SmallCross`;\nexport default SmallCross;\n","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** Alignment along the horizontal axis. */\nexport const Alignment = {\n CENTER: \"center\" as \"center\",\n LEFT: \"left\" as \"left\",\n RIGHT: \"right\" as \"right\",\n};\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type Alignment = (typeof Alignment)[keyof typeof Alignment];\n","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// tslint:disable:object-literal-sort-keys\nexport const Elevation = {\n ZERO: 0 as 0,\n ONE: 1 as 1,\n TWO: 2 as 2,\n THREE: 3 as 3,\n FOUR: 4 as 4,\n};\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type Elevation = (typeof Elevation)[keyof typeof Elevation];\n","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// tslint:disable:object-literal-sort-keys\n\n/**\n * The four basic intents.\n */\nexport const Intent = {\n NONE: \"none\" as \"none\",\n PRIMARY: \"primary\" as \"primary\",\n SUCCESS: \"success\" as \"success\",\n WARNING: \"warning\" as \"warning\",\n DANGER: \"danger\" as \"danger\",\n};\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type Intent = (typeof Intent)[keyof typeof Intent];\n","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const Position = {\n BOTTOM: \"bottom\" as \"bottom\",\n BOTTOM_LEFT: \"bottom-left\" as \"bottom-left\",\n BOTTOM_RIGHT: \"bottom-right\" as \"bottom-right\",\n LEFT: \"left\" as \"left\",\n LEFT_BOTTOM: \"left-bottom\" as \"left-bottom\",\n LEFT_TOP: \"left-top\" as \"left-top\",\n RIGHT: \"right\" as \"right\",\n RIGHT_BOTTOM: \"right-bottom\" as \"right-bottom\",\n RIGHT_TOP: \"right-top\" as \"right-top\",\n TOP: \"top\" as \"top\",\n TOP_LEFT: \"top-left\" as \"top-left\",\n TOP_RIGHT: \"top-right\" as \"top-right\",\n};\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type Position = (typeof Position)[keyof typeof Position];\n\nexport function isPositionHorizontal(position: Position) {\n /* istanbul ignore next */\n return (\n position === Position.TOP ||\n position === Position.TOP_LEFT ||\n position === Position.TOP_RIGHT ||\n position === Position.BOTTOM ||\n position === Position.BOTTOM_LEFT ||\n position === Position.BOTTOM_RIGHT\n );\n}\n\nexport function isPositionVertical(position: Position) {\n /* istanbul ignore next */\n return (\n position === Position.LEFT ||\n position === Position.LEFT_TOP ||\n position === Position.LEFT_BOTTOM ||\n position === Position.RIGHT ||\n position === Position.RIGHT_TOP ||\n position === Position.RIGHT_BOTTOM\n );\n}\n\nexport function getPositionIgnoreAngles(position: Position) {\n if (position === Position.TOP || position === Position.TOP_LEFT || position === Position.TOP_RIGHT) {\n return Position.TOP;\n } else if (\n position === Position.BOTTOM ||\n position === Position.BOTTOM_LEFT ||\n position === Position.BOTTOM_RIGHT\n ) {\n return Position.BOTTOM;\n } else if (position === Position.LEFT || position === Position.LEFT_TOP || position === Position.LEFT_BOTTOM) {\n return Position.LEFT;\n } else {\n return Position.RIGHT;\n }\n}\n","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Alignment } from \"./alignment\";\nimport { Elevation } from \"./elevation\";\nimport { Intent } from \"./intent\";\nimport { Position } from \"./position\";\n\n// injected by webpack.DefinePlugin\ndeclare let BLUEPRINT_NAMESPACE: string | undefined;\ndeclare let REACT_APP_BLUEPRINT_NAMESPACE: string | undefined;\n\nlet NS = \"bp5\";\n\nif (typeof BLUEPRINT_NAMESPACE !== \"undefined\") {\n NS = BLUEPRINT_NAMESPACE;\n} else if (typeof REACT_APP_BLUEPRINT_NAMESPACE !== \"undefined\") {\n NS = REACT_APP_BLUEPRINT_NAMESPACE;\n}\n\n// modifiers\nexport const ACTIVE = `${NS}-active`;\nexport const ALIGN_LEFT = `${NS}-align-left`;\nexport const ALIGN_RIGHT = `${NS}-align-right`;\nexport const COMPACT = `${NS}-compact`;\nexport const DARK = `${NS}-dark`;\nexport const DISABLED = `${NS}-disabled`;\nexport const FILL = `${NS}-fill`;\nexport const FIXED = `${NS}-fixed`;\nexport const FIXED_TOP = `${NS}-fixed-top`;\nexport const INLINE = `${NS}-inline`;\nexport const INTERACTIVE = `${NS}-interactive`;\nexport const LARGE = `${NS}-large`;\nexport const LOADING = `${NS}-loading`;\nexport const MINIMAL = `${NS}-minimal`;\nexport const OUTLINED = `${NS}-outlined`;\nexport const PADDED = `${NS}-padded`;\nexport const MULTILINE = `${NS}-multiline`;\nexport const READ_ONLY = `${NS}-read-only`;\nexport const ROUND = `${NS}-round`;\nexport const SELECTED = `${NS}-selected`;\nexport const SMALL = `${NS}-small`;\nexport const VERTICAL = `${NS}-vertical`;\nexport const POSITION_TOP = positionClass(Position.TOP);\nexport const POSITION_BOTTOM = positionClass(Position.BOTTOM);\nexport const POSITION_LEFT = positionClass(Position.LEFT);\nexport const POSITION_RIGHT = positionClass(Position.RIGHT);\n\nexport const ELEVATION_0 = elevationClass(Elevation.ZERO);\nexport const ELEVATION_1 = elevationClass(Elevation.ONE);\nexport const ELEVATION_2 = elevationClass(Elevation.TWO);\nexport const ELEVATION_3 = elevationClass(Elevation.THREE);\nexport const ELEVATION_4 = elevationClass(Elevation.FOUR);\n\nexport const INTENT_PRIMARY = intentClass(Intent.PRIMARY)!;\nexport const INTENT_SUCCESS = intentClass(Intent.SUCCESS)!;\nexport const INTENT_WARNING = intentClass(Intent.WARNING)!;\nexport const INTENT_DANGER = intentClass(Intent.DANGER)!;\n\nexport const FOCUS_DISABLED = `${NS}-focus-disabled`;\nexport const FOCUS_STYLE_MANAGER_IGNORE = `${NS}-focus-style-manager-ignore`;\n\n// text utilities\nexport const UI_TEXT = `${NS}-ui-text`;\nexport const RUNNING_TEXT = `${NS}-running-text`;\nexport const MONOSPACE_TEXT = `${NS}-monospace-text`;\nexport const TEXT_LARGE = `${NS}-text-large`;\nexport const TEXT_SMALL = `${NS}-text-small`;\nexport const TEXT_MUTED = `${NS}-text-muted`;\nexport const TEXT_DISABLED = `${NS}-text-disabled`;\nexport const TEXT_OVERFLOW_ELLIPSIS = `${NS}-text-overflow-ellipsis`;\n\n// textual elements\nexport const BLOCKQUOTE = `${NS}-blockquote`;\nexport const CODE = `${NS}-code`;\nexport const CODE_BLOCK = `${NS}-code-block`;\nexport const HEADING = `${NS}-heading`;\nexport const LIST = `${NS}-list`;\nexport const LIST_UNSTYLED = `${NS}-list-unstyled`;\nexport const RTL = `${NS}-rtl`;\n\n// components\nexport const ALERT = `${NS}-alert`;\nexport const ALERT_BODY = `${ALERT}-body`;\nexport const ALERT_CONTENTS = `${ALERT}-contents`;\nexport const ALERT_FOOTER = `${ALERT}-footer`;\n\nexport const BREADCRUMB = `${NS}-breadcrumb`;\nexport const BREADCRUMB_CURRENT = `${BREADCRUMB}-current`;\nexport const BREADCRUMBS = `${BREADCRUMB}s`;\nexport const BREADCRUMBS_COLLAPSED = `${BREADCRUMB}s-collapsed`;\n\nexport const BUTTON = `${NS}-button`;\nexport const BUTTON_GROUP = `${BUTTON}-group`;\nexport const BUTTON_SPINNER = `${BUTTON}-spinner`;\nexport const BUTTON_TEXT = `${BUTTON}-text`;\n\nexport const CALLOUT = `${NS}-callout`;\nexport const CALLOUT_HAS_BODY_CONTENT = `${CALLOUT}-has-body-content`;\nexport const CALLOUT_ICON = `${CALLOUT}-icon`;\n\nexport const CARD = `${NS}-card`;\nexport const CONTROL_CARD = `${NS}-control-card`;\nexport const CONTROL_CARD_LABEL = `${CONTROL_CARD}-label`;\nexport const SWITCH_CONTROL_CARD = `${NS}-switch-control-card`;\nexport const CHECKBOX_CONTROL_CARD = `${NS}-checkbox-control-card`;\n\nexport const CARD_LIST = `${NS}-card-list`;\nexport const CARD_LIST_BORDERED = `${CARD_LIST}-bordered`;\n\nexport const COLLAPSE = `${NS}-collapse`;\nexport const COLLAPSE_BODY = `${COLLAPSE}-body`;\n\nexport const CONTEXT_MENU = `${NS}-context-menu`;\nexport const CONTEXT_MENU_VIRTUAL_TARGET = `${CONTEXT_MENU}-virtual-target`;\nexport const CONTEXT_MENU_POPOVER = `${CONTEXT_MENU}-popover`;\nexport const CONTEXT_MENU_BACKDROP = `${CONTEXT_MENU}-backdrop`;\n\nexport const CONTROL_GROUP = `${NS}-control-group`;\n\nexport const DIALOG = `${NS}-dialog`;\nexport const DIALOG_CONTAINER = `${DIALOG}-container`;\nexport const DIALOG_HEADER = `${DIALOG}-header`;\nexport const DIALOG_BODY = `${DIALOG}-body`;\nexport const DIALOG_BODY_SCROLL_CONTAINER = `${DIALOG}-body-scroll-container`;\nexport const DIALOG_CLOSE_BUTTON = `${DIALOG}-close-button`;\nexport const DIALOG_FOOTER = `${DIALOG}-footer`;\nexport const DIALOG_FOOTER_FIXED = `${DIALOG}-footer-fixed`;\nexport const DIALOG_FOOTER_MAIN_SECTION = `${DIALOG}-footer-main-section`;\nexport const DIALOG_FOOTER_ACTIONS = `${DIALOG}-footer-actions`;\n\nexport const DIALOG_STEP = `${NS}-dialog-step`;\nexport const DIALOG_STEP_CONTAINER = `${DIALOG_STEP}-container`;\nexport const DIALOG_STEP_TITLE = `${DIALOG_STEP}-title`;\nexport const DIALOG_STEP_ICON = `${DIALOG_STEP}-icon`;\nexport const DIALOG_STEP_VIEWED = `${DIALOG_STEP}-viewed`;\n\nexport const DIVIDER = `${NS}-divider`;\n\nexport const DRAWER = `${NS}-drawer`;\nexport const DRAWER_BODY = `${DRAWER}-body`;\nexport const DRAWER_FOOTER = `${DRAWER}-footer`;\nexport const DRAWER_HEADER = `${DRAWER}-header`;\n\nexport const EDITABLE_TEXT = `${NS}-editable-text`;\nexport const EDITABLE_TEXT_CONTENT = `${EDITABLE_TEXT}-content`;\nexport const EDITABLE_TEXT_EDITING = `${EDITABLE_TEXT}-editing`;\nexport const EDITABLE_TEXT_INPUT = `${EDITABLE_TEXT}-input`;\nexport const EDITABLE_TEXT_PLACEHOLDER = `${EDITABLE_TEXT}-placeholder`;\n\nexport const FLEX_EXPANDER = `${NS}-flex-expander`;\n\nexport const HTML_SELECT = `${NS}-html-select`;\n/** @deprecated use `<HTMLSelect>` component or `Classes.HTML_SELECT` instead */\nexport const SELECT = `${NS}-select`;\n\nexport const HTML_TABLE = `${NS}-html-table`;\nexport const HTML_TABLE_BORDERED = `${HTML_TABLE}-bordered`;\nexport const HTML_TABLE_STRIPED = `${HTML_TABLE}-striped`;\n\nexport const INPUT = `${NS}-input`;\nexport const INPUT_GHOST = `${INPUT}-ghost`;\nexport const INPUT_GROUP = `${INPUT}-group`;\nexport const INPUT_LEFT_CONTAINER = `${INPUT}-left-container`;\nexport const INPUT_ACTION = `${INPUT}-action`;\n\nexport const RESIZABLE_INPUT_SPAN = `${NS}-resizable-input-span`;\n\nexport const TEXT_AREA = `${NS}-text-area`;\nexport const TEXT_AREA_AUTO_RESIZE = `${TEXT_AREA}-auto-resize`;\n\nexport const CONTROL = `${NS}-control`;\nexport const CONTROL_INDICATOR = `${CONTROL}-indicator`;\nexport const CONTROL_INDICATOR_CHILD = `${CONTROL_INDICATOR}-child`;\nexport const CHECKBOX = `${NS}-checkbox`;\nexport const RADIO = `${NS}-radio`;\nexport const SWITCH = `${NS}-switch`;\nexport const SWITCH_INNER_TEXT = `${SWITCH}-inner-text`;\nexport const FILE_INPUT = `${NS}-file-input`;\nexport const FILE_INPUT_HAS_SELECTION = `${NS}-file-input-has-selection`;\nexport const FILE_UPLOAD_INPUT = `${NS}-file-upload-input`;\nexport const FILE_UPLOAD_INPUT_CUSTOM_TEXT = `${NS}-file-upload-input-custom-text`;\n\nexport const KEY = `${NS}-key`;\nexport const KEY_COMBO = `${KEY}-combo`;\nexport const MODIFIER_KEY = `${NS}-modifier-key`;\n\nexport const HOTKEY = `${NS}-hotkey`;\nexport const HOTKEY_LABEL = `${HOTKEY}-label`;\nexport const HOTKEY_COLUMN = `${HOTKEY}-column`;\nexport const HOTKEY_DIALOG = `${HOTKEY}-dialog`;\n\nexport const LABEL = `${NS}-label`;\nexport const FORM_GROUP = `${NS}-form-group`;\nexport const FORM_CONTENT = `${NS}-form-content`;\nexport const FORM_HELPER_TEXT = `${NS}-form-helper-text`;\nexport const FORM_GROUP_SUB_LABEL = `${NS}-form-group-sub-label`;\n\nexport const MENU = `${NS}-menu`;\nexport const MENU_ITEM = `${MENU}-item`;\nexport const MENU_ITEM_IS_SELECTABLE = `${MENU_ITEM}-is-selectable`;\nexport const MENU_ITEM_SELECTED_ICON = `${MENU_ITEM}-selected-icon`;\nexport const MENU_ITEM_ICON = `${MENU_ITEM}-icon`;\nexport const MENU_ITEM_LABEL = `${MENU_ITEM}-label`;\nexport const MENU_SUBMENU = `${NS}-submenu`;\nexport const MENU_SUBMENU_ICON = `${MENU_SUBMENU}-icon`;\nexport const MENU_DIVIDER = `${MENU}-divider`;\nexport const MENU_HEADER = `${MENU}-header`;\n\nexport const MULTISTEP_DIALOG = `${NS}-multistep-dialog`;\nexport const MULTISTEP_DIALOG_PANELS = `${MULTISTEP_DIALOG}-panels`;\nexport const MULTISTEP_DIALOG_LEFT_PANEL = `${MULTISTEP_DIALOG}-left-panel`;\nexport const MULTISTEP_DIALOG_RIGHT_PANEL = `${MULTISTEP_DIALOG}-right-panel`;\nexport const MULTISTEP_DIALOG_NAV_TOP = `${MULTISTEP_DIALOG}-nav-top`;\nexport const MULTISTEP_DIALOG_NAV_RIGHT = `${MULTISTEP_DIALOG}-nav-right`;\n\nexport const SECTION = `${NS}-section`;\nexport const SECTION_COLLAPSED = `${SECTION}-collapsed`;\nexport const SECTION_HEADER = `${SECTION}-header`;\nexport const SECTION_HEADER_LEFT = `${SECTION_HEADER}-left`;\nexport const SECTION_HEADER_TITLE = `${SECTION_HEADER}-title`;\nexport const SECTION_HEADER_SUB_TITLE = `${SECTION_HEADER}-sub-title`;\nexport const SECTION_HEADER_DIVIDER = `${SECTION_HEADER}-divider`;\nexport const SECTION_HEADER_TABS = `${SECTION_HEADER}-tabs`;\nexport const SECTION_HEADER_RIGHT = `${SECTION_HEADER}-right`;\nexport const SECTION_CARD = `${SECTION}-card`;\n\nexport const NAVBAR = `${NS}-navbar`;\nexport const NAVBAR_GROUP = `${NAVBAR}-group`;\nexport const NAVBAR_HEADING = `${NAVBAR}-heading`;\nexport const NAVBAR_DIVIDER = `${NAVBAR}-divider`;\n\nexport const NON_IDEAL_STATE = `${NS}-non-ideal-state`;\nexport const NON_IDEAL_STATE_VISUAL = `${NON_IDEAL_STATE}-visual`;\nexport const NON_IDEAL_STATE_TEXT = `${NON_IDEAL_STATE}-text`;\n\nexport const NUMERIC_INPUT = `${NS}-numeric-input`;\n\nexport const OVERFLOW_LIST = `${NS}-overflow-list`;\nexport const OVERFLOW_LIST_SPACER = `${OVERFLOW_LIST}-spacer`;\n\nexport const OVERLAY = `${NS}-overlay`;\nexport const OVERLAY_BACKDROP = `${OVERLAY}-backdrop`;\nexport const OVERLAY_CONTAINER = `${OVERLAY}-container`;\nexport const OVERLAY_CONTENT = `${OVERLAY}-content`;\nexport const OVERLAY_INLINE = `${OVERLAY}-inline`;\nexport const OVERLAY_OPEN = `${OVERLAY}-open`;\nexport const OVERLAY_SCROLL_CONTAINER = `${OVERLAY}-scroll-container`;\nexport const OVERLAY_START_FOCUS_TRAP = `${OVERLAY}-start-focus-trap`;\nexport const OVERLAY_END_FOCUS_TRAP = `${OVERLAY}-end-focus-trap`;\n\nexport const PANEL_STACK = `${NS}-panel-stack`;\nexport const PANEL_STACK_HEADER = `${PANEL_STACK}-header`;\nexport const PANEL_STACK_HEADER_BACK = `${PANEL_STACK}-header-back`;\nexport const PANEL_STACK_VIEW = `${PANEL_STACK}-view`;\n\nexport const PANEL_STACK2 = `${NS}-panel-stack2`;\nexport const PANEL_STACK2_HEADER = `${PANEL_STACK}-header`;\nexport const PANEL_STACK2_HEADER_BACK = `${PANEL_STACK}-header-back`;\nexport const PANEL_STACK2_VIEW = `${PANEL_STACK}-view`;\n\nexport const POPOVER = `${NS}-popover`;\nexport const POPOVER_ARROW = `${POPOVER}-arrow`;\nexport const POPOVER_BACKDROP = `${POPOVER}-backdrop`;\nexport const POPOVER_CAPTURING_DISMISS = `${POPOVER}-capturing-dismiss`;\nexport const POPOVER_CONTENT = `${POPOVER}-content`;\nexport const POPOVER_CONTENT_PLACEMENT = `${POPOVER}-placement`;\nexport const POPOVER_CONTENT_SIZING = `${POPOVER_CONTENT}-sizing`;\nexport const POPOVER_DISMISS = `${POPOVER}-dismiss`;\nexport const POPOVER_DISMISS_OVERRIDE = `${POPOVER_DISMISS}-override`;\nexport const POPOVER_MATCH_TARGET_WIDTH = `${POPOVER}-match-target-width`;\nexport const POPOVER_OPEN = `${POPOVER}-open`;\nexport const POPOVER_POPPER_ESCAPED = `${POPOVER}-popper-escaped`;\nexport const POPOVER_REFERENCE_HIDDEN = `${POPOVER}-reference-hidden`;\nexport const POPOVER_TARGET = `${POPOVER}-target`;\nexport const POPOVER_TRANSITION_CONTAINER = `${POPOVER}-transition-container`;\n/** @deprecated, no longer used in Blueprint v5.x */\nexport const POPOVER_WRAPPER = `${POPOVER}-wrapper`;\n\nexport const PROGRESS_BAR = `${NS}-progress-bar`;\nexport const PROGRESS_METER = `${NS}-progress-meter`;\nexport const PROGRESS_NO_STRIPES = `${NS}-no-stripes`;\nexport const PROGRESS_NO_ANIMATION = `${NS}-no-animation`;\n\nexport const PORTAL = `${NS}-portal`;\n\nexport const SKELETON = `${NS}-skeleton`;\n\nexport const SLIDER = `${NS}-slider`;\nexport const SLIDER_AXIS = `${SLIDER}-axis`;\nexport const SLIDER_HANDLE = `${SLIDER}-handle`;\nexport const SLIDER_LABEL = `${SLIDER}-label`;\nexport const SLIDER_TRACK = `${SLIDER}-track`;\nexport const SLIDER_PROGRESS = `${SLIDER}-progress`;\nexport const START = `${NS}-start`;\nexport const END = `${NS}-end`;\n\nexport const SPINNER = `${NS}-spinner`;\nexport const SPINNER_ANIMATION = `${SPINNER}-animation`;\nexport const SPINNER_HEAD = `${SPINNER}-head`;\nexport const SPINNER_NO_SPIN = `${NS}-no-spin`;\nexport const SPINNER_TRACK = `${SPINNER}-track`;\n\nexport const TAB = `${NS}-tab`;\nexport const TAB_ICON = `${TAB}-icon`;\nexport const TAB_TAG = `${TAB}-tag`;\nexport const TAB_INDICATOR = `${TAB}-indicator`;\nexport const TAB_INDICATOR_WRAPPER = `${TAB_INDICATOR}-wrapper`;\nexport const TAB_LIST = `${TAB}-list`;\nexport const TAB_PANEL = `${TAB}-panel`;\nexport const TABS = `${TAB}s`;\n\nexport const TAG = `${NS}-tag`;\nexport const TAG_REMOVE = `${TAG}-remove`;\n\nexport const TAG_INPUT = `${NS}-tag-input`;\nexport const TAG_INPUT_ICON = `${TAG_INPUT}-icon`;\nexport const TAG_INPUT_VALUES = `${TAG_INPUT}-values`;\n\nexport const TOAST = `${NS}-toast`;\nexport const TOAST_CONTAINER = `${TOAST}-container`;\nexport const TOAST_MESSAGE = `${TOAST}-message`;\n\nexport const TOOLTIP = `${NS}-tooltip`;\nexport const TOOLTIP_INDICATOR = `${TOOLTIP}-indicator`;\n\nexport const TREE = `${NS}-tree`;\nexport const TREE_NODE = `${NS}-tree-node`;\nexport const TREE_NODE_CARET = `${TREE_NODE}-caret`;\nexport const TREE_NODE_CARET_CLOSED = `${TREE_NODE_CARET}-closed`;\nexport const TREE_NODE_CARET_NONE = `${TREE_NODE_CARET}-none`;\nexport const TREE_NODE_CARET_OPEN = `${TREE_NODE_CARET}-open`;\nexport const TREE_NODE_CONTENT = `${TREE_NODE}-content`;\nexport const TREE_NODE_EXPANDED = `${TREE_NODE}-expanded`;\nexport const TREE_NODE_ICON = `${TREE_NODE}-icon`;\nexport const TREE_NODE_LABEL = `${TREE_NODE}-label`;\nexport const TREE_NODE_LIST = `${TREE_NODE}-list`;\nexport const TREE_NODE_SECONDARY_LABEL = `${TREE_NODE}-secondary-label`;\nexport const TREE_NODE_SELECTED = `${TREE_NODE}-selected`;\nexport const TREE_ROOT = `${NS}-tree-root`;\n\nexport const ICON = `${NS}-icon`;\nexport const ICON_STANDARD = `${ICON}-standard`;\nexport const ICON_LARGE = `${ICON}-large`;\n\n/**\n * Returns the namespace prefix for all Blueprint CSS classes.\n * Customize this namespace at build time by defining it with `webpack.DefinePlugin`.\n */\nexport function getClassNamespace() {\n return NS;\n}\n\n/** Return CSS class for alignment. */\nexport function alignmentClass(alignment: Alignment | undefined) {\n switch (alignment) {\n case Alignment.LEFT:\n return ALIGN_LEFT;\n case Alignment.RIGHT:\n return ALIGN_RIGHT;\n default:\n return undefined;\n }\n}\n\nexport function elevationClass(elevation: Elevation): string;\nexport function elevationClass(elevation: undefined): undefined;\nexport function elevationClass(elevation: Elevation | undefined): string | undefined;\nexport function elevationClass(elevation: Elevation | undefined) {\n if (elevation === undefined) {\n return undefined;\n }\n return `${NS}-elevation-${elevation}`;\n}\n\n/**\n * Returns CSS class for icon name.\n */\nexport function iconClass(iconName: string): string;\nexport function iconClass(iconName: undefined): undefined;\nexport function iconClass(iconName: string | undefined): string | undefined;\nexport function iconClass(iconName: string | undefined) {\n if (iconName == null) {\n return undefined;\n }\n return iconName.indexOf(`${NS}-icon-`) === 0 ? iconName : `${NS}-icon-${iconName}`;\n}\n\n/** Return CSS class for intent. */\nexport function intentClass(intent: Intent): string;\nexport function intentClass(intent: typeof Intent.NONE | undefined): undefined;\nexport function intentClass(intent: Intent | undefined): Intent | undefined;\nexport function intentClass(intent: Intent | undefined) {\n if (intent == null || intent === Intent.NONE) {\n return undefined;\n }\n return `${NS}-intent-${intent.toLowerCase()}`;\n}\n\nexport function positionClass(position: Position): string;\nexport function positionClass(position: undefined): undefined;\nexport function positionClass(position: Position | undefined): string | undefined;\nexport function positionClass(position: Position | undefined) {\n if (position === undefined) {\n return undefined;\n }\n return `${NS}-position-${position}`;\n}\n","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type * as React from \"react\";\n\nimport type { IconName } from \"@blueprintjs/icons\";\n\nimport type { Intent } from \"./intent\";\n\nexport const DISPLAYNAME_PREFIX = \"Blueprint5\";\n\n/**\n * Alias for all valid HTML props for `<div>` element.\n * Does not include React's `ref` or `key`.\n */\nexport type HTMLDivProps = React.HTMLAttributes<HTMLDivElement>;\n\n/**\n * Alias for all valid HTML props for `<input>` element.\n * Does not include React's `ref` or `key`.\n */\nexport type HTMLInputProps = React.InputHTMLAttributes<HTMLInputElement>;\n\n/**\n * Alias for a `JSX.Element` or a value that renders nothing.\n *\n * In React, `boolean`, `null`, and `undefined` do not produce any output.\n */\nexport type MaybeElement = JSX.Element | false | null | undefined;\n\n/**\n * A shared base interface for all Blueprint component props.\n */\nexport interface Props {\n /** A space-delimited list of class names to pass along to a child element. */\n className?: string;\n}\n\nexport interface IntentProps {\n /** Visual intent color to apply to element. */\n intent?: Intent;\n}\n\n/**\n * Interface for a clickable action, such as a button or menu item.\n * These props can be spready directly to a `<Button>` or `<MenuItem>` element.\n *\n * @template T type of the DOM element rendered by this component\n */\nexport interface ActionProps<T extends HTMLElement = HTMLElement> extends IntentProps, Props {\n /** Whether this action is non-interactive. */\n disabled?: boolean;\n\n /** Name of a Blueprint UI icon (or an icon element) to render before the text. */\n icon?: IconName | MaybeElement;\n\n /** Click event handler. */\n onClick?: (event: React.MouseEvent<T>) => void;\n\n /** Focus event handler. */\n onFocus?: (event: React.FocusEvent<T>) => void;\n\n /** Action text. Can be any single React renderable. */\n text?: React.ReactNode;\n}\n\n/** Interface for a link, with support for customizing target window. */\nexport interface LinkProps {\n /** Link URL. */\n href?: string;\n\n /** Link target attribute. Use `\"_blank\"` to open in a new window. */\n target?: React.HTMLAttributeAnchorTarget;\n}\n\n/**\n * Interface for a controlled input.\n */\nexport interface ControlledProps {\n /** Initial value of the input, for uncontrolled usage. */\n defaultValue?: string;\n\n /** Form value of the input, for controlled usage. */\n value?: string;\n}\n\nexport interface OptionProps extends Props {\n /** Whether this option is non-interactive. */\n disabled?: boolean;\n\n /** Label text for this option. If omitted, `value` is used as the label. */\n label?: string;\n\n /** Value of this option. */\n value: string | number;\n}\n\n/** A collection of curated prop keys used across our Components which are not valid HTMLElement props. */\nconst INVALID_PROPS = [\n \"active\",\n \"alignText\",\n \"asyncControl\", // InputGroupProps\n \"containerRef\",\n \"current\",\n \"elementRef\", // not used anymore in Blueprint v5.x, but kept for backcompat if consumers use this naming pattern\n \"fill\",\n \"icon\",\n \"iconSize\",\n \"inputClassName\",\n \"inputRef\",\n \"intent\",\n \"inline\",\n \"large\",\n \"loading\",\n \"leftElement\",\n \"leftIcon\",\n \"minimal\",\n \"onRemove\", // TagProps, TagInputProps\n \"outlined\", // ButtonProps\n \"panel\", // TabProps\n \"panelClassName\", // TabProps\n \"popoverProps\",\n \"rightElement\",\n \"rightIcon\",\n \"round\",\n \"size\",\n \"small\",\n \"tagName\",\n \"text\",\n];\n\n/**\n * Typically applied to HTMLElements to filter out disallowed props. When applied to a Component,\n * can filter props from being passed down to the children. Can also filter by a combined list of\n * supplied prop keys and the denylist (only appropriate for HTMLElements).\n *\n * @param props The original props object to filter down.\n * @param {string[]} invalidProps If supplied, overwrites the default denylist.\n * @param {boolean} shouldMerge If true, will merge supplied invalidProps and denylist together.\n */\nexport function removeNonHTMLProps(\n props: { [key: string]: any },\n invalidProps = INVALID_PROPS,\n shouldMerge = false,\n): { [key: string]: any } {\n if (shouldMerge) {\n invalidProps = invalidProps.concat(INVALID_PROPS);\n }\n\n return invalidProps.reduce(\n (prev, curr) => {\n // Props with hyphens (e.g. data-*) are always considered html props\n if (curr.indexOf(\"-\") !== -1) {\n return prev;\n }\n\n if (prev.hasOwnProperty(curr)) {\n delete (prev as any)[curr];\n }\n return prev;\n },\n { ...props },\n );\n}\n","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as React from \"react\";\n\n/**\n * Returns true if `node` is null/undefined, false, empty string, or an array\n * composed of those. If `node` is an array, only one level of the array is\n * checked, for performance reasons.\n */\nexport function isReactNodeEmpty(node?: React.ReactNode, skipArray = false): boolean {\n return (\n node == null ||\n node === \"\" ||\n node === false ||\n (!skipArray &&\n Array.isArray(node) &&\n // only recurse one level through arrays, for performance\n (node.length === 0 || node.every(n => isReactNodeEmpty(n, true))))\n );\n}\n\n/**\n * Returns true if children are a mappable children array\n *\n * @internal\n */\nexport function isReactChildrenElementOrElements(children: React.ReactNode): children is JSX.Element[] | JSX.Element {\n return !isReactNodeEmpty(children, true) && children !== true;\n}\n\n/**\n * Converts a React node to an element: non-empty string or number or\n * `React.Fragment` (React 16.3+) is wrapped in given tag name; empty strings\n * and booleans are discarded.\n */\nexport function ensureElement(child: React.ReactNode | undefined, tagName: keyof JSX.IntrinsicElements = \"span\") {\n if (child == null || typeof child === \"boolean\") {\n return undefined;\n } else if (typeof child === \"string\") {\n // cull whitespace strings\n return child.trim().length > 0 ? React.createElement(tagName, {}, child) : undefined;\n } else if (typeof child === \"number\" || typeof (child as any).type === \"symbol\" || Array.isArray(child)) {\n // React.Fragment has a symbol type, ReactNodeArray extends from Array\n return React.createElement(tagName, {}, child);\n } else if (isReactElement(child)) {\n return child;\n } else {\n // child is inferred as {}\n return undefined;\n }\n}\n\nfunction isReactElement<T = any>(child: React.ReactNode): child is React.ReactElement<T> {\n return (\n typeof child === \"object\" &&\n typeof (child as any).type !== \"undefined\" &&\n typeof (child as any).props !== \"undefined\"\n );\n}\n\n/**\n * Returns true if the given JSX element matches the given component type.\n *\n * NOTE: This function only checks equality of `displayName` for performance and\n * to tolerate multiple minor versions of a component being included in one\n * application bundle.\n *\n * @param element JSX element in question\n * @param ComponentType desired component type of element\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isElementOfType<P = {}>(\n element: any,\n ComponentType: React.ComponentType<P>,\n): element is React.ReactElement<P> {\n return (\n element != null &&\n element.type != null &&\n element.type.displayName != null &&\n element.type.displayName === ComponentType.displayName\n );\n}\n","export type BlueprintIcons_16Id =\n | \"add-clip\"\n | \"add-column-left\"\n | \"add-column-right\"\n | \"add-location\"\n | \"add-row-bottom\"\n | \"add-row-top\"\n | \"add-to-artifact\"\n | \"add-to-folder\"\n | \"add\"\n | \"aimpoints-target\"\n | \"airplane\"\n | \"align-center\"\n | \"align-justify\"\n | \"align-left\"\n | \"align-right\"\n | \"alignment-bottom\"\n | \"alignment-horizontal-center\"\n | \"alignment-left\"\n | \"alignment-right\"\n | \"alignment-top\"\n | \"alignment-vertical-center\"\n | \"ammunition\"\n | \"anchor\"\n | \"annotation\"\n | \"antenna\"\n | \"app-header\"\n | \"application\"\n | \"applications\"\n | \"archive\"\n | \"area-of-interest\"\n | \"array-boolean\"\n | \"array-date\"\n | \"array-floating-point\"\n | \"array-numeric\"\n | \"array-string\"\n | \"array-timestamp\"\n | \"array\"\n | \"arrow-bottom-left\"\n | \"arrow-bottom-right\"\n | \"arrow-down\"\n | \"arrow-left\"\n | \"arrow-right\"\n | \"arrow-top-left\"\n | \"arrow-top-right\"\n | \"arrow-up\"\n | \"arrows-horizontal\"\n | \"arrows-vertical\"\n | \"asterisk\"\n | \"at\"\n | \"automatic-updates\"\n | \"axle\"\n | \"backlink\"\n | \"badge\"\n | \"ban-circle\"\n | \"bank-account\"\n | \"barcode\"\n | \"blank\"\n | \"blocked-person\"\n | \"bold\"\n | \"book\"\n | \"bookmark\"\n | \"box\"\n | \"briefcase\"\n | \"bring-data\"\n | \"bug\"\n | \"buggy\"\n | \"build\"\n | \"calculator\"\n | \"calendar\"\n | \"camera\"\n | \"caret-down\"\n | \"caret-left\"\n | \"caret-right\"\n | \"caret-up\"\n | \"cargo-ship\"\n | \"cell-tower\"\n | \"changes\"\n | \"chart\"\n | \"chat\"\n | \"chevron-backward\"\n | \"chevron-down\"\n | \"chevron-forward\"\n | \"chevron-left\"\n | \"chevron-right\"\n | \"chevron-up\"\n | \"circle-arrow-down\"\n | \"circle-arrow-left\"\n | \"circle-arrow-right\"\n | \"circle-arrow-up\"\n | \"circle\"\n | \"citation\"\n | \"clean\"\n | \"clip\"\n | \"clipboard\"\n | \"cloud-download\"\n | \"cloud-upload\"\n | \"cloud\"\n | \"code-block\"\n | \"code\"\n | \"cog\"\n | \"collapse-all\"\n | \"color-fill\"\n | \"column-layout\"\n | \"comment\"\n | \"comparison\"\n | \"compass\"\n | \"compressed\"\n | \"confirm\"\n | \"console\"\n | \"contrast\"\n | \"control\"\n | \"credit-card\"\n | \"cross-circle\"\n | \"cross\"\n | \"crown\"\n | \"cube-add\"\n | \"cube-remove\"\n | \"cube\"\n | \"curved-range-chart\"\n | \"cut\"\n | \"cycle\"\n | \"dashboard\"\n | \"data-connection\"\n | \"data-lineage\"\n | \"database\"\n | \"delete\"\n | \"delta\"\n | \"derive-column\"\n | \"desktop\"\n | \"detection\"\n | \"diagnosis\"\n | \"diagram-tree\"\n | \"direction-left\"\n | \"direction-right\"\n | \"disable\"\n | \"divide\"\n | \"document-open\"\n | \"document-share\"\n | \"document\"\n | \"dollar\"\n | \"dot\"\n | \"double-caret-horizontal\"\n | \"double-caret-vertical\"\n | \"double-chevron-down\"\n | \"double-chevron-left\"\n | \"double-chevron-right\"\n | \"double-chevron-up\"\n | \"doughnut-chart\"\n | \"download\"\n | \"drag-handle-horizontal\"\n | \"drag-handle-vertical\"\n | \"draw\"\n | \"drawer-left-filled\"\n | \"drawer-left\"\n | \"drawer-right-filled\"\n | \"drawer-right\"\n | \"drive-time\"\n | \"duplicate\"\n | \"edit\"\n | \"eject\"\n | \"emoji\"\n | \"endorsed\"\n | \"envelope\"\n | \"equals\"\n | \"eraser\"\n | \"error\"\n | \"euro\"\n | \"exchange\"\n | \"exclude-row\"\n | \"expand-all\"\n | \"export\"\n | \"eye-off\"\n | \"eye-on\"\n | \"eye-open\"\n | \"fast-backward\"\n | \"fast-forward\"\n | \"feed-subscribed\"\n | \"feed\"\n | \"film\"\n | \"filter-keep\"\n | \"filter-list\"\n | \"filter-open\"\n | \"filter-remove\"\n | \"filter\"\n | \"flag\"\n | \"flame\"\n | \"flash\"\n | \"floating-point\"\n | \"floppy-disk\"\n | \"flow-branch\"\n | \"flow-end\"\n | \"flow-linear\"\n | \"flow-review-branch\"\n | \"flow-review\"\n | \"flows\"\n | \"folder-close\"\n | \"folder-new\"\n | \"folder-open\"\n | \"folder-shared-open\"\n | \"folder-shared\"\n | \"follower\"\n | \"following\"\n | \"font\"\n | \"fork\"\n | \"form\"\n | \"fuel\"\n | \"full-circle\"\n | \"full-stacked-chart\"\n | \"fullscreen\"\n | \"function\"\n | \"gantt-chart\"\n | \"geofence\"\n | \"geolocation\"\n | \"geosearch\"\n | \"geotime\"\n | \"git-branch\"\n | \"git-commit\"\n | \"git-merge\"\n | \"git-new-branch\"\n | \"git-pull\"\n | \"git-push\"\n | \"git-repo\"\n | \"glass\"\n | \"globe-network\"\n | \"globe\"\n | \"graph-remove\"\n | \"graph\"\n | \"greater-than-or-equal-to\"\n | \"greater-than\"\n | \"grid-view\"\n | \"grid\"\n | \"group-objects\"\n | \"grouped-bar-chart\"\n | \"hand-down\"\n | \"hand-left\"\n | \"hand-right\"\n | \"hand-up\"\n | \"hand\"\n | \"hat\"\n | \"header-one\"\n | \"header-three\"\n | \"header-two\"\n | \"header\"\n | \"headset\"\n | \"heart-broken\"\n | \"heart\"\n | \"heat-grid\"\n | \"heatmap\"\n | \"helicopter\"\n | \"help\"\n | \"helper-management\"\n | \"high-priority\"\n | \"high-voltage-pole\"\n | \"highlight\"\n | \"history\"\n | \"home\"\n | \"horizontal-bar-chart-asc\"\n | \"horizontal-bar-chart-desc\"\n | \"horizontal-bar-chart\"\n | \"horizontal-distribution\"\n | \"horizontal-inbetween\"\n | \"hurricane\"\n | \"id-number\"\n | \"image-rotate-left\"\n | \"image-rotate-right\"\n | \"import\"\n | \"inbox-filtered\"\n | \"inbox-geo\"\n | \"inbox-search\"\n | \"inbox-update\"\n | \"inbox\"\n | \"info-sign\"\n | \"inheritance\"\n | \"inherited-group\"\n | \"inner-join\"\n | \"insert\"\n | \"intelligence\"\n | \"intersection\"\n | \"ip-address\"\n | \"issue-closed\"\n | \"issue-new\"\n | \"issue\"\n | \"italic\"\n | \"join-table\"\n | \"key-backspace\"\n | \"key-command\"\n | \"key-control\"\n | \"key-delete\"\n | \"key-enter\"\n | \"key-escape\"\n | \"key-option\"\n | \"key-shift\"\n | \"key-tab\"\n | \"key\"\n | \"known-vehicle\"\n | \"lab-test\"\n | \"label\"\n | \"layer-outline\"\n | \"layer\"\n | \"layers\"\n | \"layout-auto\"\n | \"layout-balloon\"\n | \"layout-circle\"\n | \"layout-grid\"\n | \"layout-group-by\"\n | \"layout-hierarchy\"\n | \"layout-linear\"\n | \"layout-skew-grid\"\n | \"layout-sorted-clusters\"\n | \"layout\"\n | \"learning\"\n | \"left-join\"\n | \"lengthen-text\"\n | \"less-than-or-equal-to\"\n | \"less-than\"\n | \"lifesaver\"\n | \"lightbulb\"\n | \"lightning\"\n | \"link\"\n | \"list-columns\"\n | \"list-detail-view\"\n | \"list\"\n | \"locate\"\n | \"lock\"\n | \"locomotive\"\n | \"log-in\"\n | \"log-out\"\n | \"low-voltage-pole\"\n | \"manual\"\n | \"manually-entered-data\"\n | \"many-to-many\"\n | \"many-to-one\"\n | \"map-create\"\n | \"map-marker\"\n | \"map\"\n | \"maximize\"\n | \"media\"\n | \"menu-closed\"\n | \"menu-open\"\n | \"menu\"\n | \"merge-columns\"\n | \"merge-links\"\n | \"microphone\"\n | \"minimize\"\n | \"minus\"\n | \"mobile-phone\"\n | \"mobile-video\"\n | \"modal-filled\"\n | \"modal\"\n | \"model\"\n | \"moon\"\n | \"more\"\n | \"mountain\"\n | \"move\"\n | \"mugshot\"\n | \"multi-select\"\n | \"music\"\n | \"nest\"\n | \"new-drawing\"\n | \"new-grid-item\"\n | \"new-layer\"\n | \"new-layers\"\n | \"new-link\"\n | \"new-object\"\n | \"new-person\"\n | \"new-prescription\"\n | \"new-shield\"\n | \"new-text-box\"\n | \"ninja\"\n | \"not-equal-to\"\n | \"notifications-snooze\"\n | \"notifications-updated\"\n | \"notifications\"\n | \"numbered-list\"\n | \"numerical\"\n | \"office\"\n | \"offline\"\n | \"oil-field\"\n | \"one-column\"\n | \"one-to-many\"\n | \"one-to-one\"\n | \"open-application\"\n | \"outdated\"\n | \"page-layout\"\n | \"panel-stats\"\n | \"panel-table\"\n | \"paperclip\"\n | \"paragraph\"\n | \"paste-variable\"\n | \"path-search\"\n | \"path\"\n | \"pause\"\n | \"people\"\n | \"percentage\"\n | \"person\"\n | \"phone-call\"\n | \"phone-forward\"\n | \"phone\"\n | \"pie-chart\"\n | \"pin\"\n | \"pivot-table\"\n | \"pivot\"\n | \"play\"\n | \"playbook\"\n | \"plus\"\n | \"polygon-filter\"\n | \"power\"\n | \"predictive-analysis\"\n | \"prescription\"\n | \"presentation\"\n | \"print\"\n | \"projects\"\n | \"properties\"\n | \"property\"\n | \"publish-function\"\n | \"pulse\"\n | \"rain\"\n | \"random\"\n | \"record\"\n | \"rect-height\"\n | \"rect-width\"\n | \"rectangle\"\n | \"redo\"\n | \"refresh\"\n | \"regex\"\n | \"regression-chart\"\n | \"remove-column-left\"\n | \"remove-column-right\"\n | \"remove-column\"\n | \"remove-row-bottom\"\n | \"remove-row-top\"\n | \"remove\"\n | \"repeat\"\n | \"reset\"\n | \"resolve\"\n | \"rig\"\n | \"right-join\"\n | \"ring\"\n | \"rocket-slant\"\n | \"rocket\"\n | \"rotate-document\"\n | \"rotate-page\"\n | \"route\"\n | \"satellite\"\n | \"saved\"\n | \"scatter-plot\"\n | \"search-around\"\n | \"search-template\"\n | \"search-text\"\n | \"search\"\n | \"segmented-control\"\n | \"select\"\n | \"selection\"\n | \"send-message\"\n | \"send-to-graph\"\n | \"send-to-map\"\n | \"send-to\"\n | \"sensor\"\n | \"series-add\"\n | \"series-configuration\"\n | \"series-derived\"\n | \"series-filtered\"\n | \"series-search\"\n | \"settings\"\n | \"shapes\"\n | \"share\"\n | \"shared-filter\"\n | \"shield\"\n | \"ship\"\n | \"shop\"\n | \"shopping-cart\"\n | \"shorten-text\"\n | \"signal-search\"\n | \"sim-card\"\n | \"slash\"\n | \"small-cross\"\n | \"small-info-sign\"\n | \"small-minus\"\n | \"small-plus\"\n | \"small-square\"\n | \"small-tick\"\n | \"snowflake\"\n | \"social-media\"\n | \"sort-alphabetical-desc\"\n | \"sort-alphabetical\"\n | \"sort-asc\"\n | \"sort-desc\"\n | \"sort-numerical-desc\"\n | \"sort-numerical\"\n | \"sort\"\n | \"spell-check\"\n | \"split-columns\"\n | \"square\"\n | \"stacked-chart\"\n | \"stadium-geometry\"\n | \"star-empty\"\n | \"star\"\n | \"step-backward\"\n | \"step-chart\"\n | \"step-forward\"\n | \"stop\"\n | \"stopwatch\"\n | \"strikethrough\"\n | \"style\"\n | \"subscript\"\n | \"superscript\"\n | \"swap-horizontal\"\n | \"swap-vertical\"\n | \"switch\"\n | \"symbol-circle\"\n | \"symbol-cross\"\n | \"symbol-diamond\"\n | \"symbol-rectangle\"\n | \"symbol-square\"\n | \"symbol-triangle-down\"\n | \"symbol-triangle-up\"\n | \"syringe\"\n | \"tag\"\n | \"take-action\"\n | \"tank\"\n | \"target\"\n | \"taxi\"\n | \"temperature\"\n | \"text-highlight\"\n | \"th-derived\"\n | \"th-disconnect\"\n | \"th-filtered\"\n | \"th-list\"\n | \"th\"\n | \"third-party\"\n | \"thumbs-down\"\n | \"thumbs-up\"\n | \"tick-circle\"\n | \"tick\"\n | \"time\"\n | \"timeline-area-chart\"\n | \"timeline-bar-chart\"\n | \"timeline-events\"\n | \"timeline-line-chart\"\n | \"tint\"\n | \"torch\"\n | \"tractor\"\n | \"train\"\n | \"translate\"\n | \"trash\"\n | \"tree\"\n | \"trending-down\"\n | \"trending-up\"\n | \"truck\"\n | \"two-columns\"\n | \"unarchive\"\n | \"underline\"\n | \"undo\"\n | \"ungroup-objects\"\n | \"unknown-vehicle\"\n | \"unlink\"\n | \"unlock\"\n | \"unpin\"\n | \"unresolve\"\n | \"updated\"\n | \"upload\"\n | \"user\"\n | \"variable\"\n | \"vertical-bar-chart-asc\"\n | \"vertical-bar-chart-desc\"\n | \"vertical-distribution\"\n | \"vertical-inbetween\"\n | \"video\"\n | \"virus\"\n | \"volume-down\"\n | \"volume-off\"\n | \"volume-up\"\n | \"walk\"\n | \"warning-sign\"\n | \"waterfall-chart\"\n | \"waves\"\n | \"widget-button\"\n | \"widget-footer\"\n | \"widget-header\"\n | \"widget\"\n | \"wind\"\n | \"wrench\"\n | \"zoom-in\"\n | \"zoom-out\"\n | \"zoom-to-fit\";\n\nexport type BlueprintIcons_16Key =\n | \"AddClip\"\n | \"AddColumnLeft\"\n | \"AddColumnRight\"\n | \"AddLocation\"\n | \"AddRowBottom\"\n | \"AddRowTop\"\n | \"AddToArtifact\"\n | \"AddToFolder\"\n | \"Add\"\n | \"AimpointsTarget\"\n | \"Airplane\"\n | \"AlignCenter\"\n | \"AlignJustify\"\n | \"AlignLeft\"\n | \"AlignRight\"\n | \"AlignmentBottom\"\n | \"AlignmentHorizontalCenter\"\n | \"AlignmentLeft\"\n | \"AlignmentRight\"\n | \"AlignmentTop\"\n | \"AlignmentVerticalCenter\"\n | \"Ammunition\"\n | \"Anchor\"\n | \"Annotation\"\n | \"Antenna\"\n | \"AppHeader\"\n | \"Application\"\n | \"Applications\"\n | \"Archive\"\n | \"AreaOfInterest\"\n | \"ArrayBoolean\"\n | \"ArrayDate\"\n | \"ArrayFloatingPoint\"\n | \"ArrayNumeric\"\n | \"ArrayString\"\n | \"ArrayTimestamp\"\n | \"Array\"\n | \"ArrowBottomLeft\"\n | \"ArrowBottomRight\"\n | \"ArrowDown\"\n | \"ArrowLeft\"\n | \"ArrowRight\"\n | \"ArrowTopLeft\"\n | \"ArrowTopRight\"\n | \"ArrowUp\"\n | \"ArrowsHorizontal\"\n | \"ArrowsVertical\"\n | \"Asterisk\"\n | \"At\"\n | \"AutomaticUpdates\"\n | \"Axle\"\n | \"Backlink\"\n | \"Badge\"\n | \"BanCircle\"\n | \"BankAccount\"\n | \"Barcode\"\n | \"Blank\"\n | \"BlockedPerson\"\n | \"Bold\"\n | \"Book\"\n | \"Bookmark\"\n | \"Box\"\n | \"Briefcase\"\n | \"BringData\"\n | \"Bug\"\n | \"Buggy\"\n | \"Build\"\n | \"Calculator\"\n | \"Calendar\"\n | \"Camera\"\n | \"CaretDown\"\n | \"CaretLeft\"\n | \"CaretRight\"\n | \"CaretUp\"\n | \"CargoShip\"\n | \"CellTower\"\n | \"Changes\"\n | \"Chart\"\n | \"Chat\"\n | \"ChevronBackward\"\n | \"ChevronDown\"\n | \"ChevronForward\"\n | \"ChevronLeft\"\n | \"ChevronRight\"\n | \"ChevronUp\"\n | \"CircleArrowDown\"\n | \"CircleArrowLeft\"\n | \"CircleArrowRight\"\n | \"CircleArrowUp\"\n | \"Circle\"\n | \"Citation\"\n | \"Clean\"\n | \"Clip\"\n | \"Clipboard\"\n | \"CloudDownload\"\n | \"CloudUpload\"\n | \"Cloud\"\n | \"CodeBlock\"\n | \"Code\"\n | \"Cog\"\n | \"CollapseAll\"\n | \"ColorFill\"\n | \"ColumnLayout\"\n | \"Comment\"\n | \"Comparison\"\n | \"Compass\"\n | \"Compressed\"\n | \"Confirm\"\n | \"Console\"\n | \"Contrast\"\n | \"Control\"\n | \"CreditCard\"\n | \"CrossCircle\"\n | \"Cross\"\n | \"Crown\"\n | \"CubeAdd\"\n | \"CubeRemove\"\n | \"Cube\"\n | \"CurvedRangeChart\"\n | \"Cut\"\n | \"Cycle\"\n | \"Dashboard\"\n | \"DataConnection\"\n | \"DataLineage\"\n | \"Database\"\n | \"Delete\"\n | \"Delta\"\n | \"DeriveColumn\"\n | \"Desktop\"\n | \"Detection\"\n | \"Diagnosis\"\n | \"DiagramTree\"\n | \"DirectionLeft\"\n | \"DirectionRight\"\n | \"Disable\"\n | \"Divide\"\n | \"DocumentOpen\"\n | \"DocumentShare\"\n | \"Document\"\n | \"Dollar\"\n | \"Dot\"\n | \"DoubleCaretHorizontal\"\n | \"DoubleCaretVertical\"\n | \"DoubleChevronDown\"\n | \"DoubleChevronLeft\"\n | \"DoubleChevronRight\"\n | \"DoubleChevronUp\"\n | \"DoughnutChart\"\n | \"Download\"\n | \"DragHandleHorizontal\"\n | \"DragHandleVertical\"\n | \"Draw\"\n | \"DrawerLeftFilled\"\n | \"DrawerLeft\"\n | \"DrawerRightFilled\"\n | \"DrawerRight\"\n | \"DriveTime\"\n | \"Duplicate\"\n | \"Edit\"\n | \"Eject\"\n | \"Emoji\"\n | \"Endorsed\"\n | \"Envelope\"\n | \"Equals\"\n | \"Eraser\"\n | \"Error\"\n | \"Euro\"\n | \"Exchange\"\n | \"ExcludeRow\"\n | \"ExpandAll\"\n | \"Export\"\n | \"EyeOff\"\n | \"EyeOn\"\n | \"EyeOpen\"\n | \"FastBackward\"\n | \"FastForward\"\n | \"FeedSubscribed\"\n | \"Feed\"\n | \"Film\"\n | \"FilterKeep\"\n | \"FilterList\"\n | \"FilterOpen\"\n | \"FilterRemove\"\n | \"Filter\"\n | \"Flag\"\n | \"Flame\"\n | \"Flash\"\n | \"FloatingPoint\"\n | \"FloppyDisk\"\n | \"FlowBranch\"\n | \"FlowEnd\"\n | \"FlowLinear\"\n | \"FlowReviewBranch\"\n | \"FlowReview\"\n | \"Flows\"\n | \"FolderClose\"\n | \"FolderNew\"\n | \"FolderOpen\"\n | \"FolderSharedOpen\"\n | \"FolderShared\"\n | \"Follower\"\n | \"Following\"\n | \"Font\"\n | \"Fork\"\n | \"Form\"\n | \"Fuel\"\n | \"FullCircle\"\n | \"FullStackedChart\"\n | \"Fullscreen\"\n | \"Function\"\n | \"GanttChart\"\n | \"Geofence\"\n | \"Geolocation\"\n | \"Geosearch\"\n | \"Geotime\"\n | \"GitBranch\"\n | \"GitCommit\"\n | \"GitMerge\"\n | \"GitNewBranch\"\n | \"GitPull\"\n | \"GitPush\"\n | \"GitRepo\"\n | \"Glass\"\n | \"GlobeNetwork\"\n | \"Globe\"\n | \"GraphRemove\"\n | \"Graph\"\n | \"GreaterThanOrEqualTo\"\n | \"GreaterThan\"\n | \"GridView\"\n | \"Grid\"\n | \"GroupObjects\"\n | \"GroupedBarChart\"\n | \"HandDown\"\n | \"HandLeft\"\n | \"HandRight\"\n | \"HandUp\"\n | \"Hand\"\n | \"Hat\"\n | \"HeaderOne\"\n | \"HeaderThree\"\n | \"HeaderTwo\"\n | \"Header\"\n | \"Headset\"\n | \"HeartBroken\"\n | \"Heart\"\n | \"HeatGrid\"\n | \"Heatmap\"\n | \"Helicopter\"\n | \"Help\"\n | \"HelperManagement\"\n | \"HighPriority\"\n | \"HighVoltagePole\"\n | \"Highlight\"\n | \"History\"\n | \"Home\"\n | \"HorizontalBarChartAsc\"\n | \"HorizontalBarChartDesc\"\n | \"HorizontalBarChart\"\n | \"HorizontalDistribution\"\n | \"HorizontalInbetween\"\n | \"Hurricane\"\n | \"IdNumber\"\n | \"ImageRotateLeft\"\n | \"ImageRotateRight\"\n | \"Import\"\n | \"InboxFiltered\"\n | \"InboxGeo\"\n | \"InboxSearch\"\n | \"InboxUpdate\"\n | \"Inbox\"\n | \"InfoSign\"\n | \"Inheritance\"\n | \"InheritedGroup\"\n | \"InnerJoin\"\n | \"Insert\"\n | \"Intelligence\"\n | \"Intersection\"\n | \"IpAddress\"\n | \"IssueClosed\"\n | \"IssueNew\"\n | \"Issue\"\n | \"Italic\"\n | \"JoinTable\"\n | \"KeyBackspace\"\n | \"KeyCommand\"\n | \"KeyControl\"\n | \"KeyDelete\"\n | \"KeyEnter\"\n | \"KeyEscape\"\n | \"KeyOption\"\n | \"KeyShift\"\n | \"KeyTab\"\n | \"Key\"\n | \"KnownVehicle\"\n | \"LabTest\"\n | \"Label\"\n | \"LayerOutline\"\n | \"Layer\"\n | \"Layers\"\n | \"LayoutAuto\"\n | \"LayoutBalloon\"\n | \"LayoutCircle\"\n | \"LayoutGrid\"\n | \"LayoutGroupBy\"\n | \"LayoutHierarchy\"\n | \"LayoutLinear\"\n | \"LayoutSkewGrid\"\n | \"LayoutSortedClusters\"\n | \"Layout\"\n | \"Learning\"\n | \"LeftJoin\"\n | \"LengthenText\"\n | \"LessThanOrEqualTo\"\n | \"LessThan\"\n | \"Lifesaver\"\n | \"Lightbulb\"\n | \"Lightning\"\n | \"Link\"\n | \"ListColumns\"\n | \"ListDetailView\"\n | \"List\"\n | \"Locate\"\n | \"Lock\"\n | \"Locomotive\"\n | \"LogIn\"\n | \"LogOut\"\n | \"LowVoltagePole\"\n | \"Manual\"\n | \"ManuallyEnteredData\"\n | \"ManyToMany\"\n | \"ManyToOne\"\n | \"MapCreate\"\n | \"MapMarker\"\n | \"Map\"\n | \"Maximize\"\n | \"Media\"\n | \"MenuClosed\"\n | \"MenuOpen\"\n | \"Menu\"\n | \"MergeColumns\"\n | \"MergeLinks\"\n | \"Microphone\"\n | \"Minimize\"\n | \"Minus\"\n | \"MobilePhone\"\n | \"MobileVideo\"\n | \"ModalFilled\"\n | \"Modal\"\n | \"Model\"\n | \"Moon\"\n | \"More\"\n | \"Mountain\"\n | \"Move\"\n | \"Mugshot\"\n | \"MultiSelect\"\n | \"Music\"\n | \"Nest\"\n | \"NewDrawing\"\n | \"NewGridItem\"\n | \"NewLayer\"\n | \"NewLayers\"\n | \"NewLink\"\n | \"NewObject\"\n | \"NewPerson\"\n | \"NewPrescription\"\n | \"NewShield\"\n | \"NewTextBox\"\n | \"Ninja\"\n | \"NotEqualTo\"\n | \"NotificationsSnooze\"\n | \"NotificationsUpdated\"\n | \"Notifications\"\n | \"NumberedList\"\n | \"Numerical\"\n | \"Office\"\n | \"Offline\"\n | \"OilField\"\n | \"OneColumn\"\n | \"OneToMany\"\n | \"OneToOne\"\n | \"OpenApplication\"\n | \"Outdated\"\n | \"PageLayout\"\n | \"PanelStats\"\n | \"PanelTable\"\n | \"Paperclip\"\n | \"Paragraph\"\n | \"PasteVariable\"\n | \"PathSearch\"\n | \"Path\"\n | \"Pause\"\n | \"People\"\n | \"Percentage\"\n | \"Person\"\n | \"PhoneCall\"\n | \"PhoneForward\"\n | \"Phone\"\n | \"PieChart\"\n | \"Pin\"\n | \"PivotTable\"\n | \"Pivot\"\n | \"Play\"\n | \"Playbook\"\n | \"Plus\"\n | \"PolygonFilter\"\n | \"Power\"\n | \"PredictiveAnalysis\"\n | \"Prescription\"\n | \"Presentation\"\n | \"Print\"\n | \"Projects\"\n | \"Properties\"\n | \"Property\"\n | \"PublishFunction\"\n | \"Pulse\"\n | \"Rain\"\n | \"Random\"\n | \"Record\"\n | \"RectHeight\"\n | \"RectWidth\"\n | \"Rectangle\"\n | \"Redo\"\n | \"Refresh\"\n | \"Regex\"\n | \"RegressionChart\"\n | \"RemoveColumnLeft\"\n | \"RemoveColumnRight\"\n | \"RemoveColumn\"\n | \"RemoveRowBottom\"\n | \"RemoveRowTop\"\n | \"Remove\"\n | \"Repeat\"\n | \"Reset\"\n | \"Resolve\"\n | \"Rig\"\n | \"RightJoin\"\n | \"Ring\"\n | \"RocketSlant\"\n | \"Rocket\"\n | \"RotateDocument\"\n | \"RotatePage\"\n | \"Route\"\n | \"Satellite\"\n | \"Saved\"\n | \"ScatterPlot\"\n | \"SearchAround\"\n | \"SearchTemplate\"\n | \"SearchText\"\n | \"Search\"\n | \"SegmentedControl\"\n | \"Select\"\n | \"Selection\"\n | \"SendMessage\"\n | \"SendToGraph\"\n | \"SendToMap\"\n | \"SendTo\"\n | \"Sensor\"\n | \"SeriesAdd\"\n | \"SeriesConfiguration\"\n | \"SeriesDerived\"\n | \"SeriesFiltered\"\n | \"SeriesSearch\"\n | \"Settings\"\n | \"Shapes\"\n | \"Share\"\n | \"SharedFilter\"\n | \"Shield\"\n | \"Ship\"\n | \"Shop\"\n | \"ShoppingCart\"\n | \"ShortenText\"\n | \"SignalSearch\"\n | \"SimCard\"\n | \"Slash\"\n | \"SmallCross\"\n | \"SmallInfoSign\"\n | \"SmallMinus\"\n | \"SmallPlus\"\n | \"SmallSquare\"\n | \"SmallTick\"\n | \"Snowflake\"\n | \"SocialMedia\"\n | \"SortAlphabeticalDesc\"\n | \"SortAlphabetical\"\n | \"SortAsc\"\n | \"SortDesc\"\n | \"SortNumericalDesc\"\n | \"SortNumerical\"\n | \"Sort\"\n | \"SpellCheck\"\n | \"SplitColumns\"\n | \"Square\"\n | \"StackedChart\"\n | \"StadiumGeometry\"\n | \"StarEmpty\"\n | \"Star\"\n | \"StepBackward\"\n | \"StepChart\"\n | \"StepForward\"\n | \"Stop\"\n | \"Stopwatch\"\n | \"Strikethrough\"\n | \"Style\"\n | \"Subscript\"\n | \"Superscript\"\n | \"SwapHorizontal\"\n | \"SwapVertical\"\n | \"Switch\"\n | \"SymbolCircle\"\n | \"SymbolCross\"\n | \"SymbolDiamond\"\n | \"SymbolRectangle\"\n | \"SymbolSquare\"\n | \"SymbolTriangleDown\"\n | \"SymbolTriangleUp\"\n | \"Syringe\"\n | \"Tag\"\n | \"TakeAction\"\n | \"Tank\"\n | \"Target\"\n | \"Taxi\"\n | \"Temperature\"\n | \"TextHighlight\"\n | \"ThDerived\"\n | \"ThDisconnect\"\n | \"ThFiltered\"\n | \"ThList\"\n | \"Th\"\n | \"ThirdParty\"\n | \"ThumbsDown\"\n | \"ThumbsUp\"\n | \"TickCircle\"\n | \"Tick\"\n | \"Time\"\n | \"TimelineAreaChart\"\n | \"TimelineBarChart\"\n | \"TimelineEvents\"\n | \"TimelineLineChart\"\n | \"Tint\"\n | \"Torch\"\n | \"Tractor\"\n | \"Train\"\n | \"Translate\"\n | \"Trash\"\n | \"Tree\"\n | \"TrendingDown\"\n | \"TrendingUp\"\n | \"Truck\"\n | \"TwoColumns\"\n | \"Unarchive\"\n | \"Underline\"\n | \"Undo\"\n | \"UngroupObjects\"\n | \"UnknownVehicle\"\n | \"Unlink\"\n | \"Unlock\"\n | \"Unpin\"\n | \"Unresolve\"\n | \"Updated\"\n | \"Upload\"\n | \"User\"\n | \"Variable\"\n | \"VerticalBarChartAsc\"\n | \"VerticalBarChartDesc\"\n | \"VerticalDistribution\"\n | \"VerticalInbetween\"\n | \"Video\"\n | \"Virus\"\n | \"VolumeDown\"\n | \"VolumeOff\"\n | \"VolumeUp\"\n | \"Walk\"\n | \"WarningSign\"\n | \"WaterfallChart\"\n | \"Waves\"\n | \"WidgetButton\"\n | \"WidgetFooter\"\n | \"WidgetHeader\"\n | \"Widget\"\n | \"Wind\"\n | \"Wrench\"\n | \"ZoomIn\"\n | \"ZoomOut\"\n | \"ZoomToFit\";\n\nexport enum BlueprintIcons_16 {\n AddClip = \"add-clip\",\n AddColumnLeft = \"add-column-left\",\n AddColumnRight = \"add-column-right\",\n AddLocation = \"add-location\",\n AddRowBottom = \"add-row-bottom\",\n AddRowTop = \"add-row-top\",\n AddToArtifact = \"add-to-artifact\",\n AddToFolder = \"add-to-folder\",\n Add = \"add\",\n AimpointsTarget = \"aimpoints-target\",\n Airplane = \"airplane\",\n AlignCenter = \"align-center\",\n AlignJustify = \"align-justify\",\n AlignLeft = \"align-left\",\n AlignRight = \"align-right\",\n AlignmentBottom = \"alignment-bottom\",\n AlignmentHorizontalCenter = \"alignment-horizontal-center\",\n AlignmentLeft = \"alignment-left\",\n AlignmentRight = \"alignment-right\",\n AlignmentTop = \"alignment-top\",\n AlignmentVerticalCenter = \"alignment-vertical-center\",\n Ammunition = \"ammunition\",\n Anchor = \"anchor\",\n Annotation = \"annotation\",\n Antenna = \"antenna\",\n AppHeader = \"app-header\",\n Application = \"application\",\n Applications = \"applications\",\n Archive = \"archive\",\n AreaOfInterest = \"area-of-interest\",\n ArrayBoolean = \"array-boolean\",\n ArrayDate = \"array-date\",\n ArrayFloatingPoint = \"array-floating-point\",\n ArrayNumeric = \"array-numeric\",\n ArrayString = \"array-string\",\n ArrayTimestamp = \"array-timestamp\",\n Array = \"array\",\n ArrowBottomLeft = \"arrow-bottom-left\",\n ArrowBottomRight = \"arrow-bottom-right\",\n ArrowDown = \"arrow-down\",\n ArrowLeft = \"arrow-left\",\n ArrowRight = \"arrow-right\",\n ArrowTopLeft = \"arrow-top-left\",\n ArrowTopRight = \"arrow-top-right\",\n ArrowUp = \"arrow-up\",\n ArrowsHorizontal = \"arrows-horizontal\",\n ArrowsVertical = \"arrows-vertical\",\n Asterisk = \"asterisk\",\n At = \"at\",\n AutomaticUpdates = \"automatic-updates\",\n Axle = \"axle\",\n Backlink = \"backlink\",\n Badge = \"badge\",\n BanCircle = \"ban-circle\",\n BankAccount = \"bank-account\",\n Barcode = \"barcode\",\n Blank = \"blank\",\n BlockedPerson = \"blocked-person\",\n Bold = \"bold\",\n Book = \"book\",\n Bookmark = \"bookmark\",\n Box = \"box\",\n Briefcase = \"briefcase\",\n BringData = \"bring-data\",\n Bug = \"bug\",\n Buggy = \"buggy\",\n Build = \"build\",\n Calculator = \"calculator\",\n Calendar = \"calendar\",\n Camera = \"camera\",\n CaretDown = \"caret-down\",\n CaretLeft = \"caret-left\",\n CaretRight = \"caret-right\",\n CaretUp = \"caret-up\",\n CargoShip = \"cargo-ship\",\n CellTower = \"cell-tower\",\n Changes = \"changes\",\n Chart = \"chart\",\n Chat = \"chat\",\n ChevronBackward = \"chevron-backward\",\n ChevronDown = \"chevron-down\",\n ChevronForward = \"chevron-forward\",\n ChevronLeft = \"chevron-left\",\n ChevronRight = \"chevron-right\",\n ChevronUp = \"chevron-up\",\n CircleArrowDown = \"circle-arrow-down\",\n CircleArrowLeft = \"circle-arrow-left\",\n CircleArrowRight = \"circle-arrow-right\",\n CircleArrowUp = \"circle-arrow-up\",\n Circle = \"circle\",\n Citation = \"citation\",\n Clean = \"clean\",\n Clip = \"clip\",\n Clipboard = \"clipboard\",\n CloudDownload = \"cloud-download\",\n CloudUpload = \"cloud-upload\",\n Cloud = \"cloud\",\n CodeBlock = \"code-block\",\n Code = \"code\",\n Cog = \"cog\",\n CollapseAll = \"collapse-all\",\n ColorFill = \"color-fill\",\n ColumnLayout = \"column-layout\",\n Comment = \"comment\",\n Comparison = \"comparison\",\n Compass = \"compass\",\n Compressed = \"compressed\",\n Confirm = \"confirm\",\n Console = \"console\",\n Contrast = \"contrast\",\n Control = \"control\",\n CreditCard = \"credit-card\",\n CrossCircle = \"cross-circle\",\n Cross = \"cross\",\n Crown = \"crown\",\n CubeAdd = \"cube-add\",\n CubeRemove = \"cube-remove\",\n Cube = \"cube\",\n CurvedRangeChart = \"curved-range-chart\",\n Cut = \"cut\",\n Cycle = \"cycle\",\n Dashboard = \"dashboard\",\n DataConnection = \"data-connection\",\n DataLineage = \"data-lineage\",\n Database = \"database\",\n Delete = \"delete\",\n Delta = \"delta\",\n DeriveColumn = \"derive-column\",\n Desktop = \"desktop\",\n Detection = \"detection\",\n Diagnosis = \"diagnosis\",\n DiagramTree = \"diagram-tree\",\n DirectionLeft = \"direction-left\",\n DirectionRight = \"direction-right\",\n Disable = \"disable\",\n Divide = \"divide\",\n DocumentOpen = \"document-open\",\n DocumentShare = \"document-share\",\n Document = \"document\",\n Dollar = \"dollar\",\n Dot = \"dot\",\n DoubleCaretHorizontal = \"double-caret-horizontal\",\n DoubleCaretVertical = \"double-caret-vertical\",\n DoubleChevronDown = \"double-chevron-down\",\n DoubleChevronLeft = \"double-chevron-left\",\n DoubleChevronRight = \"double-chevron-right\",\n DoubleChevronUp = \"double-chevron-up\",\n DoughnutChart = \"doughnut-chart\",\n Download = \"download\",\n DragHandleHorizontal = \"drag-handle-horizontal\",\n DragHandleVertical = \"drag-handle-vertical\",\n Draw = \"draw\",\n DrawerLeftFilled = \"drawer-left-filled\",\n DrawerLeft = \"drawer-left\",\n DrawerRightFilled = \"drawer-right-filled\",\n DrawerRight = \"drawer-right\",\n DriveTime = \"drive-time\",\n Duplicate = \"duplicate\",\n Edit = \"edit\",\n Eject = \"eject\",\n Emoji = \"emoji\",\n Endorsed = \"endorsed\",\n Envelope = \"envelope\",\n Equals = \"equals\",\n Eraser = \"eraser\",\n Error = \"error\",\n Euro = \"euro\",\n Exchange = \"exchange\",\n ExcludeRow = \"exclude-row\",\n ExpandAll = \"expand-all\",\n Export = \"export\",\n EyeOff = \"eye-off\",\n EyeOn = \"eye-on\",\n EyeOpen = \"eye-open\",\n FastBackward = \"fast-backward\",\n FastForward = \"fast-forward\",\n FeedSubscribed = \"feed-subscribed\",\n Feed = \"feed\",\n Film = \"film\",\n FilterKeep = \"filter-keep\",\n FilterList = \"filter-list\",\n FilterOpen = \"filter-open\",\n FilterRemove = \"filter-remove\",\n Filter = \"filter\",\n Flag = \"flag\",\n Flame = \"flame\",\n Flash = \"flash\",\n FloatingPoint = \"floating-point\",\n FloppyDisk = \"floppy-disk\",\n FlowBranch = \"flow-branch\",\n FlowEnd = \"flow-end\",\n FlowLinear = \"flow-linear\",\n FlowReviewBranch = \"flow-review-branch\",\n FlowReview = \"flow-review\",\n Flows = \"flows\",\n FolderClose = \"folder-close\",\n FolderNew = \"folder-new\",\n FolderOpen = \"folder-open\",\n FolderSharedOpen = \"folder-shared-open\",\n FolderShared = \"folder-shared\",\n Follower = \"follower\",\n Following = \"following\",\n Font = \"font\",\n Fork = \"fork\",\n Form = \"form\",\n Fuel = \"fuel\",\n FullCircle = \"full-circle\",\n FullStackedChart = \"full-stacked-chart\",\n Fullscreen = \"fullscreen\",\n Function = \"function\",\n GanttChart = \"gantt-chart\",\n Geofence = \"geofence\",\n Geolocation = \"geolocation\",\n Geosearch = \"geosearch\",\n Geotime = \"geotime\",\n GitBranch = \"git-branch\",\n GitCommit = \"git-commit\",\n GitMerge = \"git-merge\",\n GitNewBranch = \"git-new-branch\",\n GitPull = \"git-pull\",\n GitPush = \"git-push\",\n GitRepo = \"git-repo\",\n Glass = \"glass\",\n GlobeNetwork = \"globe-network\",\n Globe = \"globe\",\n GraphRemove = \"graph-remove\",\n Graph = \"graph\",\n GreaterThanOrEqualTo = \"greater-than-or-equal-to\",\n GreaterThan = \"greater-than\",\n GridView = \"grid-view\",\n Grid = \"grid\",\n GroupObjects = \"group-objects\",\n GroupedBarChart = \"grouped-bar-chart\",\n HandDown = \"hand-down\",\n HandLeft = \"hand-left\",\n HandRight = \"hand-right\",\n HandUp = \"hand-up\",\n Hand = \"hand\",\n Hat = \"hat\",\n HeaderOne = \"header-one\",\n HeaderThree = \"header-three\",\n HeaderTwo = \"header-two\",\n Header = \"header\",\n Headset = \"headset\",\n HeartBroken = \"heart-broken\",\n Heart = \"heart\",\n HeatGrid = \"heat-grid\",\n Heatmap = \"heatmap\",\n Helicopter = \"helicopter\",\n Help = \"help\",\n HelperManagement = \"helper-management\",\n HighPriority = \"high-priority\",\n HighVoltagePole = \"high-voltage-pole\",\n Highlight = \"highlight\",\n History = \"history\",\n Home = \"home\",\n HorizontalBarChartAsc = \"horizontal-bar-chart-asc\",\n HorizontalBarChartDesc = \"horizontal-bar-chart-desc\",\n HorizontalBarChart = \"horizontal-bar-chart\",\n HorizontalDistribution = \"horizontal-distribution\",\n HorizontalInbetween = \"horizontal-inbetween\",\n Hurricane = \"hurricane\",\n IdNumber = \"id-number\",\n ImageRotateLeft = \"image-rotate-left\",\n ImageRotateRight = \"image-rotate-right\",\n Import = \"import\",\n InboxFiltered = \"inbox-filtered\",\n InboxGeo = \"inbox-geo\",\n InboxSearch = \"inbox-search\",\n InboxUpdate = \"inbox-update\",\n Inbox = \"inbox\",\n InfoSign = \"info-sign\",\n Inheritance = \"inheritance\",\n InheritedGroup = \"inherited-group\",\n InnerJoin = \"inner-join\",\n Insert = \"insert\",\n Intelligence = \"intelligence\",\n Intersection = \"intersection\",\n IpAddress = \"ip-address\",\n IssueClosed = \"issue-closed\",\n IssueNew = \"issue-new\",\n Issue = \"issue\",\n Italic = \"italic\",\n JoinTable = \"join-table\",\n KeyBackspace = \"key-backspace\",\n KeyCommand = \"key-command\",\n KeyControl = \"key-control\",\n KeyDelete = \"key-delete\",\n KeyEnter = \"key-enter\",\n KeyEscape = \"key-escape\",\n KeyOption = \"key-option\",\n KeyShift = \"key-shift\",\n KeyTab = \"key-tab\",\n Key = \"key\",\n KnownVehicle = \"known-vehicle\",\n LabTest = \"lab-test\",\n Label = \"label\",\n LayerOutline = \"layer-outline\",\n Layer = \"layer\",\n Layers = \"layers\",\n LayoutAuto = \"layout-auto\",\n LayoutBalloon = \"layout-balloon\",\n LayoutCircle = \"layout-circle\",\n LayoutGrid = \"layout-grid\",\n LayoutGroupBy = \"layout-group-by\",\n LayoutHierarchy = \"layout-hierarchy\",\n LayoutLinear = \"layout-linear\",\n LayoutSkewGrid = \"layout-skew-grid\",\n LayoutSortedClusters = \"layout-sorted-clusters\",\n Layout = \"layout\",\n Learning = \"learning\",\n LeftJoin = \"left-join\",\n LengthenText = \"lengthen-text\",\n LessThanOrEqualTo = \"less-than-or-equal-to\",\n LessThan = \"less-than\",\n Lifesaver = \"lifesaver\",\n Lightbulb = \"lightbulb\",\n Lightning = \"lightning\",\n Link = \"link\",\n ListColumns = \"list-columns\",\n ListDetailView = \"list-detail-view\",\n List = \"list\",\n Locate = \"locate\",\n Lock = \"lock\",\n Locomotive = \"locomotive\",\n LogIn = \"log-in\",\n LogOut = \"log-out\",\n LowVoltagePole = \"low-voltage-pole\",\n Manual = \"manual\",\n ManuallyEnteredData = \"manually-entered-data\",\n ManyToMany = \"many-to-many\",\n ManyToOne = \"many-to-one\",\n MapCreate = \"map-create\",\n MapMarker = \"map-marker\",\n Map = \"map\",\n Maximize = \"maximize\",\n Media = \"media\",\n MenuClosed = \"menu-closed\",\n MenuOpen = \"menu-open\",\n Menu = \"menu\",\n MergeColumns = \"merge-columns\",\n MergeLinks = \"merge-links\",\n Microphone = \"microphone\",\n Minimize = \"minimize\",\n Minus = \"minus\",\n MobilePhone = \"mobile-phone\",\n MobileVideo = \"mobile-video\",\n ModalFilled = \"modal-filled\",\n Modal = \"modal\",\n Model = \"model\",\n Moon = \"moon\",\n More = \"more\",\n Mountain = \"mountain\",\n Move = \"move\",\n Mugshot = \"mugshot\",\n MultiSelect = \"multi-select\",\n Music = \"music\",\n Nest = \"nest\",\n NewDrawing = \"new-drawing\",\n NewGridItem = \"new-grid-item\",\n NewLayer = \"new-layer\",\n NewLayers = \"new-layers\",\n NewLink = \"new-link\",\n NewObject = \"new-object\",\n NewPerson = \"new-person\",\n NewPrescription = \"new-prescription\",\n NewShield = \"new-shield\",\n NewTextBox = \"new-text-box\",\n Ninja = \"ninja\",\n NotEqualTo = \"not-equal-to\",\n NotificationsSnooze = \"notifications-snooze\",\n NotificationsUpdated = \"notifications-updated\",\n Notifications = \"notifications\",\n NumberedList = \"numbered-list\",\n Numerical = \"numerical\",\n Office = \"office\",\n Offline = \"offline\",\n OilField = \"oil-field\",\n OneColumn = \"one-column\",\n OneToMany = \"one-to-many\",\n OneToOne = \"one-to-one\",\n OpenApplication = \"open-application\",\n Outdated = \"outdated\",\n PageLayout = \"page-layout\",\n PanelStats = \"panel-stats\",\n PanelTable = \"panel-table\",\n Paperclip = \"paperclip\",\n Paragraph = \"paragraph\",\n PasteVariable = \"paste-variable\",\n PathSearch = \"path-search\",\n Path = \"path\",\n Pause = \"pause\",\n People = \"people\",\n Percentage = \"percentage\",\n Person = \"person\",\n PhoneCall = \"phone-call\",\n PhoneForward = \"phone-forward\",\n Phone = \"phone\",\n PieChart = \"pie-chart\",\n Pin = \"pin\",\n PivotTable = \"pivot-table\",\n Pivot = \"pivot\",\n Play = \"play\",\n Playbook = \"playbook\",\n Plus = \"plus\",\n PolygonFilter = \"polygon-filter\",\n Power = \"power\",\n PredictiveAnalysis = \"predictive-analysis\",\n Prescription = \"prescription\",\n Presentation = \"presentation\",\n Print = \"print\",\n Projects = \"projects\",\n Properties = \"properties\",\n Property = \"property\",\n PublishFunction = \"publish-function\",\n Pulse = \"pulse\",\n Rain = \"rain\",\n Random = \"random\",\n Record = \"record\",\n RectHeight = \"rect-height\",\n RectWidth = \"rect-width\",\n Rectangle = \"rectangle\",\n Redo = \"redo\",\n Refresh = \"refresh\",\n Regex = \"regex\",\n RegressionChart = \"regression-chart\",\n RemoveColumnLeft = \"remove-column-left\",\n RemoveColumnRight = \"remove-column-right\",\n RemoveColumn = \"remove-column\",\n RemoveRowBottom = \"remove-row-bottom\",\n RemoveRowTop = \"remove-row-top\",\n Remove = \"remove\",\n Repeat = \"repeat\",\n Reset = \"reset\",\n Resolve = \"resolve\",\n Rig = \"rig\",\n RightJoin = \"right-join\",\n Ring = \"ring\",\n RocketSlant = \"rocket-slant\",\n Rocket = \"rocket\",\n RotateDocument = \"rotate-document\",\n RotatePage = \"rotate-page\",\n Route = \"route\",\n Satellite = \"satellite\",\n Saved = \"saved\",\n ScatterPlot = \"scatter-plot\",\n SearchAround = \"search-around\",\n SearchTemplate = \"search-template\",\n SearchText = \"search-text\",\n Search = \"search\",\n SegmentedControl = \"segmented-control\",\n Select = \"select\",\n Selection = \"selection\",\n SendMessage = \"send-message\",\n SendToGraph = \"send-to-graph\",\n SendToMap = \"send-to-map\",\n SendTo = \"send-to\",\n Sensor = \"sensor\",\n SeriesAdd = \"series-add\",\n SeriesConfiguration = \"series-configuration\",\n SeriesDerived = \"series-derived\",\n SeriesFiltered = \"series-filtered\",\n SeriesSearch = \"series-search\",\n Settings = \"settings\",\n Shapes = \"shapes\",\n Share = \"share\",\n SharedFilter = \"shared-filter\",\n Shield = \"shield\",\n Ship = \"ship\",\n Shop = \"shop\",\n ShoppingCart = \"shopping-cart\",\n ShortenText = \"shorten-text\",\n SignalSearch = \"signal-search\",\n SimCard = \"sim-card\",\n Slash = \"slash\",\n SmallCross = \"small-cross\",\n SmallInfoSign = \"small-info-sign\",\n SmallMinus = \"small-minus\",\n SmallPlus = \"small-plus\",\n SmallSquare = \"small-square\",\n SmallTick = \"small-tick\",\n Snowflake = \"snowflake\",\n SocialMedia = \"social-media\",\n SortAlphabeticalDesc = \"sort-alphabetical-desc\",\n SortAlphabetical = \"sort-alphabetical\",\n SortAsc = \"sort-asc\",\n SortDesc = \"sort-desc\",\n SortNumericalDesc = \"sort-numerical-desc\",\n SortNumerical = \"sort-numerical\",\n Sort = \"sort\",\n SpellCheck = \"spell-check\",\n SplitColumns = \"split-columns\",\n Square = \"square\",\n StackedChart = \"stacked-chart\",\n StadiumGeometry = \"stadium-geometry\",\n StarEmpty = \"star-empty\",\n Star = \"star\",\n StepBackward = \"step-backward\",\n StepChart = \"step-chart\",\n StepForward = \"step-forward\",\n Stop = \"stop\",\n Stopwatch = \"stopwatch\",\n Strikethrough = \"strikethrough\",\n Style = \"style\",\n Subscript = \"subscript\",\n Superscript = \"superscript\",\n SwapHorizontal = \"swap-horizontal\",\n SwapVertical = \"swap-vertical\",\n Switch = \"switch\",\n SymbolCircle = \"symbol-circle\",\n SymbolCross = \"symbol-cross\",\n SymbolDiamond = \"symbol-diamond\",\n SymbolRectangle = \"symbol-rectangle\",\n SymbolSquare = \"symbol-square\",\n SymbolTriangleDown = \"symbol-triangle-down\",\n SymbolTriangleUp = \"symbol-triangle-up\",\n Syringe = \"syringe\",\n Tag = \"tag\",\n TakeAction = \"take-action\",\n Tank = \"tank\",\n Target = \"target\",\n Taxi = \"taxi\",\n Temperature = \"temperature\",\n TextHighlight = \"text-highlight\",\n ThDerived = \"th-derived\",\n ThDisconnect = \"th-disconnect\",\n ThFiltered = \"th-filtered\",\n ThList = \"th-list\",\n Th = \"th\",\n ThirdParty = \"third-party\",\n ThumbsDown = \"thumbs-down\",\n ThumbsUp = \"thumbs-up\",\n TickCircle = \"tick-circle\",\n Tick = \"tick\",\n Time = \"time\",\n TimelineAreaChart = \"timeline-area-chart\",\n TimelineBarChart = \"timeline-bar-chart\",\n TimelineEvents = \"timeline-events\",\n TimelineLineChart = \"timeline-line-chart\",\n Tint = \"tint\",\n Torch = \"torch\",\n Tractor = \"tractor\",\n Train = \"train\",\n Translate = \"translate\",\n Trash = \"trash\",\n Tree = \"tree\",\n TrendingDown = \"trending-down\",\n TrendingUp = \"trending-up\",\n Truck = \"truck\",\n TwoColumns = \"two-columns\",\n Unarchive = \"unarchive\",\n Underline = \"underline\",\n Undo = \"undo\",\n UngroupObjects = \"ungroup-objects\",\n UnknownVehicle = \"unknown-vehicle\",\n Unlink = \"unlink\",\n Unlock = \"unlock\",\n Unpin = \"unpin\",\n Unresolve = \"unresolve\",\n Updated = \"updated\",\n Upload = \"upload\",\n User = \"user\",\n Variable = \"variable\",\n VerticalBarChartAsc = \"vertical-bar-chart-asc\",\n VerticalBarChartDesc = \"vertical-bar-chart-desc\",\n VerticalDistribution = \"vertical-distribution\",\n VerticalInbetween = \"vertical-inbetween\",\n Video = \"video\",\n Virus = \"virus\",\n VolumeDown = \"volume-down\",\n VolumeOff = \"volume-off\",\n VolumeUp = \"volume-up\",\n Walk = \"walk\",\n WarningSign = \"warning-sign\",\n WaterfallChart = \"waterfall-chart\",\n Waves = \"waves\",\n WidgetButton = \"widget-button\",\n WidgetFooter = \"widget-footer\",\n WidgetHeader = \"widget-header\",\n Widget = \"widget\",\n Wind = \"wind\",\n Wrench = \"wrench\",\n ZoomIn = \"zoom-in\",\n ZoomOut = \"zoom-out\",\n ZoomToFit = \"zoom-to-fit\",\n}\n\nexport const BLUEPRINT_ICONS_16_CODEPOINTS: { [key in BlueprintIcons_16]: string } = {\n [BlueprintIcons_16.AddClip]: \"61697\",\n [BlueprintIcons_16.AddColumnLeft]: \"61698\",\n [BlueprintIcons_16.AddColumnRight]: \"61699\",\n [BlueprintIcons_16.AddLocation]: \"61700\",\n [BlueprintIcons_16.AddRowBottom]: \"61701\",\n [BlueprintIcons_16.AddRowTop]: \"61702\",\n [BlueprintIcons_16.AddToArtifact]: \"61703\",\n [BlueprintIcons_16.AddToFolder]: \"61704\",\n [BlueprintIcons_16.Add]: \"61705\",\n [BlueprintIcons_16.AimpointsTarget]: \"62261\",\n [BlueprintIcons_16.Airplane]: \"61706\",\n [BlueprintIcons_16.AlignCenter]: \"61707\",\n [BlueprintIcons_16.AlignJustify]: \"61708\",\n [BlueprintIcons_16.AlignLeft]: \"61709\",\n [BlueprintIcons_16.AlignRight]: \"61710\",\n [BlueprintIcons_16.AlignmentBottom]: \"61711\",\n [BlueprintIcons_16.AlignmentHorizontalCenter]: \"61712\",\n [BlueprintIcons_16.AlignmentLeft]: \"61713\",\n [BlueprintIcons_16.AlignmentRight]: \"61714\",\n [BlueprintIcons_16.AlignmentTop]: \"61715\",\n [BlueprintIcons_16.AlignmentVerticalCenter]: \"61716\",\n [BlueprintIcons_16.Ammunition]: \"62274\",\n [BlueprintIcons_16.Anchor]: \"62256\",\n [BlueprintIcons_16.Annotation]: \"61717\",\n [BlueprintIcons_16.Antenna]: \"61718\",\n [BlueprintIcons_16.AppHeader]: \"61719\",\n [BlueprintIcons_16.Application]: \"61720\",\n [BlueprintIcons_16.Applications]: \"61721\",\n [BlueprintIcons_16.Archive]: \"61722\",\n [BlueprintIcons_16.AreaOfInterest]: \"61723\",\n [BlueprintIcons_16.ArrayBoolean]: \"61724\",\n [BlueprintIcons_16.ArrayDate]: \"61725\",\n [BlueprintIcons_16.ArrayFloatingPoint]: \"62253\",\n [BlueprintIcons_16.ArrayNumeric]: \"61726\",\n [BlueprintIcons_16.ArrayString]: \"61727\",\n [BlueprintIcons_16.ArrayTimestamp]: \"61728\",\n [BlueprintIcons_16.Array]: \"61729\",\n [BlueprintIcons_16.ArrowBottomLeft]: \"61730\",\n [BlueprintIcons_16.ArrowBottomRight]: \"61731\",\n [BlueprintIcons_16.ArrowDown]: \"61732\",\n [BlueprintIcons_16.ArrowLeft]: \"61733\",\n [BlueprintIcons_16.ArrowRight]: \"61734\",\n [BlueprintIcons_16.ArrowTopLeft]: \"61735\",\n [BlueprintIcons_16.ArrowTopRight]: \"61736\",\n [BlueprintIcons_16.ArrowUp]: \"61737\",\n [BlueprintIcons_16.ArrowsHorizontal]: \"61738\",\n [BlueprintIcons_16.ArrowsVertical]: \"61739\",\n [BlueprintIcons_16.Asterisk]: \"61740\",\n [BlueprintIcons_16.At]: \"62257\",\n [BlueprintIcons_16.AutomaticUpdates]: \"61741\",\n [BlueprintIcons_16.Axle]: \"62264\",\n [BlueprintIcons_16.Backlink]: \"61742\",\n [BlueprintIcons_16.Badge]: \"61743\",\n [BlueprintIcons_16.BanCircle]: \"61744\",\n [BlueprintIcons_16.BankAccount]: \"61745\",\n [BlueprintIcons_16.Barcode]: \"61746\",\n [BlueprintIcons_16.Blank]: \"61747\",\n [BlueprintIcons_16.BlockedPerson]: \"61748\",\n [BlueprintIcons_16.Bold]: \"61749\",\n [BlueprintIcons_16.Book]: \"61750\",\n [BlueprintIcons_16.Bookmark]: \"61751\",\n [BlueprintIcons_16.Box]: \"61752\",\n [BlueprintIcons_16.Briefcase]: \"61753\",\n [BlueprintIcons_16.BringData]: \"61754\",\n [BlueprintIcons_16.Bug]: \"62254\",\n [BlueprintIcons_16.Buggy]: \"61755\",\n [BlueprintIcons_16.Build]: \"61756\",\n [BlueprintIcons_16.Calculator]: \"61757\",\n [BlueprintIcons_16.Calendar]: \"61758\",\n [BlueprintIcons_16.Camera]: \"61759\",\n [BlueprintIcons_16.CaretDown]: \"61760\",\n [BlueprintIcons_16.CaretLeft]: \"61761\",\n [BlueprintIcons_16.CaretRight]: \"61762\",\n [BlueprintIcons_16.CaretUp]: \"61763\",\n [BlueprintIcons_16.CargoShip]: \"61764\",\n [BlueprintIcons_16.CellTower]: \"61765\",\n [BlueprintIcons_16.Changes]: \"61766\",\n [BlueprintIcons_16.Chart]: \"61767\",\n [BlueprintIcons_16.Chat]: \"61768\",\n [BlueprintIcons_16.ChevronBackward]: \"61769\",\n [BlueprintIcons_16.ChevronDown]: \"61770\",\n [BlueprintIcons_16.ChevronForward]: \"61771\",\n [BlueprintIcons_16.ChevronLeft]: \"61772\",\n [BlueprintIcons_16.ChevronRight]: \"61773\",\n [BlueprintIcons_16.ChevronUp]: \"61774\",\n [BlueprintIcons_16.CircleArrowDown]: \"61775\",\n [BlueprintIcons_16.CircleArrowLeft]: \"61776\",\n [BlueprintIcons_16.CircleArrowRight]: \"61777\",\n [BlueprintIcons_16.CircleArrowUp]: \"61778\",\n [BlueprintIcons_16.Circle]: \"61779\",\n [BlueprintIcons_16.Citation]: \"61780\",\n [BlueprintIcons_16.Clean]: \"61781\",\n [BlueprintIcons_16.Clip]: \"61782\",\n [BlueprintIcons_16.Clipboard]: \"61783\",\n [BlueprintIcons_16.CloudDownload]: \"61784\",\n [BlueprintIcons_16.CloudUpload]: \"61785\",\n [BlueprintIcons_16.Cloud]: \"61786\",\n [BlueprintIcons_16.CodeBlock]: \"61787\",\n [BlueprintIcons_16.Code]: \"61788\",\n [BlueprintIcons_16.Cog]: \"61789\",\n [BlueprintIcons_16.CollapseAll]: \"61790\",\n [BlueprintIcons_16.ColorFill]: \"62248\",\n [BlueprintIcons_16.ColumnLayout]: \"61791\",\n [BlueprintIcons_16.Comment]: \"61792\",\n [BlueprintIcons_16.Comparison]: \"61793\",\n [BlueprintIcons_16.Compass]: \"61794\",\n [BlueprintIcons_16.Compressed]: \"61795\",\n [BlueprintIcons_16.Confirm]: \"61796\",\n [BlueprintIcons_16.Console]: \"61797\",\n [BlueprintIcons_16.Contrast]: \"61798\",\n [BlueprintIcons_16.Control]: \"61799\",\n [BlueprintIcons_16.CreditCard]: \"61800\",\n [BlueprintIcons_16.CrossCircle]: \"62262\",\n [BlueprintIcons_16.Cross]: \"61801\",\n [BlueprintIcons_16.Crown]: \"61802\",\n [BlueprintIcons_16.CubeAdd]: \"61803\",\n [BlueprintIcons_16.CubeRemove]: \"61804\",\n [BlueprintIcons_16.Cube]: \"61805\",\n [BlueprintIcons_16.CurvedRangeChart]: \"61806\",\n [BlueprintIcons_16.Cut]: \"61807\",\n [BlueprintIcons_16.Cycle]: \"61808\",\n [BlueprintIcons_16.Dashboard]: \"61809\",\n [BlueprintIcons_16.DataConnection]: \"61810\",\n [BlueprintIcons_16.DataLineage]: \"61811\",\n [BlueprintIcons_16.Database]: \"61812\",\n [BlueprintIcons_16.Delete]: \"61813\",\n [BlueprintIcons_16.Delta]: \"61814\",\n [BlueprintIcons_16.DeriveColumn]: \"61815\",\n [BlueprintIcons_16.Desktop]: \"61816\",\n [BlueprintIcons_16.Detection]: \"62273\",\n [BlueprintIcons_16.Diagnosis]: \"61817\",\n [BlueprintIcons_16.DiagramTree]: \"61818\",\n [BlueprintIcons_16.DirectionLeft]: \"61819\",\n [BlueprintIcons_16.DirectionRight]: \"61820\",\n [BlueprintIcons_16.Disable]: \"61821\",\n [BlueprintIcons_16.Divide]: \"62247\",\n [BlueprintIcons_16.DocumentOpen]: \"61822\",\n [BlueprintIcons_16.DocumentShare]: \"61823\",\n [BlueprintIcons_16.Document]: \"61824\",\n [BlueprintIcons_16.Dollar]: \"61825\",\n [BlueprintIcons_16.Dot]: \"61826\",\n [BlueprintIcons_16.DoubleCaretHorizontal]: \"61827\",\n [BlueprintIcons_16.DoubleCaretVertical]: \"61828\",\n [BlueprintIcons_16.DoubleChevronDown]: \"61829\",\n [BlueprintIcons_16.DoubleChevronLeft]: \"61830\",\n [BlueprintIcons_16.DoubleChevronRight]: \"61831\",\n [BlueprintIcons_16.DoubleChevronUp]: \"61832\",\n [BlueprintIcons_16.DoughnutChart]: \"61833\",\n [BlueprintIcons_16.Download]: \"61834\",\n [BlueprintIcons_16.DragHandleHorizontal]: \"61835\",\n [BlueprintIcons_16.DragHandleVertical]: \"61836\",\n [BlueprintIcons_16.Draw]: \"61837\",\n [BlueprintIcons_16.DrawerLeftFilled]: \"61838\",\n [BlueprintIcons_16.DrawerLeft]: \"61839\",\n [BlueprintIcons_16.DrawerRightFilled]: \"61840\",\n [BlueprintIcons_16.DrawerRight]: \"61841\",\n [BlueprintIcons_16.DriveTime]: \"61842\",\n [BlueprintIcons_16.Duplicate]: \"61843\",\n [BlueprintIcons_16.Edit]: \"61844\",\n [BlueprintIcons_16.Eject]: \"61845\",\n [BlueprintIcons_16.Emoji]: \"61846\",\n [BlueprintIcons_16.Endorsed]: \"61847\",\n [BlueprintIcons_16.Envelope]: \"61848\",\n [BlueprintIcons_16.Equals]: \"61849\",\n [BlueprintIcons_16.Eraser]: \"61850\",\n [BlueprintIcons_16.Error]: \"61851\",\n [BlueprintIcons_16.Euro]: \"61852\",\n [BlueprintIcons_16.Exchange]: \"61853\",\n [BlueprintIcons_16.ExcludeRow]: \"61854\",\n [BlueprintIcons_16.ExpandAll]: \"61855\",\n [BlueprintIcons_16.Export]: \"61856\",\n [BlueprintIcons_16.EyeOff]: \"61857\",\n [BlueprintIcons_16.EyeOn]: \"61858\",\n [BlueprintIcons_16.EyeOpen]: \"61859\",\n [BlueprintIcons_16.FastBackward]: \"61860\",\n [BlueprintIcons_16.FastForward]: \"61861\",\n [BlueprintIcons_16.FeedSubscribed]: \"61862\",\n [BlueprintIcons_16.Feed]: \"61863\",\n [BlueprintIcons_16.Film]: \"61864\",\n [BlueprintIcons_16.FilterKeep]: \"61865\",\n [BlueprintIcons_16.FilterList]: \"61866\",\n [BlueprintIcons_16.FilterOpen]: \"61867\",\n [BlueprintIcons_16.FilterRemove]: \"61868\",\n [BlueprintIcons_16.Filter]: \"61869\",\n [BlueprintIcons_16.Flag]: \"61870\",\n [BlueprintIcons_16.Flame]: \"61871\",\n [BlueprintIcons_16.Flash]: \"61872\",\n [BlueprintIcons_16.FloatingPoint]: \"62252\",\n [BlueprintIcons_16.FloppyDisk]: \"61873\",\n [BlueprintIcons_16.FlowBranch]: \"61874\",\n [BlueprintIcons_16.FlowEnd]: \"61875\",\n [BlueprintIcons_16.FlowLinear]: \"61876\",\n [BlueprintIcons_16.FlowReviewBranch]: \"61877\",\n [BlueprintIcons_16.FlowReview]: \"61878\",\n [BlueprintIcons_16.Flows]: \"61879\",\n [BlueprintIcons_16.FolderClose]: \"61880\",\n [BlueprintIcons_16.FolderNew]: \"61881\",\n [BlueprintIcons_16.FolderOpen]: \"61882\",\n [BlueprintIcons_16.FolderSharedOpen]: \"61883\",\n [BlueprintIcons_16.FolderShared]: \"61884\",\n [BlueprintIcons_16.Follower]: \"61885\",\n [BlueprintIcons_16.Following]: \"61886\",\n [BlueprintIcons_16.Font]: \"61887\",\n [BlueprintIcons_16.Fork]: \"61888\",\n [BlueprintIcons_16.Form]: \"61889\",\n [BlueprintIcons_16.Fuel]: \"62243\",\n [BlueprintIcons_16.FullCircle]: \"61890\",\n [BlueprintIcons_16.FullStackedChart]: \"61891\",\n [BlueprintIcons_16.Fullscreen]: \"61892\",\n [BlueprintIcons_16.Function]: \"61893\",\n [BlueprintIcons_16.GanttChart]: \"61894\",\n [BlueprintIcons_16.Geofence]: \"61895\",\n [BlueprintIcons_16.Geolocation]: \"61896\",\n [BlueprintIcons_16.Geosearch]: \"61897\",\n [BlueprintIcons_16.Geotime]: \"62276\",\n [BlueprintIcons_16.GitBranch]: \"61898\",\n [BlueprintIcons_16.GitCommit]: \"61899\",\n [BlueprintIcons_16.GitMerge]: \"61900\",\n [BlueprintIcons_16.GitNewBranch]: \"61901\",\n [BlueprintIcons_16.GitPull]: \"61902\",\n [BlueprintIcons_16.GitPush]: \"61903\",\n [BlueprintIcons_16.GitRepo]: \"61904\",\n [BlueprintIcons_16.Glass]: \"61905\",\n [BlueprintIcons_16.GlobeNetwork]: \"61906\",\n [BlueprintIcons_16.Globe]: \"61907\",\n [BlueprintIcons_16.GraphRemove]: \"61908\",\n [BlueprintIcons_16.Graph]: \"61909\",\n [BlueprintIcons_16.GreaterThanOrEqualTo]: \"61910\",\n [BlueprintIcons_16.GreaterThan]: \"61911\",\n [BlueprintIcons_16.GridView]: \"61912\",\n [BlueprintIcons_16.Grid]: \"61913\",\n [BlueprintIcons_16.GroupObjects]: \"61914\",\n [BlueprintIcons_16.GroupedBarChart]: \"61915\",\n [BlueprintIcons_16.HandDown]: \"61916\",\n [BlueprintIcons_16.HandLeft]: \"61917\",\n [BlueprintIcons_16.HandRight]: \"61918\",\n [BlueprintIcons_16.HandUp]: \"61919\",\n [BlueprintIcons_16.Hand]: \"61920\",\n [BlueprintIcons_16.Hat]: \"61921\",\n [BlueprintIcons_16.HeaderOne]: \"61922\",\n [BlueprintIcons_16.HeaderThree]: \"61923\",\n [BlueprintIcons_16.HeaderTwo]: \"61924\",\n [BlueprintIcons_16.Header]: \"61925\",\n [BlueprintIcons_16.Headset]: \"61926\",\n [BlueprintIcons_16.HeartBroken]: \"61927\",\n [BlueprintIcons_16.Heart]: \"61928\",\n [BlueprintIcons_16.HeatGrid]: \"61929\",\n [BlueprintIcons_16.Heatmap]: \"61930\",\n [BlueprintIcons_16.Helicopter]: \"61931\",\n [BlueprintIcons_16.Help]: \"61932\",\n [BlueprintIcons_16.HelperManagement]: \"61933\",\n [BlueprintIcons_16.HighPriority]: \"61934\",\n [BlueprintIcons_16.HighVoltagePole]: \"62259\",\n [BlueprintIcons_16.Highlight]: \"61935\",\n [BlueprintIcons_16.History]: \"61936\",\n [BlueprintIcons_16.Home]: \"61937\",\n [BlueprintIcons_16.HorizontalBarChartAsc]: \"61938\",\n [BlueprintIcons_16.HorizontalBarChartDesc]: \"61939\",\n [BlueprintIcons_16.HorizontalBarChart]: \"61940\",\n [BlueprintIcons_16.HorizontalDistribution]: \"61941\",\n [BlueprintIcons_16.HorizontalInbetween]: \"62249\",\n [BlueprintIcons_16.Hurricane]: \"61942\",\n [BlueprintIcons_16.IdNumber]: \"61943\",\n [BlueprintIcons_16.ImageRotateLeft]: \"61944\",\n [BlueprintIcons_16.ImageRotateRight]: \"61945\",\n [BlueprintIcons_16.Import]: \"61946\",\n [BlueprintIcons_16.InboxFiltered]: \"61947\",\n [BlueprintIcons_16.InboxGeo]: \"61948\",\n [BlueprintIcons_16.InboxSearch]: \"61949\",\n [BlueprintIcons_16.InboxUpdate]: \"61950\",\n [BlueprintIcons_16.Inbox]: \"61951\",\n [BlueprintIcons_16.InfoSign]: \"61952\",\n [BlueprintIcons_16.Inheritance]: \"61953\",\n [BlueprintIcons_16.InheritedGroup]: \"61954\",\n [BlueprintIcons_16.InnerJoin]: \"61955\",\n [BlueprintIcons_16.Insert]: \"61956\",\n [BlueprintIcons_16.Intelligence]: \"62263\",\n [BlueprintIcons_16.Intersection]: \"61957\",\n [BlueprintIcons_16.IpAddress]: \"61958\",\n [BlueprintIcons_16.IssueClosed]: \"61959\",\n [BlueprintIcons_16.IssueNew]: \"61960\",\n [BlueprintIcons_16.Issue]: \"61961\",\n [BlueprintIcons_16.Italic]: \"61962\",\n [BlueprintIcons_16.JoinTable]: \"61963\",\n [BlueprintIcons_16.KeyBackspace]: \"61964\",\n [BlueprintIcons_16.KeyCommand]: \"61965\",\n [BlueprintIcons_16.KeyControl]: \"61966\",\n [BlueprintIcons_16.KeyDelete]: \"61967\",\n [BlueprintIcons_16.KeyEnter]: \"61968\",\n [BlueprintIcons_16.KeyEscape]: \"61969\",\n [BlueprintIcons_16.KeyOption]: \"61970\",\n [BlueprintIcons_16.KeyShift]: \"61971\",\n [BlueprintIcons_16.KeyTab]: \"61972\",\n [BlueprintIcons_16.Key]: \"61973\",\n [BlueprintIcons_16.KnownVehicle]: \"61974\",\n [BlueprintIcons_16.LabTest]: \"61975\",\n [BlueprintIcons_16.Label]: \"61976\",\n [BlueprintIcons_16.LayerOutline]: \"61977\",\n [BlueprintIcons_16.Layer]: \"61978\",\n [BlueprintIcons_16.Layers]: \"61979\",\n [BlueprintIcons_16.LayoutAuto]: \"61980\",\n [BlueprintIcons_16.LayoutBalloon]: \"61981\",\n [BlueprintIcons_16.LayoutCircle]: \"61982\",\n [BlueprintIcons_16.LayoutGrid]: \"61983\",\n [BlueprintIcons_16.LayoutGroupBy]: \"61984\",\n [BlueprintIcons_16.LayoutHierarchy]: \"61985\",\n [BlueprintIcons_16.LayoutLinear]: \"61986\",\n [BlueprintIcons_16.LayoutSkewGrid]: \"61987\",\n [BlueprintIcons_16.LayoutSortedClusters]: \"61988\",\n [BlueprintIcons_16.Layout]: \"61989\",\n [BlueprintIcons_16.Learning]: \"61990\",\n [BlueprintIcons_16.LeftJoin]: \"61991\",\n [BlueprintIcons_16.LengthenText]: \"62270\",\n [BlueprintIcons_16.LessThanOrEqualTo]: \"61992\",\n [BlueprintIcons_16.LessThan]: \"61993\",\n [BlueprintIcons_16.Lifesaver]: \"61994\",\n [BlueprintIcons_16.Lightbulb]: \"61995\",\n [BlueprintIcons_16.Lightning]: \"61996\",\n [BlueprintIcons_16.Link]: \"61997\",\n [BlueprintIcons_16.ListColumns]: \"61998\",\n [BlueprintIcons_16.ListDetailView]: \"61999\",\n [BlueprintIcons_16.List]: \"62000\",\n [BlueprintIcons_16.Locate]: \"62001\",\n [BlueprintIcons_16.Lock]: \"62002\",\n [BlueprintIcons_16.Locomotive]: \"62267\",\n [BlueprintIcons_16.LogIn]: \"62003\",\n [BlueprintIcons_16.LogOut]: \"62004\",\n [BlueprintIcons_16.LowVoltagePole]: \"62258\",\n [BlueprintIcons_16.Manual]: \"62005\",\n [BlueprintIcons_16.ManuallyEnteredData]: \"62006\",\n [BlueprintIcons_16.ManyToMany]: \"62007\",\n [BlueprintIcons_16.ManyToOne]: \"62008\",\n [BlueprintIcons_16.MapCreate]: \"62009\",\n [BlueprintIcons_16.MapMarker]: \"62010\",\n [BlueprintIcons_16.Map]: \"62011\",\n [BlueprintIcons_16.Maximize]: \"62012\",\n [BlueprintIcons_16.Media]: \"62013\",\n [BlueprintIcons_16.MenuClosed]: \"62014\",\n [BlueprintIcons_16.MenuOpen]: \"62015\",\n [BlueprintIcons_16.Menu]: \"62016\",\n [BlueprintIcons_16.MergeColumns]: \"62017\",\n [BlueprintIcons_16.MergeLinks]: \"62018\",\n [BlueprintIcons_16.Microphone]: \"62275\",\n [BlueprintIcons_16.Minimize]: \"62019\",\n [BlueprintIcons_16.Minus]: \"62020\",\n [BlueprintIcons_16.MobilePhone]: \"62021\",\n [BlueprintIcons_16.MobileVideo]: \"62022\",\n [BlueprintIcons_16.ModalFilled]: \"62023\",\n [BlueprintIcons_16.Modal]: \"62024\",\n [BlueprintIcons_16.Model]: \"62269\",\n [BlueprintIcons_16.Moon]: \"62025\",\n [BlueprintIcons_16.More]: \"62026\",\n [BlueprintIcons_16.Mountain]: \"62027\",\n [BlueprintIcons_16.Move]: \"62028\",\n [BlueprintIcons_16.Mugshot]: \"62029\",\n [BlueprintIcons_16.MultiSelect]: \"62030\",\n [BlueprintIcons_16.Music]: \"62031\",\n [BlueprintIcons_16.Nest]: \"62032\",\n [BlueprintIcons_16.NewDrawing]: \"62033\",\n [BlueprintIcons_16.NewGridItem]: \"62034\",\n [BlueprintIcons_16.NewLayer]: \"62035\",\n [BlueprintIcons_16.NewLayers]: \"62036\",\n [BlueprintIcons_16.NewLink]: \"62037\",\n [BlueprintIcons_16.NewObject]: \"62038\",\n [BlueprintIcons_16.NewPerson]: \"62039\",\n [BlueprintIcons_16.NewPrescription]: \"62040\",\n [BlueprintIcons_16.NewShield]: \"62281\",\n [BlueprintIcons_16.NewTextBox]: \"62041\",\n [BlueprintIcons_16.Ninja]: \"62042\",\n [BlueprintIcons_16.NotEqualTo]: \"62043\",\n [BlueprintIcons_16.NotificationsSnooze]: \"62044\",\n [BlueprintIcons_16.NotificationsUpdated]: \"62045\",\n [BlueprintIcons_16.Notifications]: \"62046\",\n [BlueprintIcons_16.NumberedList]: \"62047\",\n [BlueprintIcons_16.Numerical]: \"62048\",\n [BlueprintIcons_16.Office]: \"62049\",\n [BlueprintIcons_16.Offline]: \"62050\",\n [BlueprintIcons_16.OilField]: \"62051\",\n [BlueprintIcons_16.OneColumn]: \"62052\",\n [BlueprintIcons_16.OneToMany]: \"62053\",\n [BlueprintIcons_16.OneToOne]: \"62054\",\n [BlueprintIcons_16.OpenApplication]: \"62251\",\n [BlueprintIcons_16.Outdated]: \"62055\",\n [BlueprintIcons_16.PageLayout]: \"62056\",\n [BlueprintIcons_16.PanelStats]: \"62057\",\n [BlueprintIcons_16.PanelTable]: \"62058\",\n [BlueprintIcons_16.Paperclip]: \"62059\",\n [BlueprintIcons_16.Paragraph]: \"62060\",\n [BlueprintIcons_16.PasteVariable]: \"62278\",\n [BlueprintIcons_16.PathSearch]: \"62061\",\n [BlueprintIcons_16.Path]: \"62062\",\n [BlueprintIcons_16.Pause]: \"62063\",\n [BlueprintIcons_16.People]: \"62064\",\n [BlueprintIcons_16.Percentage]: \"62065\",\n [BlueprintIcons_16.Person]: \"62066\",\n [BlueprintIcons_16.PhoneCall]: \"62279\",\n [BlueprintIcons_16.PhoneForward]: \"62280\",\n [BlueprintIcons_16.Phone]: \"62067\",\n [BlueprintIcons_16.PieChart]: \"62068\",\n [BlueprintIcons_16.Pin]: \"62069\",\n [BlueprintIcons_16.PivotTable]: \"62070\",\n [BlueprintIcons_16.Pivot]: \"62071\",\n [BlueprintIcons_16.Play]: \"62072\",\n [BlueprintIcons_16.Playbook]: \"62244\",\n [BlueprintIcons_16.Plus]: \"62073\",\n [BlueprintIcons_16.PolygonFilter]: \"62074\",\n [BlueprintIcons_16.Power]: \"62075\",\n [BlueprintIcons_16.PredictiveAnalysis]: \"62076\",\n [BlueprintIcons_16.Prescription]: \"62077\",\n [BlueprintIcons_16.Presentation]: \"62078\",\n [BlueprintIcons_16.Print]: \"62079\",\n [BlueprintIcons_16.Projects]: \"62080\",\n [BlueprintIcons_16.Properties]: \"62081\",\n [BlueprintIcons_16.Property]: \"62082\",\n [BlueprintIcons_16.PublishFunction]: \"62083\",\n [BlueprintIcons_16.Pulse]: \"62084\",\n [BlueprintIcons_16.Rain]: \"62085\",\n [BlueprintIcons_16.Random]: \"62086\",\n [BlueprintIcons_16.Record]: \"62087\",\n [BlueprintIcons_16.RectHeight]: \"62245\",\n [BlueprintIcons_16.RectWidth]: \"62246\",\n [BlueprintIcons_16.Rectangle]: \"62241\",\n [BlueprintIcons_16.Redo]: \"62088\",\n [BlueprintIcons_16.Refresh]: \"62089\",\n [BlueprintIcons_16.Regex]: \"62255\",\n [BlueprintIcons_16.RegressionChart]: \"62090\",\n [BlueprintIcons_16.RemoveColumnLeft]: \"62091\",\n [BlueprintIcons_16.RemoveColumnRight]: \"62092\",\n [BlueprintIcons_16.RemoveColumn]: \"62093\",\n [BlueprintIcons_16.RemoveRowBottom]: \"62094\",\n [BlueprintIcons_16.RemoveRowTop]: \"62095\",\n [BlueprintIcons_16.Remove]: \"62096\",\n [BlueprintIcons_16.Repeat]: \"62097\",\n [BlueprintIcons_16.Reset]: \"62098\",\n [BlueprintIcons_16.Resolve]: \"62099\",\n [BlueprintIcons_16.Rig]: \"62100\",\n [BlueprintIcons_16.RightJoin]: \"62101\",\n [BlueprintIcons_16.Ring]: \"62102\",\n [BlueprintIcons_16.RocketSlant]: \"62103\",\n [BlueprintIcons_16.Rocket]: \"62104\",\n [BlueprintIcons_16.RotateDocument]: \"62105\",\n [BlueprintIcons_16.RotatePage]: \"62106\",\n [BlueprintIcons_16.Route]: \"62107\",\n [BlueprintIcons_16.Satellite]: \"62108\",\n [BlueprintIcons_16.Saved]: \"62109\",\n [BlueprintIcons_16.ScatterPlot]: \"62110\",\n [BlueprintIcons_16.SearchAround]: \"62111\",\n [BlueprintIcons_16.SearchTemplate]: \"62112\",\n [BlueprintIcons_16.SearchText]: \"62113\",\n [BlueprintIcons_16.Search]: \"62114\",\n [BlueprintIcons_16.SegmentedControl]: \"62115\",\n [BlueprintIcons_16.Select]: \"62116\",\n [BlueprintIcons_16.Selection]: \"62117\",\n [BlueprintIcons_16.SendMessage]: \"62118\",\n [BlueprintIcons_16.SendToGraph]: \"62119\",\n [BlueprintIcons_16.SendToMap]: \"62120\",\n [BlueprintIcons_16.SendTo]: \"62121\",\n [BlueprintIcons_16.Sensor]: \"62268\",\n [BlueprintIcons_16.SeriesAdd]: \"62122\",\n [BlueprintIcons_16.SeriesConfiguration]: \"62123\",\n [BlueprintIcons_16.SeriesDerived]: \"62124\",\n [BlueprintIcons_16.SeriesFiltered]: \"62125\",\n [BlueprintIcons_16.SeriesSearch]: \"62126\",\n [BlueprintIcons_16.Settings]: \"62127\",\n [BlueprintIcons_16.Shapes]: \"62128\",\n [BlueprintIcons_16.Share]: \"62129\",\n [BlueprintIcons_16.SharedFilter]: \"62130\",\n [BlueprintIcons_16.Shield]: \"62131\",\n [BlueprintIcons_16.Ship]: \"62132\",\n [BlueprintIcons_16.Shop]: \"62133\",\n [BlueprintIcons_16.ShoppingCart]: \"62134\",\n [BlueprintIcons_16.ShortenText]: \"62271\",\n [BlueprintIcons_16.SignalSearch]: \"62135\",\n [BlueprintIcons_16.SimCard]: \"62136\",\n [BlueprintIcons_16.Slash]: \"62137\",\n [BlueprintIcons_16.SmallCross]: \"62138\",\n [BlueprintIcons_16.SmallInfoSign]: \"62260\",\n [BlueprintIcons_16.SmallMinus]: \"62139\",\n [BlueprintIcons_16.SmallPlus]: \"62140\",\n [BlueprintIcons_16.SmallSquare]: \"62141\",\n [BlueprintIcons_16.SmallTick]: \"62142\",\n [BlueprintIcons_16.Snowflake]: \"62143\",\n [BlueprintIcons_16.SocialMedia]: \"62144\",\n [BlueprintIcons_16.SortAlphabeticalDesc]: \"62145\",\n [BlueprintIcons_16.SortAlphabetical]: \"62146\",\n [BlueprintIcons_16.SortAsc]: \"62147\",\n [BlueprintIcons_16.SortDesc]: \"62148\",\n [BlueprintIcons_16.SortNumericalDesc]: \"62149\",\n [BlueprintIcons_16.SortNumerical]: \"62150\",\n [BlueprintIcons_16.Sort]: \"62151\",\n [BlueprintIcons_16.SpellCheck]: \"62272\",\n [BlueprintIcons_16.SplitColumns]: \"62152\",\n [BlueprintIcons_16.Square]: \"62153\",\n [BlueprintIcons_16.StackedChart]: \"62154\",\n [BlueprintIcons_16.StadiumGeometry]: \"62155\",\n [BlueprintIcons_16.StarEmpty]: \"62156\",\n [BlueprintIcons_16.Star]: \"62157\",\n [BlueprintIcons_16.StepBackward]: \"62158\",\n [BlueprintIcons_16.StepChart]: \"62159\",\n [BlueprintIcons_16.StepForward]: \"62160\",\n [BlueprintIcons_16.Stop]: \"62161\",\n [BlueprintIcons_16.Stopwatch]: \"62162\",\n [BlueprintIcons_16.Strikethrough]: \"62163\",\n [BlueprintIcons_16.Style]: \"62164\",\n [BlueprintIcons_16.Subscript]: \"62265\",\n [BlueprintIcons_16.Superscript]: \"62266\",\n [BlueprintIcons_16.SwapHorizontal]: \"62165\",\n [BlueprintIcons_16.SwapVertical]: \"62166\",\n [BlueprintIcons_16.Switch]: \"62167\",\n [BlueprintIcons_16.SymbolCircle]: \"62168\",\n [BlueprintIcons_16.SymbolCross]: \"62169\",\n [BlueprintIcons_16.SymbolDiamond]: \"62170\",\n [BlueprintIcons_16.SymbolRectangle]: \"62242\",\n [BlueprintIcons_16.SymbolSquare]: \"62171\",\n [BlueprintIcons_16.SymbolTriangleDown]: \"62172\",\n [BlueprintIcons_16.SymbolTriangleUp]: \"62173\",\n [BlueprintIcons_16.Syringe]: \"62174\",\n [BlueprintIcons_16.Tag]: \"62175\",\n [BlueprintIcons_16.TakeAction]: \"62176\",\n [BlueprintIcons_16.Tank]: \"62177\",\n [BlueprintIcons_16.Target]: \"62178\",\n [BlueprintIcons_16.Taxi]: \"62179\",\n [BlueprintIcons_16.Temperature]: \"62180\",\n [BlueprintIcons_16.TextHighlight]: \"62181\",\n [BlueprintIcons_16.ThDerived]: \"62182\",\n [BlueprintIcons_16.ThDisconnect]: \"62183\",\n [BlueprintIcons_16.ThFiltered]: \"62184\",\n [BlueprintIcons_16.ThList]: \"62185\",\n [BlueprintIcons_16.Th]: \"62186\",\n [BlueprintIcons_16.ThirdParty]: \"62187\",\n [BlueprintIcons_16.ThumbsDown]: \"62188\",\n [BlueprintIcons_16.ThumbsUp]: \"62189\",\n [BlueprintIcons_16.TickCircle]: \"62190\",\n [BlueprintIcons_16.Tick]: \"62191\",\n [BlueprintIcons_16.Time]: \"62192\",\n [BlueprintIcons_16.TimelineAreaChart]: \"62193\",\n [BlueprintIcons_16.TimelineBarChart]: \"62194\",\n [BlueprintIcons_16.TimelineEvents]: \"62195\",\n [BlueprintIcons_16.TimelineLineChart]: \"62196\",\n [BlueprintIcons_16.Tint]: \"62197\",\n [BlueprintIcons_16.Torch]: \"62198\",\n [BlueprintIcons_16.Tractor]: \"62199\",\n [BlueprintIcons_16.Train]: \"62200\",\n [BlueprintIcons_16.Translate]: \"62201\",\n [BlueprintIcons_16.Trash]: \"62202\",\n [BlueprintIcons_16.Tree]: \"62203\",\n [BlueprintIcons_16.TrendingDown]: \"62204\",\n [BlueprintIcons_16.TrendingUp]: \"62205\",\n [BlueprintIcons_16.Truck]: \"62206\",\n [BlueprintIcons_16.TwoColumns]: \"62207\",\n [BlueprintIcons_16.Unarchive]: \"62208\",\n [BlueprintIcons_16.Underline]: \"62209\",\n [BlueprintIcons_16.Undo]: \"62210\",\n [BlueprintIcons_16.UngroupObjects]: \"62211\",\n [BlueprintIcons_16.UnknownVehicle]: \"62212\",\n [BlueprintIcons_16.Unlink]: \"62277\",\n [BlueprintIcons_16.Unlock]: \"62213\",\n [BlueprintIcons_16.Unpin]: \"62214\",\n [BlueprintIcons_16.Unresolve]: \"62215\",\n [BlueprintIcons_16.Updated]: \"62216\",\n [BlueprintIcons_16.Upload]: \"62217\",\n [BlueprintIcons_16.User]: \"62218\",\n [BlueprintIcons_16.Variable]: \"62219\",\n [BlueprintIcons_16.VerticalBarChartAsc]: \"62220\",\n [BlueprintIcons_16.VerticalBarChartDesc]: \"62221\",\n [BlueprintIcons_16.VerticalDistribution]: \"62222\",\n [BlueprintIcons_16.VerticalInbetween]: \"62250\",\n [BlueprintIcons_16.Video]: \"62223\",\n [BlueprintIcons_16.Virus]: \"62224\",\n [BlueprintIcons_16.VolumeDown]: \"62225\",\n [BlueprintIcons_16.VolumeOff]: \"62226\",\n [BlueprintIcons_16.VolumeUp]: \"62227\",\n [BlueprintIcons_16.Walk]: \"62228\",\n [BlueprintIcons_16.WarningSign]: \"62229\",\n [BlueprintIcons_16.WaterfallChart]: \"62230\",\n [BlueprintIcons_16.Waves]: \"62231\",\n [BlueprintIcons_16.WidgetButton]: \"62232\",\n [BlueprintIcons_16.WidgetFooter]: \"62233\",\n [BlueprintIcons_16.WidgetHeader]: \"62234\",\n [BlueprintIcons_16.Widget]: \"62235\",\n [BlueprintIcons_16.Wind]: \"62236\",\n [BlueprintIcons_16.Wrench]: \"62237\",\n [BlueprintIcons_16.ZoomIn]: \"62238\",\n [BlueprintIcons_16.ZoomOut]: \"62239\",\n [BlueprintIcons_16.ZoomToFit]: \"62240\",\n};\n","import { dotCase, Options } from \"dot-case\";\n\nexport { Options };\n\nexport function snakeCase(input: string, options: Options = {}) {\n return dotCase(input, {\n delimiter: \"_\",\n ...options,\n });\n}\n","import { noCase, Options } from \"no-case\";\n\nexport { Options };\n\nexport function dotCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \".\",\n ...options,\n });\n}\n","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* eslint-disable camelcase */\n\nimport { pascalCase, snakeCase } from \"change-case\";\n\n// The two icon sets are identical aside from SVG paths, so we only need to import info for the 16px set\nimport { BlueprintIcons_16, type BlueprintIcons_16Id as IconName } from \"./generated/16px/blueprint-icons-16\";\nimport type { PascalCase, ScreamingSnakeCase } from \"./type-utils\";\n\nexport type { IconName };\n\nconst IconNamesNew = {} as Record<PascalCase<IconName>, IconName>;\nconst IconNamesLegacy = {} as Record<ScreamingSnakeCase<IconName>, IconName>;\n\nfor (const name of Object.values(BlueprintIcons_16) as IconName[]) {\n IconNamesNew[pascalCase(name) as PascalCase<IconName>] = name;\n IconNamesLegacy[snakeCase(name).toUpperCase() as ScreamingSnakeCase<IconName>] = name;\n}\n\nexport const IconNames = {\n ...IconNamesNew,\n ...IconNamesLegacy,\n};\n\nexport const IconNamesSet = new Set(Object.values(IconNames));\n","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// injected by webpack.DefinePlugin\ndeclare let NODE_ENV: string;\n\n/** Returns whether bundler-injected variable `NODE_ENV` equals `env`. */\nfunction isNodeEnv(env: string) {\n return typeof NODE_ENV !== \"undefined\" && NODE_ENV === env;\n}\n\n/**\n * Wraps an async task with a performance timer. Only logs to console in development.\n */\nexport async function wrapWithTimer(taskDescription: string, task: () => Promise<void>) {\n const shouldMeasure = isNodeEnv(\"development\") && typeof performance !== \"undefined\";\n let start: number;\n\n /* eslint-disable no-console */\n if (shouldMeasure) {\n start = performance.now();\n console.info(`Started '${taskDescription}'...`);\n }\n\n await task();\n\n if (shouldMeasure) {\n const time = Math.round(performance.now() - start!);\n console.info(`Finished '${taskDescription}' in ${time}ms`);\n }\n return;\n /* eslint-enable no-console */\n}\n","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { type IconName, IconNames, IconNamesSet } from \"./iconNames\";\nimport { type IconPaths, IconSize } from \"./iconTypes\";\nimport { wrapWithTimer } from \"./loaderUtils\";\n\n/** Given an icon name and size, loads the icon paths that define it. */\nexport type IconPathsLoader = (iconName: IconName, iconSize: IconSize) => Promise<IconPaths>;\n\nexport interface IconLoaderOptions {\n /**\n * The id of a built-in loader, or a custom loader function.\n *\n * @see https://blueprintjs.com/docs/versions/5/#icons/loading-icons\n * @default undefined (equivalent to \"split-by-size\")\n */\n loader?: \"split-by-size\" | \"all\" | IconPathsLoader;\n}\n\nasync function getLoaderFn(options: IconLoaderOptions): Promise<IconPathsLoader> {\n const { loader = singleton.defaultLoader } = options;\n\n if (typeof loader === \"function\") {\n return loader;\n } else if (loader === \"all\") {\n return (\n await import(\n /* webpackChunkName: \"blueprint-icons-all-paths-loader\" */\n \"./paths-loaders/allPathsLoader\"\n )\n ).allPathsLoader;\n } else {\n return (\n await import(\n /* webpackChunkName: \"blueprint-icons-split-paths-by-size-loader\" */\n \"./paths-loaders/splitPathsBySizeLoader\"\n )\n ).splitPathsBySizeLoader;\n }\n}\n\n/**\n * Blueprint icons loader.\n */\nexport class Icons {\n /** @internal */\n public defaultLoader: IconLoaderOptions[\"loader\"] = \"split-by-size\";\n\n /** @internal */\n public loadedIconPaths16: Map<IconName, IconPaths> = new Map();\n\n /** @internal */\n public loadedIconPaths20: Map<IconName, IconPaths> = new Map();\n\n /**\n * Set global icon loading options for all subsequent `Icons.load()` calls.\n */\n public static setLoaderOptions(options: IconLoaderOptions) {\n if (options.loader !== undefined) {\n singleton.defaultLoader = options.loader;\n }\n }\n\n /**\n * Load a single icon for use in Blueprint components.\n */\n public static async load(icon: IconName, size: IconSize, options?: IconLoaderOptions): Promise<void>;\n /**\n * Load a set of icons for use in Blueprint components.\n */\n // buggy rule implementation for TS\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n public static async load(icons: IconName[], size: number, options?: IconLoaderOptions): Promise<void>;\n public static async load(icons: IconName | IconName[], size: number, options?: IconLoaderOptions) {\n if (!Array.isArray(icons)) {\n icons = [icons];\n }\n\n await Promise.all(icons.map(icon => this.loadImpl(icon, size, options)));\n return;\n }\n\n /**\n * Load all available icons for use in Blueprint components.\n */\n public static async loadAll(options?: IconLoaderOptions) {\n const allIcons = Object.values(IconNames);\n wrapWithTimer(`[Blueprint] loading all icons`, async () => {\n await Promise.all([\n this.load(allIcons, IconSize.STANDARD, options),\n this.load(allIcons, IconSize.LARGE, options),\n ]);\n });\n }\n\n /**\n * Get the icon SVG paths. Returns `undefined` if the icon has not been loaded yet.\n */\n public static getPaths(icon: IconName, size: IconSize): IconPaths | undefined {\n if (!this.isValidIconName(icon)) {\n // don't warn, since this.load() will have warned already\n return undefined;\n }\n\n const loadedIcons = size < IconSize.LARGE ? singleton.loadedIconPaths16 : singleton.loadedIconPaths20;\n return loadedIcons.get(icon);\n }\n\n private static async loadImpl(icon: IconName, size: number, options: IconLoaderOptions = {}) {\n if (!this.isValidIconName(icon)) {\n console.error(`[Blueprint] Unknown icon '${icon}'`);\n return;\n }\n\n const loadedIcons = size < IconSize.LARGE ? singleton.loadedIconPaths16 : singleton.loadedIconPaths20;\n\n if (loadedIcons.has(icon)) {\n // already loaded, no-op\n return;\n }\n\n const loaderFn = await getLoaderFn(options);\n\n try {\n const supportedSize = size < IconSize.LARGE ? IconSize.STANDARD : IconSize.LARGE;\n const paths = await loaderFn(icon, supportedSize);\n loadedIcons.set(icon, paths);\n } catch (e) {\n console.error(`[Blueprint] Unable to load ${size}px icon '${icon}'`, e);\n }\n }\n\n /**\n * @returns true if the given string is a valid {@link IconName}\n */\n public static isValidIconName(iconName: string): iconName is IconName {\n return IconNamesSet.has(iconName as IconName);\n }\n}\n\nconst singleton = new Icons();\n","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classNames from \"classnames\";\nimport * as React from \"react\";\n\nimport {\n type DefaultSVGIconProps,\n type IconName,\n type IconPaths,\n Icons,\n IconSize,\n SVGIconContainer,\n type SVGIconProps,\n} from \"@blueprintjs/icons\";\n\nimport {\n Classes,\n DISPLAYNAME_PREFIX,\n type IntentProps,\n type MaybeElement,\n type Props,\n removeNonHTMLProps,\n} from \"../../common\";\n\n// re-export for convenience, since some users won't be importing from or have a direct dependency on the icons package\nexport { type IconName, IconSize };\n\nexport interface IconOwnProps {\n /**\n * Whether the component should automatically load icon contents using an async import.\n *\n * @default true\n */\n autoLoad?: boolean;\n\n /**\n * Name of a Blueprint UI icon, or an icon element, to render. This prop is\n * required because it determines the content of the component, but it can\n * be explicitly set to falsy values to render nothing.\n *\n * - If `null` or `undefined` or `false`, this component will render nothing.\n * - If given an `IconName` (a string literal union of all icon names), that\n * icon will be rendered as an `<svg>` with `<path>` tags. Unknown strings\n * will render a blank icon to occupy space.\n * - If given a `JSX.Element`, that element will be rendered and _all other\n * props on this component are ignored._ This type is supported to\n * simplify icon support in other Blueprint components. As a consumer, you\n * should avoid using `<Icon icon={<Element />}` directly; simply render\n * `<Element />` instead.\n */\n icon: IconName | MaybeElement;\n\n /**\n * Alias for `size` prop. Kept around for backwards-compatibility with Blueprint v4.x,\n * will be removed in v6.0.\n *\n * @deprecated use `size` prop instead\n */\n iconSize?: number;\n\n /** Props to apply to the `SVG` element */\n svgProps?: React.HTMLAttributes<SVGElement>;\n}\n\n// N.B. the following inteface is defined as a type alias instead of an interface due to a TypeScript limitation\n// where interfaces cannot extend conditionally-defined union types.\n/**\n * Generic interface for the `<Icon>` component which may be parameterized by its root element type.\n *\n * @see https://blueprintjs.com/docs/#core/components/icon.dom-attributes\n */\nexport type IconProps<T extends Element = Element> = IntentProps & Props & SVGIconProps<T> & IconOwnProps;\n\n/**\n * The default `<Icon>` props interface, equivalent to `IconProps` with its default type parameter.\n * This is primarly exported for documentation purposes; users should reference `IconProps<T>` instead.\n */\nexport interface DefaultIconProps extends IntentProps, Props, DefaultSVGIconProps, IconOwnProps {\n // empty interface for documentation purposes (documentalist handles this better than the IconProps<T> type alias)\n}\n\n/**\n * Generic icon component type. This is essentially a type hack required to make forwardRef work with generic\n * components. Note that this slows down TypeScript compilation, but it better than the alternative of globally\n * augmenting \"@types/react\".\n *\n * @see https://stackoverflow.com/a/73795494/7406866\n */\nexport interface IconComponent extends React.FC<IconProps<Element>> {\n <T extends Element = Element>(props: IconProps<T>): React.ReactElement | null;\n}\n\n/**\n * Icon component.\n *\n * @see https://blueprintjs.com/docs/#core/components/icon\n */\n// eslint-disable-next-line prefer-arrow-callback\nexport const Icon: IconComponent = React.forwardRef(function <T extends Element>(\n props: IconProps<T>,\n ref: React.Ref<T>,\n) {\n const { autoLoad, className, color, icon, intent, tagName, svgProps, title, htmlTitle, ...htmlProps } = props;\n\n // Preserve Blueprint v4.x behavior: iconSize prop takes predecence, then size prop, then fall back to default value\n // eslint-disable-next-line deprecation/deprecation\n const size = props.iconSize ?? props.size ?? IconSize.STANDARD;\n\n const [iconPaths, setIconPaths] = React.useState<IconPaths | undefined>(() =>\n typeof icon === \"string\" ? Icons.getPaths(icon, size) : undefined,\n );\n\n React.useEffect(() => {\n let shouldCancelIconLoading = false;\n if (typeof icon === \"string\") {\n // The icon may have been loaded already, in which case we can simply grab it.\n // N.B. when `autoLoad={true}`, we can't rely on simply calling Icons.load() here to re-load an icon module\n // which has already been loaded & cached, since it may have been loaded with special loading options which\n // this component knows nothing about.\n const loadedIconPaths = Icons.getPaths(icon, size);\n\n if (loadedIconPaths !== undefined) {\n setIconPaths(loadedIconPaths);\n } else if (autoLoad) {\n Icons.load(icon, size)\n .then(() => {\n // if this effect expired by the time icon loaded, then don't set state\n if (!shouldCancelIconLoading) {\n setIconPaths(Icons.getPaths(icon, size));\n }\n })\n .catch(reason => {\n console.error(`[Blueprint] Icon '${icon}' (${size}px) could not be loaded.`, reason);\n });\n } else {\n console.error(\n `[Blueprint] Icon '${icon}' (${size}px) is not loaded yet and autoLoad={false}, did you call Icons.load('${icon}', ${size})?`,\n );\n }\n }\n return () => {\n shouldCancelIconLoading = true;\n };\n }, [autoLoad, icon, size]);\n\n if (icon == null || typeof icon === \"boolean\") {\n return null;\n } else if (typeof icon !== \"string\") {\n return icon;\n }\n\n if (iconPaths == null) {\n // fall back to icon font if unloaded or unable to load SVG implementation\n const sizeClass =\n size === IconSize.STANDARD\n ? Classes.ICON_STANDARD\n : size === IconSize.LARGE\n ? Classes.ICON_LARGE\n : undefined;\n return React.createElement(tagName!, {\n ...removeNonHTMLProps(htmlProps),\n \"aria-hidden\": title ? undefined : true,\n className: classNames(\n Classes.ICON,\n sizeClass,\n Classes.iconClass(icon),\n Classes.intentClass(intent),\n className,\n ),\n \"data-icon\": icon,\n ref,\n title: htmlTitle,\n });\n } else {\n const pathElements = iconPaths.map((d, i) => <path d={d} key={i} fillRule=\"evenodd\" />);\n // HACKHACK: there is no good way to narrow the type of SVGIconContainerProps here because of the use\n // of a conditional type within the type union that defines that interface. So we cast to <any>.\n // see https://github.com/microsoft/TypeScript/issues/24929, https://github.com/microsoft/TypeScript/issues/33014\n return (\n <SVGIconContainer<any>\n children={pathElements}\n // don't forward Classes.iconClass(icon) here, since the container will render that class\n className={classNames(Classes.intentClass(intent), className)}\n color={color}\n htmlTitle={htmlTitle}\n iconName={icon}\n ref={ref}\n size={size}\n svgProps={svgProps}\n tagName={tagName}\n title={title}\n {...removeNonHTMLProps(htmlProps)}\n />\n );\n }\n});\nIcon.defaultProps = {\n autoLoad: true,\n tagName: \"span\",\n};\nIcon.displayName = `${DISPLAYNAME_PREFIX}.Icon`;\n","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type * as React from \"react\";\n\nexport function isRefObject<T>(value: React.Ref<T> | undefined): value is React.RefObject<T> {\n return value != null && typeof value !== \"function\";\n}\n\nexport function isRefCallback<T>(value: React.Ref<T> | undefined): value is React.RefCallback<T> {\n return typeof value === \"function\";\n}\n\n/**\n * Assign the given ref to a target, either a React ref object or a callback which takes the ref as its first argument.\n */\nexport function setRef<T>(refTarget: React.Ref<T> | undefined, ref: T | null): void {\n if (isRefObject<T>(refTarget)) {\n // HACKHACK: .current property is readonly\n (refTarget.current as T | null) = ref;\n } else if (isRefCallback(refTarget)) {\n refTarget(ref);\n }\n}\n\n/**\n * Utility for merging refs into one singular callback ref.\n * If using in a functional component, would recomend using `useMemo` to preserve function identity.\n */\nexport function mergeRefs<T>(...refs: Array<React.Ref<T>>): React.RefCallback<T> {\n return value => {\n refs.forEach(ref => {\n setRef(ref, value);\n });\n };\n}\n\nexport function getRef<T>(ref: T | React.RefObject<T> | null): T | null {\n if (ref === null) {\n return null;\n }\n\n return (ref as React.RefObject<T>).current ?? (ref as T);\n}\n\n/**\n * Creates a ref handler which assigns the ref returned by React for a mounted component to a field on the target object.\n * The target object is usually a component class.\n *\n * If provided, it will also update the given `refProp` with the value of the ref.\n */\nexport function refHandler<T extends HTMLElement, K extends string>(\n refTargetParent: { [k in K]: T | null },\n refTargetKey: K,\n refProp?: React.Ref<T> | undefined,\n): React.RefCallback<T> {\n return (ref: T | null) => {\n refTargetParent[refTargetKey] = ref;\n setRef(refProp, ref);\n };\n}\n","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classNames from \"classnames\";\nimport * as React from \"react\";\n\nimport { Classes, mergeRefs } from \"../../common\";\nimport { DISPLAYNAME_PREFIX, type Props } from \"../../common/props\";\n\nexport interface TextProps\n extends Props,\n React.RefAttributes<HTMLElement>,\n Omit<React.HTMLAttributes<HTMLElement>, \"title\"> {\n children?: React.ReactNode;\n\n /**\n * Indicates that this component should be truncated with an ellipsis if it overflows its container.\n * The `title` attribute will also be added when content overflows to show the full text of the children on hover.\n *\n * @default false\n */\n ellipsize?: boolean;\n\n /**\n * HTML tag name to use for rendered element.\n *\n * @default \"div\"\n */\n tagName?: keyof JSX.IntrinsicElements;\n\n /**\n * HTML title of the element\n */\n title?: string;\n}\n\n/**\n * Text component.\n *\n * @see https://blueprintjs.com/docs/#core/components/text\n */\nexport const Text: React.FC<TextProps> = React.forwardRef<HTMLElement, TextProps>(\n ({ children, tagName = \"div\", title, className, ellipsize, ...htmlProps }, forwardedRef) => {\n const contentMeasuringRef = React.useRef<HTMLElement>();\n const textRef = React.useMemo(() => mergeRefs(contentMeasuringRef, forwardedRef), [forwardedRef]);\n const [textContent, setTextContent] = React.useState<string>(\"\");\n const [isContentOverflowing, setIsContentOverflowing] = React.useState<boolean>();\n\n // try to be conservative about running this effect, since querying scrollWidth causes the browser to reflow / recalculate styles,\n // which can be very expensive for long lists (for example, in long Menus)\n React.useLayoutEffect(() => {\n if (contentMeasuringRef.current?.textContent != null) {\n setIsContentOverflowing(\n ellipsize! && contentMeasuringRef.current.scrollWidth > contentMeasuringRef.current.clientWidth,\n );\n setTextContent(contentMeasuringRef.current.textContent);\n }\n }, [contentMeasuringRef, children, ellipsize]);\n\n return React.createElement(\n tagName,\n {\n ...htmlProps,\n className: classNames(\n {\n [Classes.TEXT_OVERFLOW_ELLIPSIS]: ellipsize,\n },\n className,\n ),\n ref: textRef,\n title: title ?? (isContentOverflowing ? textContent : undefined),\n },\n children,\n );\n },\n);\nText.defaultProps = {\n ellipsize: false,\n};\nText.displayName = `${DISPLAYNAME_PREFIX}.Text`;\n","/*\n * Copyright 2016 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classNames from \"classnames\";\nimport * as React from \"react\";\n\nimport { type IconName, IconSize, SmallCross } from \"@blueprintjs/icons\";\n\nimport { Classes, DISPLAYNAME_PREFIX, type IntentProps, type MaybeElement, type Props, Utils } from \"../../common\";\nimport { isReactNodeEmpty } from \"../../common/utils\";\nimport { Icon } from \"../icon/icon\";\nimport { Text } from \"../text/text\";\n\nexport interface TagProps\n extends Props,\n IntentProps,\n React.RefAttributes<HTMLSpanElement>,\n React.HTMLAttributes<HTMLSpanElement> {\n /**\n * Whether the tag should appear in an active state.\n *\n * @default false\n */\n active?: boolean;\n\n children?: React.ReactNode;\n\n /**\n * Whether the tag should take up the full width of its container.\n *\n * @default false\n */\n fill?: boolean;\n\n /** Name of a Blueprint UI icon (or an icon element) to render before the children. */\n icon?: IconName | MaybeElement;\n\n /**\n * Whether the tag should visually respond to user interactions. If set\n * to `true`, hovering over the tag will change its color and mouse cursor.\n *\n * Recommended when `onClick` is also defined.\n *\n * @default false\n */\n interactive?: boolean;\n\n /**\n * Whether this tag should use large styles.\n *\n * @default false\n */\n large?: boolean;\n\n /**\n * Whether this tag should use minimal styles.\n *\n * @default false\n */\n minimal?: boolean;\n\n /**\n * Whether tag content should be allowed to occupy multiple lines.\n * If false, a single line of text will be truncated with an ellipsis if\n * it overflows. Note that icons will be vertically centered relative to\n * multiline text.\n *\n * @default false\n */\n multiline?: boolean;\n\n /**\n * Callback invoked when the tag is clicked.\n * Recommended when `interactive` is `true`.\n */\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;\n\n /**\n * Click handler for remove button.\n * The remove button will only be rendered if this prop is defined.\n */\n onRemove?: (e: React.MouseEvent<HTMLButtonElement>, tagProps: TagProps) => void;\n\n /** Name of a Blueprint UI icon (or an icon element) to render after the children. */\n rightIcon?: IconName | MaybeElement;\n\n /**\n * Whether this tag should have rounded ends.\n *\n * @default false\n */\n round?: boolean;\n\n /**\n * HTML title to be passed to the <Text> component\n */\n htmlTitle?: string;\n}\n\n/**\n * Tag component.\n *\n * @see https://blueprintjs.com/docs/#core/components/tag\n */\nexport const Tag: React.FC<TagProps> = React.forwardRef((props, ref) => {\n const {\n active,\n children,\n className,\n fill,\n icon,\n intent,\n interactive,\n large,\n minimal,\n multiline,\n onRemove,\n rightIcon,\n round,\n tabIndex = 0,\n htmlTitle,\n ...htmlProps\n } = props;\n const isRemovable = Utils.isFunction(onRemove);\n const tagClasses = classNames(\n Classes.TAG,\n Classes.intentClass(intent),\n {\n [Classes.ACTIVE]: active,\n [Classes.FILL]: fill,\n [Classes.INTERACTIVE]: interactive,\n [Classes.LARGE]: large,\n [Classes.MINIMAL]: minimal,\n [Classes.ROUND]: round,\n },\n className,\n );\n const isLarge = large || tagClasses.indexOf(Classes.LARGE) >= 0;\n const handleRemoveClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n props.onRemove?.(e, props);\n };\n const removeButton = isRemovable ? (\n <button\n aria-label=\"Remove tag\"\n type=\"button\"\n className={Classes.TAG_REMOVE}\n onClick={handleRemoveClick}\n tabIndex={tabIndex}\n >\n <SmallCross size={isLarge ? IconSize.LARGE : IconSize.STANDARD} />\n </button>\n ) : null;\n\n return (\n <span {...htmlProps} className={tagClasses} tabIndex={interactive ? tabIndex : undefined} ref={ref}>\n <Icon icon={icon} />\n {!isReactNodeEmpty(children) && (\n <Text className={Classes.FILL} ellipsize={!multiline} tagName=\"span\" title={htmlTitle}>\n {children}\n </Text>\n )}\n <Icon icon={rightIcon} />\n {removeButton}\n </span>\n );\n});\nTag.displayName = `${DISPLAYNAME_PREFIX}.Tag`;\n","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** Returns whether the value is a function. Acts as a type guard. */\n/* istanbul ignore next */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isFunction(value: any): value is Function {\n return typeof value === \"function\";\n}\n","import React from \"react\";\nimport { Dualsense, DualsenseManager } from \"dualsense-ts\";\n\nexport const hasWebHID =\n typeof navigator !== \"undefined\" && \"hid\" in navigator;\n\n// The manager replaces the old singleton Dualsense.\n// It discovers controllers automatically and assigns player LEDs.\nexport const manager: DualsenseManager | null = hasWebHID\n ? new DualsenseManager()\n : null;\n\n// Permission request — opens the multi-select device picker\nexport const requestPermission: () => void = manager\n ? manager.getRequest()\n : () => {};\n\n// ControllerContext still provides a single Dualsense to all HUD components.\n// App.tsx determines which player is \"selected\" and provides it here.\nexport const ControllerContext = React.createContext<Dualsense>(\n // Fallback: create a disconnected dummy so components never see null\n (manager?.get(0) ?? new Dualsense({ hid: null })) as Dualsense\n);\nControllerContext.displayName = \"ControllerContext\";\n\n// ManagerContext gives components access to the manager for player list, counts, etc.\nexport const ManagerContext = React.createContext<DualsenseManager | null>(\n manager\n);\nManagerContext.displayName = \"ManagerContext\";\n\nif (manager) {\n manager.on(\"change\", ({ active }) => {\n console.group(\"dualsense-ts\");\n console.log(`${active} controller(s) connected`);\n console.groupEnd();\n });\n}\n","import { useContext, useEffect, useState } from \"react\";\nimport { Tag } from \"@blueprintjs/core\";\n\nimport { ControllerContext } from \"../Controller\";\n\nexport const AudioIndicator = () => {\n const controller = useContext(ControllerContext);\n const [mic, setMic] = useState(controller.microphone.state);\n const [headphone, setHeadphone] = useState(controller.headphone.state);\n const [connected, setConnected] = useState(controller.connection.state);\n\n useEffect(() => {\n controller.microphone.on(\"change\", ({ state }) => setMic(state));\n controller.headphone.on(\"change\", ({ state }) => setHeadphone(state));\n controller.connection.on(\"change\", ({ state }) => setConnected(state));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!connected) return null;\n if (!mic && !headphone) return null;\n\n let label: string;\n if (mic && headphone) {\n label = \"Headset\";\n } else if (headphone) {\n label = \"Headphones\";\n } else {\n label = \"Mic\";\n }\n\n const icon = (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"currentColor\"\n style={{ display: \"block\" }}\n >\n {headphone ? (\n <>\n {/* Headphone band */}\n <path\n d=\"M2 8 Q2 2 7 2 Q12 2 12 8\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n />\n {/* Left ear cup */}\n <rect x=\"1\" y=\"7.5\" width=\"2.5\" height=\"4\" rx=\"1\" />\n {/* Right ear cup */}\n <rect x=\"10.5\" y=\"7.5\" width=\"2.5\" height=\"4\" rx=\"1\" />\n {/* Mic boom (only when mic is also connected) */}\n {mic && (\n <>\n <line\n x1=\"3\"\n y1=\"11\"\n x2=\"5\"\n y2=\"13\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n />\n <circle cx=\"5.5\" cy=\"13\" r=\"1\" />\n </>\n )}\n </>\n ) : (\n <>\n {/* Standalone microphone */}\n <rect x=\"4.5\" y=\"1\" width=\"5\" height=\"7\" rx=\"2.5\" />\n <path\n d=\"M2.5 6.5 Q2.5 11 7 11 Q11.5 11 11.5 6.5\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"7\"\n y1=\"11\"\n x2=\"7\"\n y2=\"13\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"5\"\n y1=\"13\"\n x2=\"9\"\n y2=\"13\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n />\n </>\n )}\n </svg>\n );\n\n return (\n <Tag minimal={true} intent=\"none\" icon={icon} title={\n mic && headphone\n ? \"Headset with microphone connected\"\n : headphone\n ? \"Headphones connected (no microphone)\"\n : \"Microphone connected (no headphones)\"\n }>\n {label}\n </Tag>\n );\n};\n","import { useEffect, useState, useContext } from \"react\";\nimport { Tag, Intent } from \"@blueprintjs/core\";\nimport styled from \"styled-components\";\nimport { ChargeStatus } from \"dualsense-ts\";\n\nimport { ControllerContext } from \"../Controller\";\n\nconst BatteryContainer = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\n\nfunction chargeLabel(status: ChargeStatus): string {\n switch (status) {\n case ChargeStatus.Charging:\n return \"Charging\";\n case ChargeStatus.Full:\n return \"Full\";\n case ChargeStatus.Discharging:\n return \"Battery\";\n case ChargeStatus.AbnormalVoltage:\n return \"Voltage Error\";\n case ChargeStatus.AbnormalTemperature:\n return \"Temp Error\";\n case ChargeStatus.ChargingError:\n return \"Error\";\n default:\n return \"Unknown\";\n }\n}\n\nfunction batteryIntent(level: number, status: ChargeStatus): Intent {\n if (status === ChargeStatus.Charging || status === ChargeStatus.Full) {\n return Intent.SUCCESS;\n }\n if (level < 0.2) return Intent.DANGER;\n if (level < 0.4) return Intent.WARNING;\n return Intent.PRIMARY;\n}\n\nexport const BatteryIndicator = () => {\n const controller = useContext(ControllerContext);\n const [level, setLevel] = useState(controller.battery.level.state);\n const [status, setStatus] = useState(controller.battery.status.state);\n const [connected, setConnected] = useState(controller.connection.state);\n\n useEffect(() => {\n controller.battery.level.on(\"change\", ({ state }) => setLevel(state));\n controller.battery.status.on(\"change\", ({ state }) => setStatus(state));\n controller.connection.on(\"change\", ({ state }) => setConnected(state));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!connected) return null;\n\n const pct = Math.round(level * 100);\n\n const isCharging =\n status === ChargeStatus.Charging || status === ChargeStatus.Full;\n\n const batteryIcon = (\n <svg width=\"18\" height=\"10\" viewBox=\"0 0 18 10\" style={{ display: \"block\" }}>\n <rect x=\"0.5\" y=\"0.5\" width=\"14\" height=\"9\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1\" />\n <rect x=\"15\" y=\"3\" width=\"2\" height=\"4\" rx=\"0.5\" fill=\"currentColor\" />\n <rect x=\"2\" y=\"2\" width={Math.max(0, level * 11)} height=\"6\" rx=\"0.5\" fill=\"currentColor\" opacity={0.6} />\n {isCharging && (\n <path d=\"M8 1.5 L6 5 L8.5 5 L7 8.5 L10 4.5 L7.5 4.5 L9 1.5Z\" fill=\"currentColor\" opacity={0.9} />\n )}\n </svg>\n );\n\n return (\n <BatteryContainer>\n <Tag minimal={true} intent={batteryIntent(level, status)} icon={batteryIcon}>\n {chargeLabel(status)}: {pct}%\n </Tag>\n </BatteryContainer>\n );\n};\n","import M from \"zdog\";\nimport Y, { useRef as B, useState as H, useEffect as q, useContext as te, useMemo as Ke, useImperativeHandle as It, useLayoutEffect as ee, useCallback as zt } from \"react\";\nvar Ce = { exports: {} }, X = {};\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar Ze;\nfunction Gt() {\n if (Ze)\n return X;\n Ze = 1;\n var r = Y, t = Symbol.for(\"react.element\"), n = Symbol.for(\"react.fragment\"), o = Object.prototype.hasOwnProperty, a = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, c = { key: !0, ref: !0, __self: !0, __source: !0 };\n function g(f, b, y) {\n var h, x = {}, T = null, z = null;\n y !== void 0 && (T = \"\" + y), b.key !== void 0 && (T = \"\" + b.key), b.ref !== void 0 && (z = b.ref);\n for (h in b)\n o.call(b, h) && !c.hasOwnProperty(h) && (x[h] = b[h]);\n if (f && f.defaultProps)\n for (h in b = f.defaultProps, b)\n x[h] === void 0 && (x[h] = b[h]);\n return { $$typeof: t, type: f, key: T, ref: z, props: x, _owner: a.current };\n }\n return X.Fragment = n, X.jsx = g, X.jsxs = g, X;\n}\nvar Q = {};\n/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar Xe;\nfunction Lt() {\n return Xe || (Xe = 1, process.env.NODE_ENV !== \"production\" && function() {\n var r = Y, t = Symbol.for(\"react.element\"), n = Symbol.for(\"react.portal\"), o = Symbol.for(\"react.fragment\"), a = Symbol.for(\"react.strict_mode\"), c = Symbol.for(\"react.profiler\"), g = Symbol.for(\"react.provider\"), f = Symbol.for(\"react.context\"), b = Symbol.for(\"react.forward_ref\"), y = Symbol.for(\"react.suspense\"), h = Symbol.for(\"react.suspense_list\"), x = Symbol.for(\"react.memo\"), T = Symbol.for(\"react.lazy\"), z = Symbol.for(\"react.offscreen\"), W = Symbol.iterator, N = \"@@iterator\";\n function P(e) {\n if (e === null || typeof e != \"object\")\n return null;\n var i = W && e[W] || e[N];\n return typeof i == \"function\" ? i : null;\n }\n var G = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n function w(e) {\n {\n for (var i = arguments.length, s = new Array(i > 1 ? i - 1 : 0), u = 1; u < i; u++)\n s[u - 1] = arguments[u];\n he(\"error\", e, s);\n }\n }\n function he(e, i, s) {\n {\n var u = G.ReactDebugCurrentFrame, p = u.getStackAddendum();\n p !== \"\" && (i += \"%s\", s = s.concat([p]));\n var m = s.map(function(v) {\n return String(v);\n });\n m.unshift(\"Warning: \" + i), Function.prototype.apply.call(console[e], console, m);\n }\n }\n var l = !1, pe = !1, D = !1, K = !1, be = !1, re;\n re = Symbol.for(\"react.module.reference\");\n function O(e) {\n return !!(typeof e == \"string\" || typeof e == \"function\" || e === o || e === c || be || e === a || e === y || e === h || K || e === z || l || pe || D || typeof e == \"object\" && e !== null && (e.$$typeof === T || e.$$typeof === x || e.$$typeof === g || e.$$typeof === f || e.$$typeof === b || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n e.$$typeof === re || e.getModuleId !== void 0));\n }\n function F(e, i, s) {\n var u = e.displayName;\n if (u)\n return u;\n var p = i.displayName || i.name || \"\";\n return p !== \"\" ? s + \"(\" + p + \")\" : s;\n }\n function $(e) {\n return e.displayName || \"Context\";\n }\n function _(e) {\n if (e == null)\n return null;\n if (typeof e.tag == \"number\" && w(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), typeof e == \"function\")\n return e.displayName || e.name || null;\n if (typeof e == \"string\")\n return e;\n switch (e) {\n case o:\n return \"Fragment\";\n case n:\n return \"Portal\";\n case c:\n return \"Profiler\";\n case a:\n return \"StrictMode\";\n case y:\n return \"Suspense\";\n case h:\n return \"SuspenseList\";\n }\n if (typeof e == \"object\")\n switch (e.$$typeof) {\n case f:\n var i = e;\n return $(i) + \".Consumer\";\n case g:\n var s = e;\n return $(s._context) + \".Provider\";\n case b:\n return F(e, e.render, \"ForwardRef\");\n case x:\n var u = e.displayName || null;\n return u !== null ? u : _(e.type) || \"Memo\";\n case T: {\n var p = e, m = p._payload, v = p._init;\n try {\n return _(v(m));\n } catch {\n return null;\n }\n }\n }\n return null;\n }\n var C = Object.assign, j = 0, ne, Se, Me, je, ke, Ae, De;\n function Fe() {\n }\n Fe.__reactDisabledLog = !0;\n function ft() {\n {\n if (j === 0) {\n ne = console.log, Se = console.info, Me = console.warn, je = console.error, ke = console.group, Ae = console.groupCollapsed, De = console.groupEnd;\n var e = {\n configurable: !0,\n enumerable: !0,\n value: Fe,\n writable: !0\n };\n Object.defineProperties(console, {\n info: e,\n log: e,\n warn: e,\n error: e,\n group: e,\n groupCollapsed: e,\n groupEnd: e\n });\n }\n j++;\n }\n }\n function dt() {\n {\n if (j--, j === 0) {\n var e = {\n configurable: !0,\n enumerable: !0,\n writable: !0\n };\n Object.defineProperties(console, {\n log: C({}, e, {\n value: ne\n }),\n info: C({}, e, {\n value: Se\n }),\n warn: C({}, e, {\n value: Me\n }),\n error: C({}, e, {\n value: je\n }),\n group: C({}, e, {\n value: ke\n }),\n groupCollapsed: C({}, e, {\n value: Ae\n }),\n groupEnd: C({}, e, {\n value: De\n })\n });\n }\n j < 0 && w(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\");\n }\n }\n var ge = G.ReactCurrentDispatcher, me;\n function ie(e, i, s) {\n {\n if (me === void 0)\n try {\n throw Error();\n } catch (p) {\n var u = p.stack.trim().match(/\\n( *(at )?)/);\n me = u && u[1] || \"\";\n }\n return `\n` + me + e;\n }\n }\n var _e = !1, oe;\n {\n var vt = typeof WeakMap == \"function\" ? WeakMap : Map;\n oe = new vt();\n }\n function Ie(e, i) {\n if (!e || _e)\n return \"\";\n {\n var s = oe.get(e);\n if (s !== void 0)\n return s;\n }\n var u;\n _e = !0;\n var p = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var m;\n m = ge.current, ge.current = null, ft();\n try {\n if (i) {\n var v = function() {\n throw Error();\n };\n if (Object.defineProperty(v.prototype, \"props\", {\n set: function() {\n throw Error();\n }\n }), typeof Reflect == \"object\" && Reflect.construct) {\n try {\n Reflect.construct(v, []);\n } catch (I) {\n u = I;\n }\n Reflect.construct(e, [], v);\n } else {\n try {\n v.call();\n } catch (I) {\n u = I;\n }\n e.call(v.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (I) {\n u = I;\n }\n e();\n }\n } catch (I) {\n if (I && u && typeof I.stack == \"string\") {\n for (var d = I.stack.split(`\n`), S = u.stack.split(`\n`), E = d.length - 1, R = S.length - 1; E >= 1 && R >= 0 && d[E] !== S[R]; )\n R--;\n for (; E >= 1 && R >= 0; E--, R--)\n if (d[E] !== S[R]) {\n if (E !== 1 || R !== 1)\n do\n if (E--, R--, R < 0 || d[E] !== S[R]) {\n var k = `\n` + d[E].replace(\" at new \", \" at \");\n return e.displayName && k.includes(\"<anonymous>\") && (k = k.replace(\"<anonymous>\", e.displayName)), typeof e == \"function\" && oe.set(e, k), k;\n }\n while (E >= 1 && R >= 0);\n break;\n }\n }\n } finally {\n _e = !1, ge.current = m, dt(), Error.prepareStackTrace = p;\n }\n var U = e ? e.displayName || e.name : \"\", Je = U ? ie(U) : \"\";\n return typeof e == \"function\" && oe.set(e, Je), Je;\n }\n function ht(e, i, s) {\n return Ie(e, !1);\n }\n function pt(e) {\n var i = e.prototype;\n return !!(i && i.isReactComponent);\n }\n function ae(e, i, s) {\n if (e == null)\n return \"\";\n if (typeof e == \"function\")\n return Ie(e, pt(e));\n if (typeof e == \"string\")\n return ie(e);\n switch (e) {\n case y:\n return ie(\"Suspense\");\n case h:\n return ie(\"SuspenseList\");\n }\n if (typeof e == \"object\")\n switch (e.$$typeof) {\n case b:\n return ht(e.render);\n case x:\n return ae(e.type, i, s);\n case T: {\n var u = e, p = u._payload, m = u._init;\n try {\n return ae(m(p), i, s);\n } catch {\n }\n }\n }\n return \"\";\n }\n var se = Object.prototype.hasOwnProperty, ze = {}, Ge = G.ReactDebugCurrentFrame;\n function ue(e) {\n if (e) {\n var i = e._owner, s = ae(e.type, e._source, i ? i.type : null);\n Ge.setExtraStackFrame(s);\n } else\n Ge.setExtraStackFrame(null);\n }\n function bt(e, i, s, u, p) {\n {\n var m = Function.call.bind(se);\n for (var v in e)\n if (m(e, v)) {\n var d = void 0;\n try {\n if (typeof e[v] != \"function\") {\n var S = Error((u || \"React class\") + \": \" + s + \" type `\" + v + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof e[v] + \"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");\n throw S.name = \"Invariant Violation\", S;\n }\n d = e[v](i, v, u, s, null, \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\");\n } catch (E) {\n d = E;\n }\n d && !(d instanceof Error) && (ue(p), w(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\", u || \"React class\", s, v, typeof d), ue(null)), d instanceof Error && !(d.message in ze) && (ze[d.message] = !0, ue(p), w(\"Failed %s type: %s\", s, d.message), ue(null));\n }\n }\n }\n var gt = Array.isArray;\n function ye(e) {\n return gt(e);\n }\n function mt(e) {\n {\n var i = typeof Symbol == \"function\" && Symbol.toStringTag, s = i && e[Symbol.toStringTag] || e.constructor.name || \"Object\";\n return s;\n }\n }\n function _t(e) {\n try {\n return Le(e), !1;\n } catch {\n return !0;\n }\n }\n function Le(e) {\n return \"\" + e;\n }\n function We(e) {\n if (_t(e))\n return w(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\", mt(e)), Le(e);\n }\n var Z = G.ReactCurrentOwner, yt = {\n key: !0,\n ref: !0,\n __self: !0,\n __source: !0\n }, $e, Ye, Ee;\n Ee = {};\n function Et(e) {\n if (se.call(e, \"ref\")) {\n var i = Object.getOwnPropertyDescriptor(e, \"ref\").get;\n if (i && i.isReactWarning)\n return !1;\n }\n return e.ref !== void 0;\n }\n function Rt(e) {\n if (se.call(e, \"key\")) {\n var i = Object.getOwnPropertyDescriptor(e, \"key\").get;\n if (i && i.isReactWarning)\n return !1;\n }\n return e.key !== void 0;\n }\n function wt(e, i) {\n if (typeof e.ref == \"string\" && Z.current && i && Z.current.stateNode !== i) {\n var s = _(Z.current.type);\n Ee[s] || (w('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', _(Z.current.type), e.ref), Ee[s] = !0);\n }\n }\n function Ot(e, i) {\n {\n var s = function() {\n $e || ($e = !0, w(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", i));\n };\n s.isReactWarning = !0, Object.defineProperty(e, \"key\", {\n get: s,\n configurable: !0\n });\n }\n }\n function xt(e, i) {\n {\n var s = function() {\n Ye || (Ye = !0, w(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", i));\n };\n s.isReactWarning = !0, Object.defineProperty(e, \"ref\", {\n get: s,\n configurable: !0\n });\n }\n }\n var Ct = function(e, i, s, u, p, m, v) {\n var d = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: t,\n // Built-in properties that belong on the element\n type: e,\n key: i,\n ref: s,\n props: v,\n // Record the component responsible for creating this element.\n _owner: m\n };\n return d._store = {}, Object.defineProperty(d._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: !1\n }), Object.defineProperty(d, \"_self\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: u\n }), Object.defineProperty(d, \"_source\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: p\n }), Object.freeze && (Object.freeze(d.props), Object.freeze(d)), d;\n };\n function Tt(e, i, s, u, p) {\n {\n var m, v = {}, d = null, S = null;\n s !== void 0 && (We(s), d = \"\" + s), Rt(i) && (We(i.key), d = \"\" + i.key), Et(i) && (S = i.ref, wt(i, p));\n for (m in i)\n se.call(i, m) && !yt.hasOwnProperty(m) && (v[m] = i[m]);\n if (e && e.defaultProps) {\n var E = e.defaultProps;\n for (m in E)\n v[m] === void 0 && (v[m] = E[m]);\n }\n if (d || S) {\n var R = typeof e == \"function\" ? e.displayName || e.name || \"Unknown\" : e;\n d && Ot(v, R), S && xt(v, R);\n }\n return Ct(e, d, S, p, u, Z.current, v);\n }\n }\n var Re = G.ReactCurrentOwner, Ne = G.ReactDebugCurrentFrame;\n function V(e) {\n if (e) {\n var i = e._owner, s = ae(e.type, e._source, i ? i.type : null);\n Ne.setExtraStackFrame(s);\n } else\n Ne.setExtraStackFrame(null);\n }\n var we;\n we = !1;\n function Oe(e) {\n return typeof e == \"object\" && e !== null && e.$$typeof === t;\n }\n function Ve() {\n {\n if (Re.current) {\n var e = _(Re.current.type);\n if (e)\n return `\n\nCheck the render method of \\`` + e + \"`.\";\n }\n return \"\";\n }\n }\n function Pt(e) {\n {\n if (e !== void 0) {\n var i = e.fileName.replace(/^.*[\\\\\\/]/, \"\"), s = e.lineNumber;\n return `\n\nCheck your code at ` + i + \":\" + s + \".\";\n }\n return \"\";\n }\n }\n var Ue = {};\n function St(e) {\n {\n var i = Ve();\n if (!i) {\n var s = typeof e == \"string\" ? e : e.displayName || e.name;\n s && (i = `\n\nCheck the top-level render call using <` + s + \">.\");\n }\n return i;\n }\n }\n function Be(e, i) {\n {\n if (!e._store || e._store.validated || e.key != null)\n return;\n e._store.validated = !0;\n var s = St(i);\n if (Ue[s])\n return;\n Ue[s] = !0;\n var u = \"\";\n e && e._owner && e._owner !== Re.current && (u = \" It was passed a child from \" + _(e._owner.type) + \".\"), V(e), w('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', s, u), V(null);\n }\n }\n function He(e, i) {\n {\n if (typeof e != \"object\")\n return;\n if (ye(e))\n for (var s = 0; s < e.length; s++) {\n var u = e[s];\n Oe(u) && Be(u, i);\n }\n else if (Oe(e))\n e._store && (e._store.validated = !0);\n else if (e) {\n var p = P(e);\n if (typeof p == \"function\" && p !== e.entries)\n for (var m = p.call(e), v; !(v = m.next()).done; )\n Oe(v.value) && Be(v.value, i);\n }\n }\n }\n function Mt(e) {\n {\n var i = e.type;\n if (i == null || typeof i == \"string\")\n return;\n var s;\n if (typeof i == \"function\")\n s = i.propTypes;\n else if (typeof i == \"object\" && (i.$$typeof === b || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n i.$$typeof === x))\n s = i.propTypes;\n else\n return;\n if (s) {\n var u = _(i);\n bt(s, e.props, \"prop\", u, e);\n } else if (i.PropTypes !== void 0 && !we) {\n we = !0;\n var p = _(i);\n w(\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\", p || \"Unknown\");\n }\n typeof i.getDefaultProps == \"function\" && !i.getDefaultProps.isReactClassApproved && w(\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\");\n }\n }\n function jt(e) {\n {\n for (var i = Object.keys(e.props), s = 0; s < i.length; s++) {\n var u = i[s];\n if (u !== \"children\" && u !== \"key\") {\n V(e), w(\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\", u), V(null);\n break;\n }\n }\n e.ref !== null && (V(e), w(\"Invalid attribute `ref` supplied to `React.Fragment`.\"), V(null));\n }\n }\n function qe(e, i, s, u, p, m) {\n {\n var v = O(e);\n if (!v) {\n var d = \"\";\n (e === void 0 || typeof e == \"object\" && e !== null && Object.keys(e).length === 0) && (d += \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");\n var S = Pt(p);\n S ? d += S : d += Ve();\n var E;\n e === null ? E = \"null\" : ye(e) ? E = \"array\" : e !== void 0 && e.$$typeof === t ? (E = \"<\" + (_(e.type) || \"Unknown\") + \" />\", d = \" Did you accidentally export a JSX literal instead of a component?\") : E = typeof e, w(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\", E, d);\n }\n var R = Tt(e, i, s, p, m);\n if (R == null)\n return R;\n if (v) {\n var k = i.children;\n if (k !== void 0)\n if (u)\n if (ye(k)) {\n for (var U = 0; U < k.length; U++)\n He(k[U], e);\n Object.freeze && Object.freeze(k);\n } else\n w(\"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\");\n else\n He(k, e);\n }\n return e === o ? jt(R) : Mt(R), R;\n }\n }\n function kt(e, i, s) {\n return qe(e, i, s, !0);\n }\n function At(e, i, s) {\n return qe(e, i, s, !1);\n }\n var Dt = At, Ft = kt;\n Q.Fragment = o, Q.jsx = Dt, Q.jsxs = Ft;\n }()), Q;\n}\nprocess.env.NODE_ENV === \"production\" ? Ce.exports = Gt() : Ce.exports = Lt();\nvar L = Ce.exports, it = function() {\n if (typeof Map < \"u\")\n return Map;\n function r(t, n) {\n var o = -1;\n return t.some(function(a, c) {\n return a[0] === n ? (o = c, !0) : !1;\n }), o;\n }\n return (\n /** @class */\n function() {\n function t() {\n this.__entries__ = [];\n }\n return Object.defineProperty(t.prototype, \"size\", {\n /**\n * @returns {boolean}\n */\n get: function() {\n return this.__entries__.length;\n },\n enumerable: !0,\n configurable: !0\n }), t.prototype.get = function(n) {\n var o = r(this.__entries__, n), a = this.__entries__[o];\n return a && a[1];\n }, t.prototype.set = function(n, o) {\n var a = r(this.__entries__, n);\n ~a ? this.__entries__[a][1] = o : this.__entries__.push([n, o]);\n }, t.prototype.delete = function(n) {\n var o = this.__entries__, a = r(o, n);\n ~a && o.splice(a, 1);\n }, t.prototype.has = function(n) {\n return !!~r(this.__entries__, n);\n }, t.prototype.clear = function() {\n this.__entries__.splice(0);\n }, t.prototype.forEach = function(n, o) {\n o === void 0 && (o = null);\n for (var a = 0, c = this.__entries__; a < c.length; a++) {\n var g = c[a];\n n.call(o, g[1], g[0]);\n }\n }, t;\n }()\n );\n}(), Te = typeof window < \"u\" && typeof document < \"u\" && window.document === document, ce = function() {\n return typeof global < \"u\" && global.Math === Math ? global : typeof self < \"u\" && self.Math === Math ? self : typeof window < \"u\" && window.Math === Math ? window : Function(\"return this\")();\n}(), Wt = function() {\n return typeof requestAnimationFrame == \"function\" ? requestAnimationFrame.bind(ce) : function(r) {\n return setTimeout(function() {\n return r(Date.now());\n }, 1e3 / 60);\n };\n}(), $t = 2;\nfunction Yt(r, t) {\n var n = !1, o = !1, a = 0;\n function c() {\n n && (n = !1, r()), o && f();\n }\n function g() {\n Wt(c);\n }\n function f() {\n var b = Date.now();\n if (n) {\n if (b - a < $t)\n return;\n o = !0;\n } else\n n = !0, o = !1, setTimeout(g, t);\n a = b;\n }\n return f;\n}\nvar Nt = 20, Vt = [\"top\", \"right\", \"bottom\", \"left\", \"width\", \"height\", \"size\", \"weight\"], Ut = typeof MutationObserver < \"u\", Bt = (\n /** @class */\n function() {\n function r() {\n this.connected_ = !1, this.mutationEventsAdded_ = !1, this.mutationsObserver_ = null, this.observers_ = [], this.onTransitionEnd_ = this.onTransitionEnd_.bind(this), this.refresh = Yt(this.refresh.bind(this), Nt);\n }\n return r.prototype.addObserver = function(t) {\n ~this.observers_.indexOf(t) || this.observers_.push(t), this.connected_ || this.connect_();\n }, r.prototype.removeObserver = function(t) {\n var n = this.observers_, o = n.indexOf(t);\n ~o && n.splice(o, 1), !n.length && this.connected_ && this.disconnect_();\n }, r.prototype.refresh = function() {\n var t = this.updateObservers_();\n t && this.refresh();\n }, r.prototype.updateObservers_ = function() {\n var t = this.observers_.filter(function(n) {\n return n.gatherActive(), n.hasActive();\n });\n return t.forEach(function(n) {\n return n.broadcastActive();\n }), t.length > 0;\n }, r.prototype.connect_ = function() {\n !Te || this.connected_ || (document.addEventListener(\"transitionend\", this.onTransitionEnd_), window.addEventListener(\"resize\", this.refresh), Ut ? (this.mutationsObserver_ = new MutationObserver(this.refresh), this.mutationsObserver_.observe(document, {\n attributes: !0,\n childList: !0,\n characterData: !0,\n subtree: !0\n })) : (document.addEventListener(\"DOMSubtreeModified\", this.refresh), this.mutationEventsAdded_ = !0), this.connected_ = !0);\n }, r.prototype.disconnect_ = function() {\n !Te || !this.connected_ || (document.removeEventListener(\"transitionend\", this.onTransitionEnd_), window.removeEventListener(\"resize\", this.refresh), this.mutationsObserver_ && this.mutationsObserver_.disconnect(), this.mutationEventsAdded_ && document.removeEventListener(\"DOMSubtreeModified\", this.refresh), this.mutationsObserver_ = null, this.mutationEventsAdded_ = !1, this.connected_ = !1);\n }, r.prototype.onTransitionEnd_ = function(t) {\n var n = t.propertyName, o = n === void 0 ? \"\" : n, a = Vt.some(function(c) {\n return !!~o.indexOf(c);\n });\n a && this.refresh();\n }, r.getInstance = function() {\n return this.instance_ || (this.instance_ = new r()), this.instance_;\n }, r.instance_ = null, r;\n }()\n), ot = function(r, t) {\n for (var n = 0, o = Object.keys(t); n < o.length; n++) {\n var a = o[n];\n Object.defineProperty(r, a, {\n value: t[a],\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n }\n return r;\n}, J = function(r) {\n var t = r && r.ownerDocument && r.ownerDocument.defaultView;\n return t || ce;\n}, at = de(0, 0, 0, 0);\nfunction le(r) {\n return parseFloat(r) || 0;\n}\nfunction Qe(r) {\n for (var t = [], n = 1; n < arguments.length; n++)\n t[n - 1] = arguments[n];\n return t.reduce(function(o, a) {\n var c = r[\"border-\" + a + \"-width\"];\n return o + le(c);\n }, 0);\n}\nfunction Ht(r) {\n for (var t = [\"top\", \"right\", \"bottom\", \"left\"], n = {}, o = 0, a = t; o < a.length; o++) {\n var c = a[o], g = r[\"padding-\" + c];\n n[c] = le(g);\n }\n return n;\n}\nfunction qt(r) {\n var t = r.getBBox();\n return de(0, 0, t.width, t.height);\n}\nfunction Jt(r) {\n var t = r.clientWidth, n = r.clientHeight;\n if (!t && !n)\n return at;\n var o = J(r).getComputedStyle(r), a = Ht(o), c = a.left + a.right, g = a.top + a.bottom, f = le(o.width), b = le(o.height);\n if (o.boxSizing === \"border-box\" && (Math.round(f + c) !== t && (f -= Qe(o, \"left\", \"right\") + c), Math.round(b + g) !== n && (b -= Qe(o, \"top\", \"bottom\") + g)), !Zt(r)) {\n var y = Math.round(f + c) - t, h = Math.round(b + g) - n;\n Math.abs(y) !== 1 && (f -= y), Math.abs(h) !== 1 && (b -= h);\n }\n return de(a.left, a.top, f, b);\n}\nvar Kt = function() {\n return typeof SVGGraphicsElement < \"u\" ? function(r) {\n return r instanceof J(r).SVGGraphicsElement;\n } : function(r) {\n return r instanceof J(r).SVGElement && typeof r.getBBox == \"function\";\n };\n}();\nfunction Zt(r) {\n return r === J(r).document.documentElement;\n}\nfunction Xt(r) {\n return Te ? Kt(r) ? qt(r) : Jt(r) : at;\n}\nfunction Qt(r) {\n var t = r.x, n = r.y, o = r.width, a = r.height, c = typeof DOMRectReadOnly < \"u\" ? DOMRectReadOnly : Object, g = Object.create(c.prototype);\n return ot(g, {\n x: t,\n y: n,\n width: o,\n height: a,\n top: n,\n right: t + o,\n bottom: a + n,\n left: t\n }), g;\n}\nfunction de(r, t, n, o) {\n return { x: r, y: t, width: n, height: o };\n}\nvar er = (\n /** @class */\n function() {\n function r(t) {\n this.broadcastWidth = 0, this.broadcastHeight = 0, this.contentRect_ = de(0, 0, 0, 0), this.target = t;\n }\n return r.prototype.isActive = function() {\n var t = Xt(this.target);\n return this.contentRect_ = t, t.width !== this.broadcastWidth || t.height !== this.broadcastHeight;\n }, r.prototype.broadcastRect = function() {\n var t = this.contentRect_;\n return this.broadcastWidth = t.width, this.broadcastHeight = t.height, t;\n }, r;\n }()\n), tr = (\n /** @class */\n function() {\n function r(t, n) {\n var o = Qt(n);\n ot(this, { target: t, contentRect: o });\n }\n return r;\n }()\n), rr = (\n /** @class */\n function() {\n function r(t, n, o) {\n if (this.activeObservations_ = [], this.observations_ = new it(), typeof t != \"function\")\n throw new TypeError(\"The callback provided as parameter 1 is not a function.\");\n this.callback_ = t, this.controller_ = n, this.callbackCtx_ = o;\n }\n return r.prototype.observe = function(t) {\n if (!arguments.length)\n throw new TypeError(\"1 argument required, but only 0 present.\");\n if (!(typeof Element > \"u\" || !(Element instanceof Object))) {\n if (!(t instanceof J(t).Element))\n throw new TypeError('parameter 1 is not of type \"Element\".');\n var n = this.observations_;\n n.has(t) || (n.set(t, new er(t)), this.controller_.addObserver(this), this.controller_.refresh());\n }\n }, r.prototype.unobserve = function(t) {\n if (!arguments.length)\n throw new TypeError(\"1 argument required, but only 0 present.\");\n if (!(typeof Element > \"u\" || !(Element instanceof Object))) {\n if (!(t instanceof J(t).Element))\n throw new TypeError('parameter 1 is not of type \"Element\".');\n var n = this.observations_;\n n.has(t) && (n.delete(t), n.size || this.controller_.removeObserver(this));\n }\n }, r.prototype.disconnect = function() {\n this.clearActive(), this.observations_.clear(), this.controller_.removeObserver(this);\n }, r.prototype.gatherActive = function() {\n var t = this;\n this.clearActive(), this.observations_.forEach(function(n) {\n n.isActive() && t.activeObservations_.push(n);\n });\n }, r.prototype.broadcastActive = function() {\n if (this.hasActive()) {\n var t = this.callbackCtx_, n = this.activeObservations_.map(function(o) {\n return new tr(o.target, o.broadcastRect());\n });\n this.callback_.call(t, n, t), this.clearActive();\n }\n }, r.prototype.clearActive = function() {\n this.activeObservations_.splice(0);\n }, r.prototype.hasActive = function() {\n return this.activeObservations_.length > 0;\n }, r;\n }()\n), st = typeof WeakMap < \"u\" ? /* @__PURE__ */ new WeakMap() : new it(), ut = (\n /** @class */\n function() {\n function r(t) {\n if (!(this instanceof r))\n throw new TypeError(\"Cannot call a class as a function.\");\n if (!arguments.length)\n throw new TypeError(\"1 argument required, but only 0 present.\");\n var n = Bt.getInstance(), o = new rr(t, n, this);\n st.set(this, o);\n }\n return r;\n }()\n);\n[\n \"observe\",\n \"unobserve\",\n \"disconnect\"\n].forEach(function(r) {\n ut.prototype[r] = function() {\n var t;\n return (t = st.get(this))[r].apply(t, arguments);\n };\n});\nvar nr = function() {\n return typeof ce.ResizeObserver < \"u\" ? ce.ResizeObserver : ut;\n}();\nfunction fe(r, t) {\n M.extend(r, t);\n}\nconst A = (r) => Y.forwardRef(({ children: t, ...n }, o) => lt(r, t, n, o)[0]);\nfunction ct() {\n const t = Math.floor(Math.random() * 16777216).toString(16).toUpperCase();\n return \"#\" + t.padStart(6, \"0\") === \"#000000\" ? ct() : \"#\" + t.padStart(6, \"0\");\n}\nconst xe = (r) => {\n let t = r.toString(16);\n return t.length == 1 ? \"0\" + t : t;\n}, ir = (r, t, n) => \"#\" + xe(r) + xe(t) + xe(n);\nfunction Pe(r, t, n) {\n return new Proxy(r, {\n set(o, a, c) {\n return typeof c == \"object\" && c !== null && (c = Pe(c, t)), t(o, a, c, n), o[a] = c, !0;\n },\n get(o, a) {\n return typeof o[a] == \"object\" && o[a] !== null ? Pe(o[a], t, a) : o[a];\n }\n });\n}\nconst et = (r, t, n) => {\n const o = r.getBoundingClientRect();\n return {\n x: (t.clientX - o.left) / (o.right - o.left) * n.width,\n y: (t.clientY - o.top) / (o.bottom - o.top) * n.height\n };\n}, tt = ({ x: r, y: t, canvasContext: n }) => {\n let a = n.getImageData(r, t, 1, 1).data;\n return ir(a[0], a[1], a[2]);\n}, ve = Y.createContext(), rt = Y.createContext(), nt = Y.createContext();\nfunction or() {\n const r = B(), [t, n] = H({ left: 0, top: 0, width: 0, height: 0 }), [o] = H(() => new nr(([a]) => n(a.contentRect)));\n return q(() => (r.current && o.observe(r.current), () => o.disconnect()), [r.current]), [{ ref: r }, t];\n}\nfunction cr(r, t = []) {\n const n = te(ve);\n q(() => {\n const o = n.current.subscribe(r);\n return () => o();\n }, t);\n}\nfunction ar() {\n return te(ve).current;\n}\nfunction lt(r, t, n, o) {\n const a = te(ve), c = te(rt), g = te(nt), f = Ke(() => ct(), []), b = Ke(() => ({\n stroke: !1,\n ...n,\n color: f,\n leftFace: f,\n rightFace: f,\n topFace: f,\n bottomFace: f\n }), [f, n]), [y] = H(() => new r(n)), [h] = H(() => new r(b)), x = (z, W, N, P) => {\n P ? h[P][W] = N : h[W] = N, a.current.illu.updateRenderGraph();\n }, [T] = H(() => Pe(y, x));\n return It(o, () => T), ee(() => {\n fe(y, n), c && a.current.illu.updateRenderGraph();\n }, [n]), ee(() => {\n fe(h, b);\n }, [b]), ee(() => {\n if (c)\n return c.addChild(y), a.current.illu.updateGraph(), () => {\n c.removeChild(y), c.updateFlatGraph(), a.current.illu.updateGraph();\n };\n }, [c]), q(() => {\n if (c)\n return a.current.itemMap[f] = y, n.onClick && (a.current.clickEventMap[f] = n.onClick), n.onPointerMove && (a.current.pointerMoveEventMap[f] = n.onPointerMove), n.onPointerEnter && (a.current.pointerEnterEventMap[f] = n.onPointerEnter), n.onPointerLeave && (a.current.pointerLeaveEventMap[f] = n.onPointerLeave), () => {\n delete a.current.itemMap[f], delete a.current.clickEventMap[f], delete a.current.pointerMoveEventMap[f], delete a.current.pointerEnterEventMap[f], delete a.current.pointerLeaveEventMap[f];\n };\n }, [n]), ee(() => {\n if (g)\n return g.addChild(h), a.current.illu_ghost.updateGraph(), () => {\n g.removeChild(h), g.updateFlatGraph(), a.current.illu_ghost.updateGraph();\n };\n }, [g]), [\n /* @__PURE__ */ L.jsx(nt.Provider, { value: h, children: /* @__PURE__ */ L.jsx(rt.Provider, { value: y, children: t }) }, f),\n y,\n h\n ];\n}\nfunction lr() {\n const r = ar();\n return zt(() => r.illu.updateRenderGraph(), [r]);\n}\nconst fr = Y.memo(\n ({\n children: r,\n style: t,\n resize: n,\n element: o = \"svg\",\n frameloop: a = \"always\",\n dragRotate: c,\n onDragMove: g = () => {\n },\n onDragStart: f = () => {\n },\n onDragEnd: b = () => {\n },\n pointerEvents: y = !1,\n ...h\n }) => {\n const x = B(), T = B(), [z, W] = H(null);\n q(() => {\n W(T.current.getContext(\"2d\", { willReadFrequently: !0 }));\n }, []);\n const [N, P] = or(), [G, w, he] = lt(M.Anchor, r), l = B({\n scene: w,\n illu: void 0,\n size: {},\n subscribers: [],\n subscribe: (O) => (l.current.subscribers.push(O), () => l.current.subscribers = l.current.subscribers.filter((F) => F !== O)),\n illu_ghost: void 0,\n itemMap: {},\n clickEventMap: {},\n pointerMoveEventMap: {},\n pointerEnterEventMap: {},\n pointerLeaveEventMap: {},\n pointerEvents: y\n });\n q(() => {\n l.current.size = P, l.current.illu && (l.current.illu.setSize(P.width, P.height), l.current.illu_ghost.setSize(P.width, P.height), a === \"demand\" && (l.current.illu.updateRenderGraph(), l.current.illu_ghost.updateRenderGraph()));\n }, [P]), q(() => {\n l.current.illu = new M.Illustration({\n element: x.current,\n dragRotate: c,\n onDragMove: () => {\n l.current.illu_ghost.rotate = {\n x: l.current.illu.rotate.x,\n y: l.current.illu.rotate.y,\n z: l.current.illu.rotate.z\n }, g();\n },\n onDragStart: f,\n onDragEnd: b,\n ...h\n }), l.current.illu.addChild(w), l.current.illu.updateGraph(), l.current.illu_ghost = new M.Illustration({\n element: T.current,\n ...h\n }), l.current.illu_ghost.addChild(he), l.current.illu_ghost.updateGraph();\n let O, F = !0;\n function $(_) {\n const { size: C, subscribers: j } = l.current;\n C.width && C.height && (j.forEach((ne) => ne(_)), a !== \"demand\" && l.current.illu.updateRenderGraph()), F && a !== \"demand\" && (O = requestAnimationFrame($));\n }\n return $(), () => {\n F = !1, cancelAnimationFrame(O);\n };\n }, [a]), ee(() => {\n l.current.illu && fe(l.current.illu, h), l.current.illu_ghost && fe(l.current.illu_ghost, h);\n }, [h]);\n const pe = (O) => {\n if (!y)\n return;\n l.current.illu_ghost && l.current.illu_ghost.updateRenderGraph();\n const F = et(x.current, O, T.current), _ = tt({ ...F, canvasContext: z }).toUpperCase(), C = l.current.clickEventMap[_];\n C && C(O, l.current.itemMap[_]);\n }, D = B(null), K = B(null), be = (O) => {\n K.current = O;\n }, re = (O) => {\n if (!y)\n return;\n l.current.illu_ghost && l.current.illu_ghost.updateRenderGraph();\n const F = et(x.current, O, T.current), _ = tt({ ...F, canvasContext: z }).toUpperCase();\n if (_ !== \"#000000\" && D.current !== _ && K.current !== _) {\n const j = l.current.pointerEnterEventMap[_];\n j && j(O, l.current.itemMap[_]), be(D.current);\n }\n if (D.current && D.current !== \"#000000\" && D.current !== _ && K.current) {\n const j = l.current.pointerLeaveEventMap[D.current];\n j && j(O, l.current.itemMap[D.current]);\n }\n const C = l.current.pointerMoveEventMap[_];\n C && C(O, l.current.itemMap[_]), D.current = _;\n };\n return /* @__PURE__ */ L.jsxs(L.Fragment, { children: [\n /* @__PURE__ */ L.jsxs(\n \"div\",\n {\n ref: N.ref,\n ...h,\n style: {\n position: \"relative\",\n width: \"100%\",\n height: \"100%\",\n overflow: \"hidden\",\n boxSizing: \"border-box\",\n ...t\n },\n children: [\n /* @__PURE__ */ L.jsx(\n o,\n {\n ref: x,\n style: { display: \"block\", boxSizing: \"border-box\" },\n width: P.width,\n height: P.height,\n onClick: pe,\n onPointerMove: re\n }\n ),\n l.current.illu && /* @__PURE__ */ L.jsx(ve.Provider, { value: l, children: G })\n ]\n }\n ),\n /* @__PURE__ */ L.jsx(\n \"canvas\",\n {\n ref: T,\n style: {\n display: \"block\",\n boxSizing: \"border-box\",\n opacity: \"0\",\n position: \"fixed\",\n zIndex: \"1000\",\n pointerEvents: \"none\",\n background: \"black\"\n },\n width: P.width,\n height: P.height\n }\n )\n ] });\n }\n), dr = A(M.Anchor), vr = A(M.Shape), hr = A(M.Group), pr = A(M.Rect), br = A(M.RoundedRect), gr = A(M.Ellipse), mr = A(M.Polygon), _r = A(M.Hemisphere), yr = A(M.Cylinder), Er = A(M.Cone), Rr = A(M.Box);\nexport {\n dr as Anchor,\n Rr as Box,\n Er as Cone,\n yr as Cylinder,\n gr as Ellipse,\n hr as Group,\n _r as Hemisphere,\n fr as Illustration,\n mr as Polygon,\n pr as Rect,\n br as RoundedRect,\n vr as Shape,\n lr as useInvalidate,\n cr as useRender,\n ar as useZdog\n};\n","import styled from \"styled-components\";\n\n/**\n * Zdog HUD elements can calculate their own size and\n * use this create an appropriately sized container.\n */\nexport const RenderedElement = styled.div<{\n width: number;\n height: number;\n}>`\n width: ${(props) => props.width}px;\n height: ${(props) => props.height}px;\n`;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Illustration, Shape } from \"react-zdog\";\n\nimport { RenderedElement } from \"./RenderedElement\";\nimport { ControllerContext } from \"../Controller\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n`;\n\nconst VisLabel = styled.span`\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 2px;\n opacity: 0.4;\n`;\n\nconst ZOOM = 16;\nconst TILT = Math.PI / 6;\nconst BUMPER_WIDTH = 4;\nconst BUMPER_DEPTH = 2;\nconst PRESS_DEPTH = 0.4;\nconst INACTIVE = \"#48aff0\";\nconst ACTIVE = \"#f29e02\";\n\ninterface BumperProps {\n label: string;\n pressed: boolean;\n}\n\nconst BumperShape = ({ pressed }: { pressed: boolean }) => {\n const hw = BUMPER_WIDTH / 2;\n const hd = BUMPER_DEPTH / 2;\n return (\n <Shape\n path={[\n { x: -hw, y: 0, z: -hd },\n { x: hw, y: 0, z: -hd },\n { x: hw, y: 0, z: hd },\n { x: -hw, y: 0, z: hd },\n ]}\n stroke={0.3}\n color={pressed ? ACTIVE : INACTIVE}\n fill={pressed}\n closed={true}\n translate={{ y: pressed ? PRESS_DEPTH : 0 }}\n />\n );\n};\n\nconst Bumper = ({ label, pressed }: BumperProps) => (\n <Container>\n <RenderedElement\n width={(BUMPER_WIDTH + 2) * ZOOM}\n height={(BUMPER_DEPTH + 3) * ZOOM}\n >\n <Illustration element=\"svg\" zoom={ZOOM}>\n <Shape rotate={{ x: TILT }} stroke={0}>\n <BumperShape pressed={pressed} />\n </Shape>\n </Illustration>\n </RenderedElement>\n <VisLabel>{label}</VisLabel>\n </Container>\n);\n\nexport const LeftBumper = () => {\n const controller = React.useContext(ControllerContext);\n const [pressed, setPressed] = React.useState(controller.left.bumper.state);\n\n React.useEffect(() => {\n controller.left.bumper.on(\"change\", ({ state }) => setPressed(state));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return <Bumper label=\"L1\" pressed={pressed} />;\n};\n\nexport const RightBumper = () => {\n const controller = React.useContext(ControllerContext);\n const [pressed, setPressed] = React.useState(controller.right.bumper.state);\n\n React.useEffect(() => {\n controller.right.bumper.on(\"change\", ({ state }) => setPressed(state));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return <Bumper label=\"R1\" pressed={pressed} />;\n};\n","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Returns whether the keyboard event was triggered by Enter or Space, the two keys that are expected to trigger\n * interactive elements like buttons.\n */\nexport function isKeyboardClick(event: React.KeyboardEvent<HTMLElement>) {\n return event.key === \"Enter\" || event.key === \" \";\n}\n\nexport function isArrowKey(event: React.KeyboardEvent<HTMLElement>) {\n return [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"].indexOf(event.key) >= 0;\n}\n","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst ns = \"[Blueprint]\";\n\nexport const CLAMP_MIN_MAX = ns + ` clamp: max cannot be less than min`;\n\nexport const ALERT_WARN_CANCEL_PROPS = ns + ` <Alert> cancelButtonText and onCancel should be set together.`;\nexport const ALERT_WARN_CANCEL_ESCAPE_KEY =\n ns + ` <Alert> canEscapeKeyCancel enabled without onCancel or onClose handler.`;\nexport const ALERT_WARN_CANCEL_OUTSIDE_CLICK =\n ns + ` <Alert> canOutsideClickCancel enabled without onCancel or onClose handler.`;\n\nexport const HOTKEYS_HOTKEY_CHILDREN = ns + ` <Hotkeys> only accepts <Hotkey> children.`;\n\nexport const HOTKEYS_PROVIDER_NOT_FOUND =\n ns +\n ` useHotkeys() was used outside of a <HotkeysProvider> context. These hotkeys will not be shown in the hotkeys help dialog.`;\nexport const HOTKEYS_TARGET_CHILDREN_LOCAL_HOTKEYS =\n ns +\n ` <HotkeysTarget2> was configured with local hotkeys, but you did not use the generated event handlers to bind their event handlers. Try using a render function as the child of this component.`;\n\nexport const INPUT_WARN_LEFT_ELEMENT_LEFT_ICON_MUTEX =\n ns + ` <InputGroup> leftElement and leftIcon prop are mutually exclusive, with leftElement taking priority.`;\n\nexport const NUMERIC_INPUT_MIN_MAX = ns + ` <NumericInput> requires min to be no greater than max if both are defined.`;\nexport const NUMERIC_INPUT_MINOR_STEP_SIZE_BOUND =\n ns + ` <NumericInput> requires minorStepSize to be no greater than stepSize.`;\nexport const NUMERIC_INPUT_MAJOR_STEP_SIZE_BOUND =\n ns + ` <NumericInput> requires stepSize to be no greater than majorStepSize.`;\nexport const NUMERIC_INPUT_MINOR_STEP_SIZE_NON_POSITIVE =\n ns + ` <NumericInput> requires minorStepSize to be strictly greater than zero.`;\nexport const NUMERIC_INPUT_MAJOR_STEP_SIZE_NON_POSITIVE =\n ns + ` <NumericInput> requires majorStepSize to be strictly greater than zero.`;\nexport const NUMERIC_INPUT_STEP_SIZE_NON_POSITIVE =\n ns + ` <NumericInput> requires stepSize to be strictly greater than zero.`;\nexport const NUMERIC_INPUT_CONTROLLED_VALUE_INVALID =\n ns + ` <NumericInput> controlled value prop does not adhere to stepSize, min, and/or max constraints.`;\n\nexport const PANEL_STACK_INITIAL_PANEL_STACK_MUTEX =\n ns + ` <PanelStack> requires exactly one of initialPanel and stack prop`;\nexport const PANEL_STACK_REQUIRES_PANEL = ns + ` <PanelStack> requires at least one panel in the stack`;\n\nexport const OVERFLOW_LIST_OBSERVE_PARENTS_CHANGED =\n ns + ` <OverflowList> does not support changing observeParents after mounting.`;\n\nexport const POPOVER_REQUIRES_TARGET = `${ns} <Popover> requires renderTarget prop or a child element.`;\nexport const POPOVER_HAS_BACKDROP_INTERACTION = `${ns} <Popover hasBackdrop={true}> requires interactionKind=\"click\".`;\nexport const POPOVER_WARN_TOO_MANY_CHILDREN = `${ns} <Popover> supports only one child which is rendered as its target; additional children are ignored.`;\nexport const POPOVER_WARN_DOUBLE_TARGET =\n ns + ` <Popover> with children ignores renderTarget prop; use either prop or children.`;\nexport const POPOVER_WARN_EMPTY_CONTENT = ns + ` Disabling <Popover> with empty/whitespace content...`;\nexport const POPOVER_WARN_HAS_BACKDROP_INLINE = ns + ` <Popover usePortal={false}> ignores hasBackdrop`;\nexport const POPOVER_WARN_PLACEMENT_AND_POSITION_MUTEX =\n ns + ` <Popover> supports either placement or position prop, not both.`;\nexport const POPOVER_WARN_UNCONTROLLED_ONINTERACTION = ns + ` <Popover> onInteraction is ignored when uncontrolled.`;\nexport const POPOVER_WARN_TARGET_PROPS_WITH_RENDER_TARGET =\n ns + ` <Popover> targetProps value is ignored when renderTarget API is used.`;\n\nexport const PORTAL_CONTEXT_CLASS_NAME_STRING = ns + ` <Portal> context blueprintPortalClassName must be string`;\nexport const PORTAL_LEGACY_CONTEXT_API =\n ns + ` setting blueprintPortalClassName via legacy React context API is deprecated, use <PortalProvider> instead.`;\n\nexport const RADIOGROUP_WARN_CHILDREN_OPTIONS_MUTEX =\n ns + ` <RadioGroup> children and options prop are mutually exclusive, with options taking priority.`;\n\nexport const SLIDER_ZERO_STEP = ns + ` <Slider> stepSize must be greater than zero.`;\nexport const SLIDER_ZERO_LABEL_STEP = ns + ` <Slider> labelStepSize must be greater than zero.`;\nexport const SLIDER_MIN = ns + ` <Slider> min prop must be a finite number.`;\nexport const SLIDER_MAX = ns + ` <Slider> max prop must be a finite number.`;\nexport const RANGESLIDER_NULL_VALUE = ns + ` <RangeSlider> value prop must be an array of two non-null numbers.`;\nexport const MULTISLIDER_INVALID_CHILD = ns + ` <MultiSlider> children must be <SliderHandle>s or <SliderTrackStop>s`;\nexport const MULTISLIDER_WARN_LABEL_STEP_SIZE_LABEL_VALUES_MUTEX =\n ns +\n ` <MultiSlider> labelStepSize and labelValues prop are mutually exclusive, with labelStepSize taking priority.`;\n\nexport const SPINNER_WARN_CLASSES_SIZE = ns + ` <Spinner> Classes.SMALL/LARGE are ignored if size prop is set.`;\n\nexport const TOASTER_CREATE_NULL =\n ns +\n ` OverlayToaster.create() is not supported inside React lifecycle methods in React 16.` +\n ` See usage example on the docs site.`;\nexport const TOASTER_MAX_TOASTS_INVALID =\n ns + ` <OverlayToaster> maxToasts is set to an invalid number, must be greater than 0`;\nexport const TOASTER_WARN_INLINE =\n ns + ` OverlayToaster.create() ignores inline prop as it always creates a new element.`;\n\nexport const DIALOG_WARN_NO_HEADER_ICON = ns + ` <Dialog> iconName is ignored if title is omitted.`;\nexport const DIALOG_WARN_NO_HEADER_CLOSE_BUTTON =\n ns + ` <Dialog> isCloseButtonShown prop is ignored if title is omitted.`;\n\nexport const DRAWER_ANGLE_POSITIONS_ARE_CASTED =\n ns + ` <Drawer> all angle positions are casted into pure position (TOP, BOTTOM, LEFT or RIGHT)`;\n","/*\n * Copyright 2020 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { CLAMP_MIN_MAX } from \"../errors\";\n\n// injected by webpack.DefinePlugin\n// only accessible within this file, so use `Utils.isNodeEnv(env)` from the outside.\ndeclare let NODE_ENV: string;\n\n/** Returns whether bundler-injected variable `NODE_ENV` equals `env`. */\nexport function isNodeEnv(env: string) {\n return typeof NODE_ENV !== \"undefined\" && NODE_ENV === env;\n}\n\n/**\n * Returns the difference in length between two arrays. A `null` argument is\n * considered an empty list. The return value will be positive if `a` is longer\n * than `b`, negative if the opposite is true, and zero if their lengths are\n * equal.\n */\nexport function arrayLengthCompare(a: any[] = [], b: any[] = []) {\n return a.length - b.length;\n}\n\n/**\n * Returns true if the two numbers are within the given tolerance of each other.\n * This is useful to correct for floating point precision issues, less useful\n * for integers.\n */\nexport function approxEqual(a: number, b: number, tolerance = 0.00001) {\n return Math.abs(a - b) <= tolerance;\n}\n\n/**\n * Clamps the given number between min and max values. Returns value if within\n * range, or closest bound.\n */\nexport function clamp(val: number, min: number, max: number) {\n if (val == null) {\n return val;\n }\n if (max < min) {\n throw new Error(CLAMP_MIN_MAX);\n }\n return Math.min(Math.max(val, min), max);\n}\n\n/** Returns the number of decimal places in the given number. */\nexport function countDecimalPlaces(num: number) {\n if (!isFinite(num)) {\n return 0;\n }\n let e = 1;\n let p = 0;\n while (Math.round(num * e) / e !== num) {\n e *= 10;\n p++;\n }\n return p;\n}\n\nconst uniqueCountForNamespace = new Map<string, number>();\n/** Generate a unique ID within a given namespace, using a simple counter-based implementation to avoid collisions. */\nexport function uniqueId(namespace: string) {\n const curCount = uniqueCountForNamespace.get(namespace) ?? 0;\n uniqueCountForNamespace.set(namespace, curCount + 1);\n return `${namespace}-${curCount}`;\n}\n","/*\n * Copyright 2019 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as React from \"react\";\n\nimport { isNodeEnv } from \"./utils\";\n\n/**\n * An abstract component that Blueprint components can extend\n * in order to add some common functionality like runtime props validation.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport abstract class AbstractPureComponent<P, S = {}, SS = {}> extends React.PureComponent<P, S, SS> {\n // unsafe lifecycle method\n public componentWillUpdate!: never;\n\n public componentWillReceiveProps!: never;\n\n public componentWillMount!: never;\n\n // this should be static, not an instance method\n public getDerivedStateFromProps!: never;\n\n /** Component displayName should be `public static`. This property exists to prevent incorrect usage. */\n protected displayName!: never;\n\n // Not bothering to remove entries when their timeouts finish because clearing invalid ID is a no-op\n private timeoutIds: number[] = [];\n\n private requestIds: number[] = [];\n\n constructor(props: P) {\n super(props);\n if (!isNodeEnv(\"production\")) {\n this.validateProps(this.props);\n }\n }\n\n public componentDidUpdate(_prevProps: P, _prevState: S, _snapshot?: SS) {\n if (!isNodeEnv(\"production\")) {\n this.validateProps(this.props);\n }\n }\n\n public componentWillUnmount() {\n this.clearTimeouts();\n this.cancelAnimationFrames();\n }\n\n /**\n * Request an animation frame and remember its ID.\n * All pending requests will be canceled when component unmounts.\n *\n * @returns a \"cancel\" function that will cancel the request when invoked.\n */\n public requestAnimationFrame(callback: () => void) {\n const handle = window.requestAnimationFrame(callback);\n this.requestIds.push(handle);\n return () => window.cancelAnimationFrame(handle);\n }\n\n /**\n * Set a timeout and remember its ID.\n * All pending timeouts will be cleared when component unmounts.\n *\n * @returns a \"cancel\" function that will clear timeout when invoked.\n */\n public setTimeout(callback: () => void, timeout?: number) {\n const handle = window.setTimeout(callback, timeout);\n this.timeoutIds.push(handle);\n return () => window.clearTimeout(handle);\n }\n\n /**\n * Clear all known timeouts.\n */\n public clearTimeouts = () => {\n if (this.timeoutIds.length > 0) {\n for (const timeoutId of this.timeoutIds) {\n window.clearTimeout(timeoutId);\n }\n this.timeoutIds = [];\n }\n };\n\n /**\n * Clear all known animation frame requests.\n */\n public cancelAnimationFrames = () => {\n if (this.requestIds.length > 0) {\n for (const requestId of this.requestIds) {\n window.cancelAnimationFrame(requestId);\n }\n this.requestIds = [];\n }\n };\n\n /**\n * Ensures that the props specified for a component are valid.\n * Implementations should check that props are valid and usually throw an Error if they are not.\n * Implementations should not duplicate checks that the type system already guarantees.\n *\n * This method should be used instead of React's\n * [propTypes](https://facebook.github.io/react/docs/reusable-components.html#prop-validation) feature.\n * Like propTypes, these runtime checks run only in development mode.\n */\n protected validateProps(_props: P) {\n // implement in subclass\n }\n}\n","/*\n * Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classNames from \"classnames\";\nimport * as React from \"react\";\n\nimport { AbstractPureComponent, Classes } from \"../../common\";\nimport { SPINNER_WARN_CLASSES_SIZE } from \"../../common/errors\";\nimport { DISPLAYNAME_PREFIX, type IntentProps, type Props } from \"../../common/props\";\nimport { clamp } from \"../../common/utils\";\n\nexport enum SpinnerSize {\n SMALL = 20,\n STANDARD = 50,\n LARGE = 100,\n}\n\n// see http://stackoverflow.com/a/18473154/3124288 for calculating arc path\nconst R = 45;\nconst SPINNER_TRACK = `M 50,50 m 0,-${R} a ${R},${R} 0 1 1 0,${R * 2} a ${R},${R} 0 1 1 0,-${R * 2}`;\n\n// unitless total length of SVG path, to which stroke-dash* properties are relative.\n// https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pathLength\n// this value is the result of `<path d={SPINNER_TRACK} />.getTotalLength()` and works in all browsers:\nconst PATH_LENGTH = 280;\n\nconst MIN_SIZE = 10;\nconst STROKE_WIDTH = 4;\nconst MIN_STROKE_WIDTH = 16;\n\nexport interface SpinnerProps<T extends HTMLElement = HTMLElement> extends Props, IntentProps, React.HTMLAttributes<T> {\n /**\n * Width and height of the spinner in pixels. The size cannot be less than\n * 10px.\n *\n * Constants are available for common sizes:\n * - `SpinnerSize.SMALL = 20px`\n * - `SpinnerSize.STANDARD = 50px`\n * - `SpinnerSize.LARGE = 100px`\n *\n * @default SpinnerSize.STANDARD = 50\n */\n size?: number;\n\n /**\n * HTML tag for the two wrapper elements. If rendering a `<Spinner>` inside\n * an `<svg>`, change this to an SVG element like `\"g\"`.\n *\n * @default \"div\"\n */\n tagName?: keyof JSX.IntrinsicElements;\n\n /**\n * A value between 0 and 1 (inclusive) representing how far along the operation is.\n * Values below 0 or above 1 will be interpreted as 0 or 1 respectively.\n * Omitting this prop will result in an \"indeterminate\" spinner where the head spins indefinitely.\n */\n value?: number;\n}\n\n/**\n * Spinner component.\n *\n * @see https://blueprintjs.com/docs/#core/components/spinner\n */\nexport class Spinner extends AbstractPureComponent<SpinnerProps> {\n public static displayName = `${DISPLAYNAME_PREFIX}.Spinner`;\n\n public componentDidUpdate(prevProps: SpinnerProps) {\n if (prevProps.value !== this.props.value) {\n // IE/Edge: re-render after changing value to force SVG update\n this.forceUpdate();\n }\n }\n\n public render() {\n const { className, intent, value, tagName = \"div\", ...htmlProps } = this.props;\n const size = this.getSize();\n\n const classes = classNames(\n Classes.SPINNER,\n Classes.intentClass(intent),\n { [Classes.SPINNER_NO_SPIN]: value != null },\n className,\n );\n\n // keep spinner track width consistent at all sizes (down to about 10px).\n const strokeWidth = Math.min(MIN_STROKE_WIDTH, (STROKE_WIDTH * SpinnerSize.LARGE) / size);\n const strokeOffset = PATH_LENGTH - PATH_LENGTH * (value == null ? 0.25 : clamp(value, 0, 1));\n\n // multiple DOM elements around SVG are necessary to properly isolate animation:\n // - SVG elements in IE do not support anim/trans so they must be set on a parent HTML element.\n // - SPINNER_ANIMATION isolates svg from parent display and is always centered inside root element.\n return React.createElement(\n tagName,\n {\n \"aria-label\": \"loading\",\n \"aria-valuemax\": 100,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": value === undefined ? undefined : value * 100,\n className: classes,\n role: \"progressbar\",\n ...htmlProps,\n },\n React.createElement(\n tagName,\n { className: Classes.SPINNER_ANIMATION },\n <svg\n width={size}\n height={size}\n strokeWidth={strokeWidth.toFixed(2)}\n viewBox={this.getViewBox(strokeWidth)}\n >\n <path className={Classes.SPINNER_TRACK} d={SPINNER_TRACK} />\n <path\n className={Classes.SPINNER_HEAD}\n d={SPINNER_TRACK}\n pathLength={PATH_LENGTH}\n strokeDasharray={`${PATH_LENGTH} ${PATH_LENGTH}`}\n strokeDashoffset={strokeOffset}\n />\n </svg>,\n ),\n );\n }\n\n protected validateProps({ className = \"\", size }: SpinnerProps) {\n if (size != null && (className.indexOf(Classes.SMALL) >= 0 || className.indexOf(Classes.LARGE) >= 0)) {\n console.warn(SPINNER_WARN_CLASSES_SIZE);\n }\n }\n\n /**\n * Resolve size to a pixel value.\n * Size can be set by className, props, default, or minimum constant.\n */\n private getSize() {\n const { className = \"\", size } = this.props;\n if (size == null) {\n // allow Classes constants to determine default size.\n if (className.indexOf(Classes.SMALL) >= 0) {\n return SpinnerSize.SMALL;\n } else if (className.indexOf(Classes.LARGE) >= 0) {\n return SpinnerSize.LARGE;\n }\n return SpinnerSize.STANDARD;\n }\n return Math.max(MIN_SIZE, size);\n }\n\n /** Compute viewbox such that stroked track sits exactly at edge of image frame. */\n private getViewBox(strokeWidth: number) {\n const radius = R + strokeWidth / 2;\n const viewBoxX = (50 - radius).toFixed(2);\n const viewBoxWidth = (radius * 2).toFixed(2);\n return `${viewBoxX} ${viewBoxX} ${viewBoxWidth} ${viewBoxWidth}`;\n }\n}\n","/*\n * Copyright 2016 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classNames from \"classnames\";\nimport * as React from \"react\";\n\nimport { Classes, Utils } from \"../../common\";\nimport { DISPLAYNAME_PREFIX, removeNonHTMLProps } from \"../../common/props\";\nimport { mergeRefs } from \"../../common/refs\";\nimport { Icon } from \"../icon/icon\";\nimport { Spinner, SpinnerSize } from \"../spinner/spinner\";\nimport type { AnchorButtonProps, ButtonProps } from \"./buttonProps\";\n\n/**\n * Button component.\n *\n * @see https://blueprintjs.com/docs/#core/components/button\n */\nexport const Button: React.FC<ButtonProps> = React.forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n const commonAttributes = useSharedButtonAttributes(props, ref);\n\n return (\n <button type=\"button\" {...removeNonHTMLProps(props)} {...commonAttributes}>\n {renderButtonContents(props)}\n </button>\n );\n});\nButton.displayName = `${DISPLAYNAME_PREFIX}.Button`;\n\n/**\n * AnchorButton component.\n *\n * @see https://blueprintjs.com/docs/#core/components/button\n */\nexport const AnchorButton: React.FC<AnchorButtonProps> = React.forwardRef<HTMLAnchorElement, AnchorButtonProps>(\n (props, ref) => {\n const { href, tabIndex = 0 } = props;\n const commonProps = useSharedButtonAttributes(props, ref);\n\n return (\n <a\n role=\"button\"\n {...removeNonHTMLProps(props)}\n {...commonProps}\n href={commonProps.disabled ? undefined : href}\n tabIndex={commonProps.disabled ? -1 : tabIndex}\n >\n {renderButtonContents(props)}\n </a>\n );\n },\n);\nAnchorButton.displayName = `${DISPLAYNAME_PREFIX}.AnchorButton`;\n\n/**\n * Most of the button logic lives in this shared hook.\n */\nfunction useSharedButtonAttributes<E extends HTMLAnchorElement | HTMLButtonElement>(\n props: E extends HTMLAnchorElement ? AnchorButtonProps : ButtonProps,\n ref: React.Ref<E>,\n) {\n const { active = false, alignText, fill, large, loading = false, outlined, minimal, small, tabIndex } = props;\n const disabled = props.disabled || loading;\n\n // the current key being pressed\n const [currentKeyPressed, setCurrentKeyPressed] = React.useState<string | undefined>();\n // whether the button is in \"active\" state\n const [isActive, setIsActive] = React.useState(false);\n // our local ref for the button element, merged with the consumer's own ref (if supplied) in this hook's return value\n const buttonRef = React.useRef<E | null>(null);\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<any>) => {\n if (isActive) {\n setIsActive(false);\n }\n props.onBlur?.(e);\n },\n [isActive, props.onBlur],\n );\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<any>) => {\n if (Utils.isKeyboardClick(e)) {\n e.preventDefault();\n if (e.key !== currentKeyPressed) {\n setIsActive(true);\n }\n }\n setCurrentKeyPressed(e.key);\n props.onKeyDown?.(e);\n },\n [currentKeyPressed, props.onKeyDown],\n );\n const handleKeyUp = React.useCallback(\n (e: React.KeyboardEvent<any>) => {\n if (Utils.isKeyboardClick(e)) {\n setIsActive(false);\n buttonRef.current?.click();\n }\n setCurrentKeyPressed(undefined);\n props.onKeyUp?.(e);\n },\n [props.onKeyUp],\n );\n\n const className = classNames(\n Classes.BUTTON,\n {\n [Classes.ACTIVE]: !disabled && (active || isActive),\n [Classes.DISABLED]: disabled,\n [Classes.FILL]: fill,\n [Classes.LARGE]: large,\n [Classes.LOADING]: loading,\n [Classes.MINIMAL]: minimal,\n [Classes.OUTLINED]: outlined,\n [Classes.SMALL]: small,\n },\n Classes.alignmentClass(alignText),\n Classes.intentClass(props.intent),\n props.className,\n );\n\n return {\n className,\n disabled,\n onBlur: handleBlur,\n onClick: disabled ? undefined : props.onClick,\n onFocus: disabled ? undefined : props.onFocus,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n ref: mergeRefs(buttonRef, ref),\n tabIndex: disabled ? -1 : tabIndex,\n };\n}\n\n/**\n * Shared rendering code for button contents.\n */\nfunction renderButtonContents<E extends HTMLAnchorElement | HTMLButtonElement>(\n props: E extends HTMLAnchorElement ? AnchorButtonProps : ButtonProps,\n) {\n const { children, icon, loading, rightIcon, text } = props;\n const hasTextContent = !Utils.isReactNodeEmpty(text) || !Utils.isReactNodeEmpty(children);\n return (\n <>\n {loading && <Spinner key=\"loading\" className={Classes.BUTTON_SPINNER} size={SpinnerSize.SMALL} />}\n <Icon key=\"leftIcon\" icon={icon} />\n {hasTextContent && (\n <span key=\"text\" className={Classes.BUTTON_TEXT}>\n {text}\n {children}\n </span>\n )}\n <Icon key=\"rightIcon\" icon={rightIcon} />\n </>\n );\n}\n","import { useEffect, useState, useContext } from \"react\";\nimport { Button as BlueprintButton, Tag } from \"@blueprintjs/core\";\nimport styled, { keyframes } from \"styled-components\";\n\nimport { ControllerContext, requestPermission } from \"../Controller\";\n\nconst StatusContainer = styled.div`\n display: flex;\n align-items: center;\n gap: 12px;\n`;\n\nconst pulse = keyframes`\n 0%, 100% { box-shadow: 0 0 0 0 rgba(242, 158, 2, 0.4); }\n 50% { box-shadow: 0 0 0 8px rgba(242, 158, 2, 0); }\n`;\n\nconst PulsingButton = styled(BlueprintButton)`\n animation: ${pulse} 2s ease-in-out infinite;\n`;\n\nexport const ControllerConnection = () => {\n const controller = useContext(ControllerContext);\n const [connected, setConnected] = useState(controller.connection.state);\n\n useEffect(() => {\n const handler = ({ state }: { state: boolean }) => setConnected(state);\n controller.connection.on(\"change\", handler);\n }, [controller]);\n\n if (!connected) {\n return (\n <StatusContainer>\n <PulsingButton\n onClick={requestPermission}\n outlined={true}\n intent=\"warning\"\n text=\"Connect Controller\"\n />\n </StatusContainer>\n );\n }\n\n const method =\n controller.hid.provider.wireless === undefined\n ? \"unknown\"\n : controller.hid.provider.wireless\n ? \"bluetooth\"\n : \"usb\";\n\n const btIcon = (\n <svg width=\"10\" height=\"14\" viewBox=\"0 0 10 14\" style={{ display: \"block\" }}>\n <path\n d=\"M5 0.5 L5 13.5 M5 0.5 L8.5 4 L5 7 L8.5 10 L5 13.5 M1.5 4 L5 7 M1.5 10 L5 7\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n\n const usbIcon = (\n <svg width=\"12\" height=\"14\" viewBox=\"0 0 12 14\" style={{ display: \"block\" }}>\n <path\n d=\"M6 1 L6 11 M6 1 L4 3.5 M6 1 L8 3.5\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <circle cx=\"9\" cy=\"7\" r=\"1.5\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1\" />\n <rect x=\"1.5\" y=\"9\" width=\"3\" height=\"2.5\" rx=\"0.5\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1\" />\n <path\n d=\"M6 5 L9 5.5 L9 7 M6 8 L3 8.5 L3 9\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1\"\n strokeLinecap=\"round\"\n />\n <circle cx=\"6\" cy=\"11\" r=\"1.5\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1\" />\n </svg>\n );\n\n const methodIcon = method === \"bluetooth\" ? btIcon : method === \"usb\" ? usbIcon : null;\n\n return (\n <StatusContainer>\n <Tag minimal={true} intent=\"success\" icon=\"link\">\n Connected\n </Tag>\n <Tag minimal={true} icon={methodIcon ?? undefined}>\n {method.charAt(0).toUpperCase() + method.slice(1)}\n </Tag>\n {controller.hid.provider.limited && (\n <Tag minimal={true} intent=\"warning\">\n Limited\n </Tag>\n )}\n </StatusContainer>\n );\n};\n","// @flow\n\nimport css from './css';\nimport generateComponentId from '../utils/generateComponentId';\nimport Keyframes from '../models/Keyframes';\n\nimport type { Interpolation, Styles } from '../types';\n\nexport default function keyframes(\n strings: Styles,\n ...interpolations: Array<Interpolation>\n): Keyframes {\n /* Warning if you've used keyframes on React Native */\n if (\n process.env.NODE_ENV !== 'production' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative'\n ) {\n // eslint-disable-next-line no-console\n console.warn(\n '`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.'\n );\n }\n\n const rules = css(strings, ...interpolations).join('');\n const name = generateComponentId(rules);\n return new Keyframes(name, rules);\n}\n","/*\n * Copyright 2017 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classNames from \"classnames\";\nimport * as React from \"react\";\n\nimport { Classes, Elevation } from \"../../common\";\nimport { DISPLAYNAME_PREFIX, type HTMLDivProps, type Props } from \"../../common/props\";\n\nexport interface CardProps extends Props, HTMLDivProps, React.RefAttributes<HTMLDivElement> {\n /**\n * Controls the intensity of the drop shadow beneath the card: the higher\n * the elevation, the higher the drop shadow. At elevation `0`, no drop\n * shadow is applied.\n *\n * @default 0\n */\n elevation?: Elevation;\n\n /**\n * Whether the card should respond to user interactions. If set to `true`,\n * hovering over the card will increase the card's elevation\n * and change the mouse cursor to a pointer.\n *\n * Recommended when `onClick` is also defined.\n *\n * @default false\n */\n interactive?: boolean;\n\n /**\n * Whether this card should appear selected.\n *\n * @default undefined\n */\n selected?: boolean;\n\n /**\n * Whether this component should use compact styles with reduced visual padding.\n *\n * @default false\n */\n compact?: boolean;\n\n /**\n * Callback invoked when the card is clicked.\n * Recommended when `interactive` is `true`.\n */\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;\n}\n\n/**\n * Card component.\n *\n * @see https://blueprintjs.com/docs/#core/components/card\n */\nexport const Card: React.FC<CardProps> = React.forwardRef((props, ref) => {\n const { className, elevation, interactive, selected, compact, ...htmlProps } = props;\n const classes = classNames(className, Classes.CARD, Classes.elevationClass(elevation!), {\n [Classes.INTERACTIVE]: interactive,\n [Classes.COMPACT]: compact,\n [Classes.SELECTED]: selected,\n });\n return <div className={classes} ref={ref} {...htmlProps} />;\n});\nCard.defaultProps = {\n elevation: Elevation.ZERO,\n interactive: false,\n};\nCard.displayName = `${DISPLAYNAME_PREFIX}.Card`;\n","/*\n * Copyright 2016 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classNames from \"classnames\";\nimport * as React from \"react\";\n\nimport { Classes, mergeRefs } from \"../../common\";\nimport { DISPLAYNAME_PREFIX } from \"../../common/props\";\nimport type { ControlProps } from \"./controlProps\";\n\n/** Internal props for Checkbox/Radio/Switch to render correctly. */\ninterface ControlInternalProps extends ControlProps {\n type: \"checkbox\" | \"radio\";\n typeClassName: string;\n indicatorChildren?: React.ReactNode;\n}\n\n/**\n * Renders common control elements, with additional props to customize appearance.\n * This component is not exported and is only used within this module for `Checkbox`, `Radio`, and `Switch` below.\n */\nconst ControlInternal: React.FC<ControlInternalProps> = React.forwardRef<HTMLLabelElement, ControlInternalProps>(\n (props, ref) => {\n const {\n alignIndicator,\n children,\n className,\n indicatorChildren,\n inline,\n inputRef,\n label,\n labelElement,\n large,\n style,\n type,\n typeClassName,\n tagName = \"label\",\n ...htmlProps\n } = props;\n const classes = classNames(\n Classes.CONTROL,\n typeClassName,\n {\n [Classes.DISABLED]: htmlProps.disabled,\n [Classes.INLINE]: inline,\n [Classes.LARGE]: large,\n },\n Classes.alignmentClass(alignIndicator),\n className,\n );\n\n return React.createElement(\n tagName,\n { className: classes, style, ref },\n <input {...htmlProps} ref={inputRef} type={type} />,\n <span className={Classes.CONTROL_INDICATOR}>{indicatorChildren}</span>,\n label,\n labelElement,\n children,\n );\n },\n);\nControlInternal.displayName = `${DISPLAYNAME_PREFIX}.Control`;\n\n//\n// Switch\n//\n\nexport interface SwitchProps extends ControlProps {\n /**\n * Text to display inside the switch indicator when checked.\n * If `innerLabel` is provided and this prop is omitted, then `innerLabel`\n * will be used for both states.\n *\n * @default innerLabel\n */\n innerLabelChecked?: string;\n\n /**\n * Text to display inside the switch indicator when unchecked.\n */\n innerLabel?: string;\n}\n\n/**\n * Switch component.\n *\n * @see https://blueprintjs.com/docs/#core/components/switch\n */\nexport const Switch: React.FC<SwitchProps> = React.forwardRef(\n ({ innerLabelChecked, innerLabel, ...controlProps }, ref) => {\n const switchLabels =\n innerLabel || innerLabelChecked\n ? [\n <div key=\"checked\" className={Classes.CONTROL_INDICATOR_CHILD}>\n <div className={Classes.SWITCH_INNER_TEXT}>\n {innerLabelChecked ? innerLabelChecked : innerLabel}\n </div>\n </div>,\n <div key=\"unchecked\" className={Classes.CONTROL_INDICATOR_CHILD}>\n <div className={Classes.SWITCH_INNER_TEXT}>{innerLabel}</div>\n </div>,\n ]\n : null;\n return (\n <ControlInternal\n {...controlProps}\n indicatorChildren={switchLabels}\n ref={ref}\n type=\"checkbox\"\n typeClassName={Classes.SWITCH}\n />\n );\n },\n);\nSwitch.displayName = `${DISPLAYNAME_PREFIX}.Switch`;\n\n//\n// Radio\n//\n\nexport type RadioProps = ControlProps;\n\n/**\n * Radio component.\n *\n * @see https://blueprintjs.com/docs/#core/components/radio\n */\nexport const Radio: React.FC<RadioProps> = React.forwardRef((props, ref) => (\n <ControlInternal {...props} ref={ref} type=\"radio\" typeClassName={Classes.RADIO} />\n));\nRadio.displayName = `${DISPLAYNAME_PREFIX}.Radio`;\n\n//\n// Checkbox\n//\n\nexport interface CheckboxProps extends ControlProps {\n /** Whether this checkbox is initially indeterminate (uncontrolled mode). */\n defaultIndeterminate?: boolean;\n\n /**\n * Whether this checkbox is indeterminate, or \"partially checked.\"\n * The checkbox will appear with a small dash instead of a tick to indicate that the value\n * is not exactly true or false.\n *\n * Note that this prop takes precendence over `checked`: if a checkbox is marked both\n * `checked` and `indeterminate` via props, it will appear as indeterminate in the DOM.\n */\n indeterminate?: boolean;\n}\n\n/**\n * Checkbox component.\n *\n * @see https://blueprintjs.com/docs/#core/components/checkbox\n */\nexport const Checkbox: React.FC<CheckboxProps> = React.forwardRef((props, ref) => {\n const { defaultIndeterminate, indeterminate, onChange, ...controlProps } = props;\n const [isIndeterminate, setIsIndeterminate] = React.useState<boolean>(\n indeterminate || defaultIndeterminate || false,\n );\n\n const localInputRef = React.useRef<HTMLInputElement>(null);\n const inputRef = props.inputRef === undefined ? localInputRef : mergeRefs(props.inputRef, localInputRef);\n\n const handleChange = React.useCallback(\n (evt: React.ChangeEvent<HTMLInputElement>) => {\n // update state immediately only if uncontrolled\n if (indeterminate === undefined) {\n setIsIndeterminate(evt.target.indeterminate);\n }\n // otherwise wait for props change. always invoke handler.\n onChange?.(evt);\n },\n [indeterminate, onChange],\n );\n\n React.useEffect(() => {\n if (indeterminate !== undefined) {\n setIsIndeterminate(indeterminate);\n }\n }, [indeterminate]);\n\n React.useEffect(() => {\n if (localInputRef.current != null) {\n localInputRef.current.indeterminate = isIndeterminate;\n }\n }, [localInputRef, isIndeterminate]);\n\n return (\n <ControlInternal\n {...controlProps}\n inputRef={inputRef}\n onChange={handleChange}\n ref={ref}\n type=\"checkbox\"\n typeClassName={Classes.CHECKBOX}\n />\n );\n});\nCheckbox.displayName = `${DISPLAYNAME_PREFIX}.Checkbox`;\n","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as React from \"react\";\nimport type { SVGIconProps } from \"../../svgIconProps\";\nimport { IconSize } from \"../../iconTypes\";\nimport { SVGIconContainer } from \"../../svgIconContainer\";\n\nexport const DoubleCaretVertical: React.FC<SVGIconProps> = React.forwardRef<any, SVGIconProps>((props, ref) => {\n const isLarge = props.size! >= IconSize.LARGE;\n const pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n const translation = `${-1 * pixelGridSize / 0.05 / 2}`;\n return (\n <SVGIconContainer iconName=\"double-caret-vertical\" ref={ref} {...props}>\n <path\n d={isLarge ? \"M100 220H300C311 220 320 229 320 240C320 244.8 318 249.2 315.2 252.6L315.4 252.8L215.4 372.8L215.2 372.6C211.4 377 206.2 380 200 380S188.6 377 184.8 372.6L184.6 372.8L84.6 252.8L84.8 252.6C82 249.2 80 244.8 80 240C80 229 89 220 100 220zM300 180H100C89 180 80 171 80 160C80 155.2 82 150.8 84.8 147.4L84.6 147.2L184.6 27.2L184.8 27.4C188.6 23 193.8 20 200 20S211.4 23 215.2 27.4L215.4 27.2L315.4 147.2L315.2 147.4C318 150.8 320 155.2 320 160C320 171 311 180 300 180z\" : \"M100 180H220C231 180 240 189 240 200C240 205.6 237.8 210.6 234.2 214.2L174.2 274.2C170.6 277.8 165.6 280 160 280S149.4 277.8 145.8 274.2L85.8 214.2C82.2 210.6 80 205.6 80 200C80 189 89 180 100 180zM220 140H100C89 140 80 131 80 120C80 114.4 82.2 109.4 85.8 105.8L145.8 45.8C149.4 42.2 154.4 40 160 40S170.6 42.2 174.2 45.8L234.2 105.8C237.8 109.4 240 114.4 240 120C240 131 231 140 220 140z\"}\n fillRule=\"evenodd\"\n transform-origin=\"center\"\n transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}\n />\n </SVGIconContainer>\n )\n});\nDoubleCaretVertical.defaultProps = {\n size: IconSize.STANDARD,\n};\nDoubleCaretVertical.displayName = `Blueprint5.Icon.DoubleCaretVertical`;\nexport default DoubleCaretVertical;\n","/*\n * Copyright 2021 Palantir Technologies, Inc. All rights reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as React from \"react\";\nimport type { SVGIconProps } from \"../../svgIconProps\";\nimport { IconSize } from \"../../iconTypes\";\nimport { SVGIconContainer } from \"../../svgIconContainer\";\n\nexport const CaretDown: React.FC<SVGIconProps> = React.forwardRef<any, SVGIconProps>((props, ref) => {\n const isLarge = props.size! >= IconSize.LARGE;\n const pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;\n const translation = `${-1 * pixelGridSize / 0.05 / 2}`;\n return (\n <SVGIconContainer iconName=\"caret-down\" ref={ref} {...props}>\n <path\n d={isLarge ? \"M320 260C320 271 311 280 300 280H100C89 280 80 271 80 260C80 255.2 82 250.8 84.8 247.4L84.6 247.2L184.6 127.2L184.8 127.4C188.6 123 193.8 120 200 120S211.4 123 215.2 127.4L215.4 127.2L315.4 247.2L315.2 247.4C318 250.8 320 255.2 320 260z\" : \"M240 190C240 195.6 235.6 200 230 200H90C84.4 200 80 195.6 80 190C80 187.4 81 185.2 82.6 183.4C82.6 183.4 82.6 183.4 82.6 183.4L152.6 103.4L152.6 103.4C154.4 101.4 157 100 160 100S165.6 101.4 167.4 103.4L167.4 103.4L237.4 183.4L237.4 183.4C239 185.2 240 187.4 240 190z\"}\n fillRule=\"evenodd\"\n transform-origin=\"center\"\n transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}\n />\n </SVGIconContainer>\n )\n});\nCaretDown.defaultProps = {\n size: IconSize.STANDARD,\n};\nCaretDown.displayName = `Blueprint5.Icon.CaretDown`;\nexport default CaretDown;\n","/*\n * Copyright 2018 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classNames from \"classnames\";\nimport * as React from \"react\";\n\nimport { CaretDown, DoubleCaretVertical, type IconName, type SVGIconProps } from \"@blueprintjs/icons\";\n\nimport { DISABLED, FILL, HTML_SELECT, LARGE, MINIMAL } from \"../../common/classes\";\nimport { DISPLAYNAME_PREFIX, type OptionProps } from \"../../common/props\";\nimport type { Extends } from \"../../common/utils\";\n\nexport type HTMLSelectIconName = Extends<IconName, \"double-caret-vertical\" | \"caret-down\">;\n\nexport interface HTMLSelectProps\n extends React.RefAttributes<HTMLSelectElement>,\n React.SelectHTMLAttributes<HTMLSelectElement> {\n children?: React.ReactNode;\n\n /** Whether this element is non-interactive. */\n disabled?: boolean;\n\n /** Whether this element should fill its container. */\n fill?: boolean;\n\n /**\n * Name of one of the supported icons for this component to display on the right side of the element.\n *\n * @default \"double-caret-vertical\"\n */\n iconName?: HTMLSelectIconName;\n\n /**\n * Props to spread to the icon element displayed on the right side of the element.\n */\n iconProps?: Partial<SVGIconProps>;\n\n /** Whether to use large styles. */\n large?: boolean;\n\n /** Whether to use minimal styles. */\n minimal?: boolean;\n\n /** Multiple select is not supported. */\n multiple?: never;\n\n /** Change event handler. Use `event.currentTarget.value` to access the new value. */\n onChange?: React.ChangeEventHandler<HTMLSelectElement>;\n\n /**\n * Shorthand for supplying options: an array of basic types or\n * `{ label?, value }` objects. If no `label` is supplied, `value`\n * will be used as the label.\n */\n options?: ReadonlyArray<string | number | OptionProps>;\n\n /** Controlled value of this component. */\n value?: string | number;\n}\n\n// this component is simple enough that tests would be purely tautological.\n/* istanbul ignore next */\n/**\n * HTML select component\n *\n * @see https://blueprintjs.com/docs/#core/components/html-select\n */\nexport const HTMLSelect: React.FC<HTMLSelectProps> = React.forwardRef((props, ref) => {\n const {\n className,\n children,\n disabled,\n fill,\n iconName = \"double-caret-vertical\",\n iconProps,\n large,\n minimal,\n options = [],\n value,\n ...htmlProps\n } = props;\n const classes = classNames(\n HTML_SELECT,\n {\n [DISABLED]: disabled,\n [FILL]: fill,\n [LARGE]: large,\n [MINIMAL]: minimal,\n },\n className,\n );\n\n const iconTitle = \"Open dropdown\";\n const rightIcon =\n iconName === \"double-caret-vertical\" ? (\n <DoubleCaretVertical title={iconTitle} {...iconProps} />\n ) : (\n <CaretDown title={iconTitle} {...iconProps} />\n );\n\n const optionChildren = options.map(option => {\n const optionProps: OptionProps = typeof option === \"object\" ? option : { value: option };\n return <option {...optionProps} key={optionProps.value} children={optionProps.label || optionProps.value} />;\n });\n\n return (\n <div className={classes}>\n <select disabled={disabled} ref={ref} value={value} {...htmlProps} multiple={false}>\n {optionChildren}\n {children}\n </select>\n {rightIcon}\n </div>\n );\n});\nHTMLSelect.displayName = `${DISPLAYNAME_PREFIX}.HTMLSelect`;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { HTMLSelect, Button, Tag } from \"@blueprintjs/core\";\nimport { Dualsense, TriggerEffect, TriggerFeedbackConfig } from \"dualsense-ts\";\n\nconst Panel = styled.div`\n display: flex;\n gap: 16px;\n align-items: flex-start;\n flex-wrap: wrap;\n`;\n\nconst Row = styled.div`\n display: flex;\n align-items: center;\n gap: 10px;\n`;\n\nconst Section = styled.div`\n display: flex;\n flex-direction: column;\n gap: 6px;\n min-width: 140px;\n`;\n\nconst SliderSection = styled.div`\n flex: 1;\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n min-width: 200px;\n`;\n\nconst SectionLabel = styled.span`\n font-size: 9px;\n text-transform: uppercase;\n letter-spacing: 1px;\n opacity: 0.35;\n`;\n\nconst BAR_WIDTH = 180;\nconst BAR_HEIGHT = 28;\nconst INACTIVE = \"#48aff0\";\n\nconst HBar = ({\n label,\n value,\n onChange,\n min = 0,\n max = 1,\n step = 0.05,\n formatValue,\n}: {\n label: string;\n value: number;\n onChange: (v: number) => void;\n min?: number;\n max?: number;\n step?: number;\n formatValue?: (v: number) => string;\n}) => {\n const svgRef = React.useRef<SVGSVGElement>(null);\n const dragging = React.useRef(false);\n\n const valueFromEvent = React.useCallback(\n (e: React.MouseEvent | MouseEvent) => {\n const svg = svgRef.current;\n if (!svg) return;\n const rect = svg.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const ratio = Math.max(0, Math.min(1, x / rect.width));\n const raw = min + ratio * (max - min);\n const stepped = Math.round(raw / step) * step;\n onChange(Math.max(min, Math.min(max, stepped)));\n },\n [onChange, min, max, step]\n );\n\n const handleMouseDown = React.useCallback(\n (e: React.MouseEvent) => {\n dragging.current = true;\n valueFromEvent(e);\n const handleMove = (ev: MouseEvent) => {\n if (dragging.current) valueFromEvent(ev);\n };\n const handleUp = () => {\n dragging.current = false;\n window.removeEventListener(\"mousemove\", handleMove);\n window.removeEventListener(\"mouseup\", handleUp);\n };\n window.addEventListener(\"mousemove\", handleMove);\n window.addEventListener(\"mouseup\", handleUp);\n },\n [valueFromEvent]\n );\n\n const ratio = (value - min) / (max - min);\n const fillW = ratio * BAR_WIDTH;\n const display = formatValue ? formatValue(value) : value <= 1 ? Math.round(value * 100) + \"%\" : String(value);\n\n return (\n <svg\n ref={svgRef}\n width={BAR_WIDTH}\n height={BAR_HEIGHT}\n style={{ cursor: \"ew-resize\", borderRadius: 3, flex: \"1 1 \" + BAR_WIDTH + \"px\", maxWidth: 280 }}\n onMouseDown={handleMouseDown}\n >\n <rect x={0} y={0} width={BAR_WIDTH} height={BAR_HEIGHT} fill=\"rgba(72, 175, 240, 0.08)\" rx={3} />\n <rect x={0.5} y={0.5} width={BAR_WIDTH - 1} height={BAR_HEIGHT - 1} fill=\"none\" stroke=\"rgba(72, 175, 240, 0.2)\" strokeWidth={1} rx={3} />\n {fillW > 0 && (\n <rect x={1} y={1} width={Math.min(fillW, BAR_WIDTH - 2)} height={BAR_HEIGHT - 2} fill={INACTIVE} opacity={0.15 + ratio * 0.25} rx={2} />\n )}\n {ratio > 0 && (\n <line x1={fillW} y1={1} x2={fillW} y2={BAR_HEIGHT - 1} stroke={INACTIVE} strokeWidth={1.5} opacity={0.6} />\n )}\n <text\n x={7}\n y={BAR_HEIGHT / 2}\n dominantBaseline=\"central\"\n fill=\"currentColor\"\n fontSize={11}\n fontWeight={600}\n opacity={0.5}\n >\n {label}\n </text>\n <text\n x={BAR_WIDTH - 7}\n y={BAR_HEIGHT / 2}\n dominantBaseline=\"central\"\n textAnchor=\"end\"\n fill={INACTIVE}\n fontSize={11}\n fontWeight={600}\n opacity={0.7}\n >\n {display}\n </text>\n </svg>\n );\n};\n\nconst TargetBtn = styled.button<{ $active: boolean }>`\n background: ${(p) =>\n p.$active ? \"rgba(72, 175, 240, 0.2)\" : \"rgba(72, 175, 240, 0.04)\"};\n border: 1px solid\n ${(p) =>\n p.$active ? \"rgba(72, 175, 240, 0.5)\" : \"rgba(72, 175, 240, 0.15)\"};\n border-radius: 3px;\n color: ${(p) => (p.$active ? \"#48aff0\" : \"rgba(72, 175, 240, 0.5)\")};\n font-size: 11px;\n padding: 3px 10px;\n cursor: pointer;\n transition: all 0.15s;\n\n &:hover {\n background: rgba(72, 175, 240, 0.15);\n color: #48aff0;\n }\n`;\n\ntype TriggerTarget = \"left\" | \"right\" | \"both\";\n\nconst EFFECT_OPTIONS = [\n { label: \"Off\", value: TriggerEffect.Off },\n { label: \"Feedback\", value: TriggerEffect.Feedback },\n { label: \"Weapon\", value: TriggerEffect.Weapon },\n { label: \"Bow\", value: TriggerEffect.Bow },\n { label: \"Galloping\", value: TriggerEffect.Galloping },\n { label: \"Vibration\", value: TriggerEffect.Vibration },\n { label: \"Machine\", value: TriggerEffect.Machine },\n];\n\nconst DEFAULTS: Record<TriggerEffect, TriggerFeedbackConfig> = {\n [TriggerEffect.Off]: { effect: TriggerEffect.Off },\n [TriggerEffect.Feedback]: {\n effect: TriggerEffect.Feedback,\n position: 0.3,\n strength: 0.8,\n },\n [TriggerEffect.Weapon]: {\n effect: TriggerEffect.Weapon,\n start: 0.15,\n end: 0.7,\n strength: 0.8,\n },\n [TriggerEffect.Bow]: {\n effect: TriggerEffect.Bow,\n start: 0.1,\n end: 0.6,\n strength: 0.8,\n snapForce: 0.9,\n },\n [TriggerEffect.Galloping]: {\n effect: TriggerEffect.Galloping,\n start: 0.1,\n end: 0.6,\n firstFoot: 0.3,\n secondFoot: 0.7,\n frequency: 20,\n },\n [TriggerEffect.Vibration]: {\n effect: TriggerEffect.Vibration,\n position: 0.1,\n amplitude: 0.7,\n frequency: 40,\n },\n [TriggerEffect.Machine]: {\n effect: TriggerEffect.Machine,\n start: 0.1,\n end: 0.9,\n amplitudeA: 0.5,\n amplitudeB: 1.0,\n frequency: 30,\n period: 5,\n },\n};\n\nfunction NormalizedSlider({\n label,\n value,\n onChange,\n}: {\n label: string;\n value: number;\n onChange: (v: number) => void;\n}) {\n return <HBar label={label} value={value} onChange={onChange} />;\n}\n\nfunction FrequencySlider({\n label,\n value,\n onChange,\n}: {\n label: string;\n value: number;\n onChange: (v: number) => void;\n}) {\n return (\n <HBar\n label={label}\n value={value}\n onChange={onChange}\n min={1}\n max={255}\n step={1}\n formatValue={(v) => String(Math.round(v))}\n />\n );\n}\n\nfunction PeriodSlider({\n label,\n value,\n onChange,\n}: {\n label: string;\n value: number;\n onChange: (v: number) => void;\n}) {\n return (\n <HBar\n label={label}\n value={value}\n onChange={onChange}\n min={0}\n max={20}\n step={1}\n formatValue={(v) => String(Math.round(v))}\n />\n );\n}\n\nfunction EffectSliders({\n config,\n onChange,\n}: {\n config: TriggerFeedbackConfig;\n onChange: (config: TriggerFeedbackConfig) => void;\n}) {\n switch (config.effect) {\n case TriggerEffect.Off:\n return null;\n\n case TriggerEffect.Feedback:\n return (\n <>\n <NormalizedSlider\n label=\"Position\"\n value={config.position}\n onChange={(v) => onChange({ ...config, position: v })}\n />\n <NormalizedSlider\n label=\"Strength\"\n value={config.strength}\n onChange={(v) => onChange({ ...config, strength: v })}\n />\n </>\n );\n\n case TriggerEffect.Weapon:\n return (\n <>\n <NormalizedSlider\n label=\"Start\"\n value={config.start}\n onChange={(v) => onChange({ ...config, start: v })}\n />\n <NormalizedSlider\n label=\"End\"\n value={config.end}\n onChange={(v) => onChange({ ...config, end: v })}\n />\n <NormalizedSlider\n label=\"Strength\"\n value={config.strength}\n onChange={(v) => onChange({ ...config, strength: v })}\n />\n </>\n );\n\n case TriggerEffect.Bow:\n return (\n <>\n <NormalizedSlider\n label=\"Start\"\n value={config.start}\n onChange={(v) => onChange({ ...config, start: v })}\n />\n <NormalizedSlider\n label=\"End\"\n value={config.end}\n onChange={(v) => onChange({ ...config, end: v })}\n />\n <NormalizedSlider\n label=\"Strength\"\n value={config.strength}\n onChange={(v) => onChange({ ...config, strength: v })}\n />\n <NormalizedSlider\n label=\"Snap Force\"\n value={config.snapForce}\n onChange={(v) => onChange({ ...config, snapForce: v })}\n />\n </>\n );\n\n case TriggerEffect.Galloping:\n return (\n <>\n <NormalizedSlider\n label=\"Start\"\n value={config.start}\n onChange={(v) => onChange({ ...config, start: v })}\n />\n <NormalizedSlider\n label=\"End\"\n value={config.end}\n onChange={(v) => onChange({ ...config, end: v })}\n />\n <NormalizedSlider\n label=\"First Foot\"\n value={config.firstFoot}\n onChange={(v) => onChange({ ...config, firstFoot: v })}\n />\n <NormalizedSlider\n label=\"Second Foot\"\n value={config.secondFoot}\n onChange={(v) => onChange({ ...config, secondFoot: v })}\n />\n <FrequencySlider\n label=\"Frequency\"\n value={config.frequency}\n onChange={(v) => onChange({ ...config, frequency: v })}\n />\n </>\n );\n\n case TriggerEffect.Vibration:\n return (\n <>\n <NormalizedSlider\n label=\"Position\"\n value={config.position}\n onChange={(v) => onChange({ ...config, position: v })}\n />\n <NormalizedSlider\n label=\"Amplitude\"\n value={config.amplitude}\n onChange={(v) => onChange({ ...config, amplitude: v })}\n />\n <FrequencySlider\n label=\"Frequency\"\n value={config.frequency}\n onChange={(v) => onChange({ ...config, frequency: v })}\n />\n </>\n );\n\n case TriggerEffect.Machine:\n return (\n <>\n <NormalizedSlider\n label=\"Start\"\n value={config.start}\n onChange={(v) => onChange({ ...config, start: v })}\n />\n <NormalizedSlider\n label=\"End\"\n value={config.end}\n onChange={(v) => onChange({ ...config, end: v })}\n />\n <NormalizedSlider\n label=\"Amplitude A\"\n value={config.amplitudeA}\n onChange={(v) => onChange({ ...config, amplitudeA: v })}\n />\n <NormalizedSlider\n label=\"Amplitude B\"\n value={config.amplitudeB}\n onChange={(v) => onChange({ ...config, amplitudeB: v })}\n />\n <FrequencySlider\n label=\"Frequency\"\n value={config.frequency}\n onChange={(v) => onChange({ ...config, frequency: v })}\n />\n <PeriodSlider\n label=\"Period\"\n value={config.period}\n onChange={(v) => onChange({ ...config, period: v })}\n />\n </>\n );\n }\n}\n\nexport const TriggerEffectControls = ({\n controller,\n}: {\n controller: Dualsense;\n}) => {\n const [effect, setEffect] = React.useState<TriggerEffect>(TriggerEffect.Off);\n const [config, setConfig] = React.useState<TriggerFeedbackConfig>(\n DEFAULTS[TriggerEffect.Off]\n );\n const [target, setTarget] = React.useState<TriggerTarget>(\"right\");\n\n const apply = React.useCallback(\n (cfg: TriggerFeedbackConfig) => {\n if (target === \"left\" || target === \"both\") {\n controller.left.trigger.feedback.set(cfg);\n }\n if (target === \"right\" || target === \"both\") {\n controller.right.trigger.feedback.set(cfg);\n }\n },\n [controller, target]\n );\n\n const handleEffectChange = React.useCallback(\n (e: React.ChangeEvent<HTMLSelectElement>) => {\n const newEffect = e.target.value as TriggerEffect;\n setEffect(newEffect);\n const newConfig = { ...DEFAULTS[newEffect] };\n setConfig(newConfig);\n apply(newConfig);\n },\n [apply]\n );\n\n const handleConfigChange = React.useCallback(\n (newConfig: TriggerFeedbackConfig) => {\n setConfig(newConfig);\n apply(newConfig);\n },\n [apply]\n );\n\n const isActive = effect !== TriggerEffect.Off;\n\n return (\n <Panel>\n <Section>\n <SectionLabel>Effect</SectionLabel>\n <Row>\n <HTMLSelect\n value={effect}\n onChange={handleEffectChange}\n style={{ flex: \"1 1 0\", minWidth: 0 }}\n options={EFFECT_OPTIONS}\n />\n {isActive && (\n <Tag intent=\"warning\" minimal={true} style={{ flexShrink: 0 }}>\n Active\n </Tag>\n )}\n </Row>\n <Row>\n {([\"left\", \"right\", \"both\"] as TriggerTarget[]).map((t) => (\n <TargetBtn\n key={t}\n $active={target === t}\n onClick={() => setTarget(t)}\n >\n {t.charAt(0).toUpperCase() + t.slice(1)}\n </TargetBtn>\n ))}\n </Row>\n {isActive && (\n <Button\n small={true}\n intent=\"warning\"\n outlined={true}\n fill={true}\n text=\"Reset\"\n onClick={() => {\n controller.resetTriggerFeedback();\n setEffect(TriggerEffect.Off);\n setConfig(DEFAULTS[TriggerEffect.Off]);\n }}\n />\n )}\n </Section>\n\n {isActive && (\n <SliderSection>\n <SectionLabel style={{ width: \"100%\" }}>Parameters</SectionLabel>\n <EffectSliders config={config} onChange={handleConfigChange} />\n </SliderSection>\n )}\n </Panel>\n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Card, Switch } from \"@blueprintjs/core\";\nimport { DualsenseHIDState } from \"dualsense-ts\";\n\nimport { ControllerContext } from \"../Controller\";\nimport { TriggerEffectControls } from \"./TriggerEffectControls\";\n\nconst ScrollablePre = styled.pre`\n overflow: auto;\n word-break: normal !important;\n word-wrap: normal !important;\n white-space: pre !important;\n max-height: 200px;\n font-size: 11px;\n`;\n\ninterface DebuggerProps {\n panel: \"triggers\" | \"debug\";\n}\n\nexport const Debugger = ({ panel }: DebuggerProps) => {\n const controller = React.useContext(ControllerContext);\n const [controllerState, setDebugState] = React.useState<DualsenseHIDState>(\n controller.hid.state\n );\n\n const [showReport, setShowReport] = React.useState<boolean>(false);\n const [showState, setShowState] = React.useState<boolean>(false);\n\n React.useEffect(() => {\n controller.on(\"change\", (controller) => {\n setDebugState(controller.hid.state);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let reportBuffer: string = \"\";\n let reportLength: string = \"\";\n if (controller.hid.provider.buffer) {\n const report = controller.hid.provider.buffer as DataView;\n reportBuffer = `const report = Buffer.from([${new Uint8Array(\n report.buffer\n ).join(\", \")}])`;\n reportLength = `${report.byteLength} bytes`;\n } else {\n reportBuffer = \"Waiting for report...\";\n reportLength = \"unknown\";\n }\n\n if (panel === \"triggers\") {\n return <TriggerEffectControls controller={controller} />;\n }\n\n return (\n <>\n <Card compact={true}>\n <Switch\n label=\"Input State\"\n checked={showState}\n onChange={() => setShowState(!showState)}\n />\n <Switch\n label=\"Report Buffer\"\n checked={showReport}\n onChange={() => setShowReport(!showReport)}\n />\n </Card>\n {showReport && (\n <Card compact={true}>\n <p style={{ fontSize: 12, opacity: 0.7 }}>\n Buffer: {reportLength}\n </p>\n <ScrollablePre>{reportBuffer}</ScrollablePre>\n </Card>\n )}\n {showState && (\n <Card compact={true}>\n <ScrollablePre>\n {Object.entries(controllerState)\n .map(([key, val]) => `${key}: ${JSON.stringify(val)}`)\n .join(\"\\n\")}\n </ScrollablePre>\n </Card>\n )}\n </>\n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Illustration, Shape } from \"react-zdog\";\n\nimport { RenderedElement } from \"./RenderedElement\";\nimport { ControllerContext } from \"../Controller\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n`;\n\nconst VisLabel = styled.span`\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 2px;\n opacity: 0.4;\n`;\n\nconst ZOOM = 16;\nconst TILT = Math.PI / 5;\nconst ARM_LENGTH = 2.4;\nconst ARM_WIDTH = 1.8;\n/** Left/right arms are taller to fit their arrow glyphs */\nconst ARM_WIDTH_WIDE = 2.2;\nconst ARROW_SIZE = 0.5;\nconst PRESS_DEPTH = 0.5;\nconst INACTIVE = \"#48aff0\";\nconst ACTIVE = \"#f29e02\";\n\ninterface DpadArmProps {\n x: number;\n z: number;\n pressed: boolean;\n /** Rotation around Y to orient the arm and arrow */\n rotateY?: number;\n /** Use wider arm (for left/right) */\n wide?: boolean;\n}\n\n/**\n * A single D-pad arm: pentagon shape — square on the outside, triangular point\n * toward the center. Arrow glyph points outward.\n * The arm extends along +Z (outward); rotateY orients it.\n */\nconst POINT_DEPTH = 0.7;\n\nconst DpadArm = ({\n x,\n z,\n pressed,\n rotateY = 0,\n wide = false,\n}: DpadArmProps) => {\n const hw = (wide ? ARM_WIDTH_WIDE : ARM_WIDTH) / 2;\n const hl = ARM_LENGTH / 2;\n const color = pressed ? ACTIVE : INACTIVE;\n return (\n <Shape\n translate={{ x, z, y: pressed ? PRESS_DEPTH : 0 }}\n rotate={{ y: rotateY }}\n stroke={0}\n >\n {/* Arm body — pentagon: square outside, triangle point inside */}\n <Shape\n path={[\n { x: 0, y: 0, z: -hl - POINT_DEPTH },\n { x: -hw, y: 0, z: -hl },\n { x: -hw, y: 0, z: hl },\n { x: hw, y: 0, z: hl },\n { x: hw, y: 0, z: -hl },\n ]}\n stroke={0.2}\n color={color}\n fill={pressed}\n closed={true}\n />\n {/* Arrow — points along +Z (outward from center) */}\n <Shape\n path={[\n { x: -ARROW_SIZE, y: 0, z: hl * 0.2 },\n { x: 0, y: 0, z: hl * 0.7 },\n { x: ARROW_SIZE, y: 0, z: hl * 0.2 },\n ]}\n stroke={0.2}\n color={color}\n closed={false}\n />\n </Shape>\n );\n};\n\nexport const DpadVisualization = () => {\n const controller = React.useContext(ControllerContext);\n const [up, setUp] = React.useState(controller.dpad.up.state);\n const [down, setDown] = React.useState(controller.dpad.down.state);\n const [left, setLeft] = React.useState(controller.dpad.left.state);\n const [right, setRight] = React.useState(controller.dpad.right.state);\n\n React.useEffect(() => {\n controller.dpad.up.on(\"change\", ({ state }) => setUp(state));\n controller.dpad.down.on(\"change\", ({ state }) => setDown(state));\n controller.dpad.left.on(\"change\", ({ state }) => setLeft(state));\n controller.dpad.right.on(\"change\", ({ state }) => setRight(state));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const offset = 2.8;\n\n return (\n <Container>\n <RenderedElement\n width={(offset * 2 + ARM_WIDTH_WIDE + 2) * ZOOM}\n height={(offset * 2 + ARM_WIDTH + 3) * ZOOM}\n >\n <Illustration element=\"svg\" zoom={ZOOM}>\n <Shape rotate={{ x: TILT }} stroke={0}>\n {/* Up — points along +Z (visually upward with tilt) */}\n <DpadArm x={0} z={offset} pressed={up} />\n {/* Down — rotated 180° */}\n <DpadArm x={0} z={-offset} pressed={down} rotateY={Math.PI} />\n {/* Left — rotated 90° */}\n <DpadArm\n x={-offset}\n z={0}\n pressed={left}\n rotateY={Math.PI / 2}\n wide\n />\n {/* Right — rotated -90° */}\n <DpadArm\n x={offset}\n z={0}\n pressed={right}\n rotateY={-Math.PI / 2}\n wide\n />\n </Shape>\n </Illustration>\n </RenderedElement>\n <VisLabel>D-pad</VisLabel>\n </Container>\n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Illustration, Shape, Ellipse, Polygon } from \"react-zdog\";\n\nimport { RenderedElement } from \"./RenderedElement\";\nimport { ControllerContext } from \"../Controller\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n`;\n\nconst VisLabel = styled.span`\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 2px;\n opacity: 0.4;\n`;\n\nconst ZOOM = 16;\nconst TILT = Math.PI / 6;\n/** Spacing between button centers in the diamond layout */\nconst SPREAD = 2.8;\nconst BUTTON_SIZE = 1.4;\nconst PRESS_DEPTH = 0.5;\nconst INACTIVE = \"#48aff0\";\nconst ACTIVE = \"#f29e02\";\n\ninterface ButtonGlyphProps {\n x: number;\n z: number;\n pressed: boolean;\n}\n\n/** Triangle glyph — small equilateral triangle */\nconst TriangleGlyph = ({ x, z, pressed }: ButtonGlyphProps) => (\n <Shape translate={{ x, z, y: pressed ? PRESS_DEPTH : 0 }} stroke={0}>\n <Ellipse\n diameter={BUTTON_SIZE * 2}\n stroke={0.2}\n color={pressed ? ACTIVE : INACTIVE}\n />\n <Polygon\n radius={BUTTON_SIZE * 0.55}\n sides={3}\n stroke={0.25}\n color={pressed ? ACTIVE : INACTIVE}\n fill={pressed}\n />\n </Shape>\n);\n\n/** Circle glyph */\nconst CircleGlyph = ({ x, z, pressed }: ButtonGlyphProps) => (\n <Shape translate={{ x, z, y: pressed ? PRESS_DEPTH : 0 }} stroke={0}>\n <Ellipse\n diameter={BUTTON_SIZE * 2}\n stroke={0.2}\n color={pressed ? ACTIVE : INACTIVE}\n />\n <Ellipse\n diameter={BUTTON_SIZE * 0.9}\n stroke={0.25}\n color={pressed ? ACTIVE : INACTIVE}\n fill={pressed}\n />\n </Shape>\n);\n\n/** Cross glyph — two short perpendicular lines */\nconst CrossGlyph = ({ x, z, pressed }: ButtonGlyphProps) => {\n const s = BUTTON_SIZE * 0.4;\n return (\n <Shape translate={{ x, z, y: pressed ? PRESS_DEPTH : 0 }} stroke={0}>\n <Ellipse\n diameter={BUTTON_SIZE * 2}\n stroke={0.2}\n color={pressed ? ACTIVE : INACTIVE}\n />\n <Shape\n path={[\n { x: -s, y: 0, z: -s },\n { x: s, y: 0, z: s },\n ]}\n stroke={0.25}\n color={pressed ? ACTIVE : INACTIVE}\n />\n <Shape\n path={[\n { x: s, y: 0, z: -s },\n { x: -s, y: 0, z: s },\n ]}\n stroke={0.25}\n color={pressed ? ACTIVE : INACTIVE}\n />\n </Shape>\n );\n};\n\n/** Square glyph — Z stretched to compensate for isometric foreshortening */\nconst SquareGlyph = ({ x, z, pressed }: ButtonGlyphProps) => {\n const sx = BUTTON_SIZE * 0.38;\n const sz = BUTTON_SIZE * 0.44;\n return (\n <Shape translate={{ x, z, y: pressed ? PRESS_DEPTH : 0 }} stroke={0}>\n <Ellipse\n diameter={BUTTON_SIZE * 2}\n stroke={0.2}\n color={pressed ? ACTIVE : INACTIVE}\n />\n <Shape\n path={[\n { x: -sx, y: 0, z: -sz },\n { x: sx, y: 0, z: -sz },\n { x: sx, y: 0, z: sz },\n { x: -sx, y: 0, z: sz },\n ]}\n stroke={0.25}\n color={pressed ? ACTIVE : INACTIVE}\n fill={pressed}\n closed={true}\n />\n </Shape>\n );\n};\n\nexport const FaceButtons = () => {\n const controller = React.useContext(ControllerContext);\n const [tri, setTri] = React.useState(controller.triangle.state);\n const [cir, setCir] = React.useState(controller.circle.state);\n const [cro, setCro] = React.useState(controller.cross.state);\n const [squ, setSqu] = React.useState(controller.square.state);\n\n React.useEffect(() => {\n controller.triangle.on(\"change\", ({ state }) => setTri(state));\n controller.circle.on(\"change\", ({ state }) => setCir(state));\n controller.cross.on(\"change\", ({ state }) => setCro(state));\n controller.square.on(\"change\", ({ state }) => setSqu(state));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Container>\n <RenderedElement\n width={(SPREAD * 2 + BUTTON_SIZE * 2 + 2) * ZOOM}\n height={(SPREAD * 2 + BUTTON_SIZE * 2 + 3) * ZOOM}\n >\n <Illustration element=\"svg\" zoom={ZOOM}>\n <Shape rotate={{ x: TILT }} stroke={0}>\n <TriangleGlyph x={0} z={SPREAD} pressed={tri} />\n <CircleGlyph x={SPREAD} z={0} pressed={cir} />\n <CrossGlyph x={0} z={-SPREAD} pressed={cro} />\n <SquareGlyph x={-SPREAD} z={0} pressed={squ} />\n </Shape>\n </Illustration>\n </RenderedElement>\n <VisLabel>Buttons</VisLabel>\n </Container>\n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Illustration, Ellipse, Shape } from \"react-zdog\";\n\nimport { RenderedElement } from \"./RenderedElement\";\nimport { ControllerContext } from \"../Controller\";\n\nconst Container = styled.div`\n display: flex;\n align-items: center;\n gap: 6px;\n`;\n\nconst BarGroup = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2px;\n`;\n\nconst BarLabel = styled.span`\n font-size: 7px;\n text-transform: uppercase;\n letter-spacing: 1px;\n opacity: 0.3;\n`;\n\nconst RING_DIAMETER = 6;\nconst RING_THICKNESS = 0.2;\nconst RING_ZOOM = 14;\n\nconst BAR_WIDTH = 4;\nconst BAR_HEIGHT = 40;\nconst BAR_COLOR = \"#48aff0\";\nconst BAR_ACTIVE = \"#f29e02\";\n\ninterface BarProps {\n value: number;\n label: string;\n}\n\nconst Bar = ({ value, label }: BarProps) => {\n const clamped = Math.min(1, Math.abs(value));\n const h = clamped * (BAR_HEIGHT / 2);\n const isNeg = value < 0;\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 1,\n }}\n >\n <svg width={BAR_WIDTH} height={BAR_HEIGHT}>\n {/* Background track */}\n <rect\n x={0}\n y={0}\n width={BAR_WIDTH}\n height={BAR_HEIGHT}\n fill=\"rgba(72, 175, 240, 0.08)\"\n rx={1}\n />\n {/* Center line */}\n <line\n x1={0}\n y1={BAR_HEIGHT / 2}\n x2={BAR_WIDTH}\n y2={BAR_HEIGHT / 2}\n stroke=\"rgba(72, 175, 240, 0.15)\"\n strokeWidth={0.5}\n />\n {/* Value bar */}\n {h > 0 && (\n <rect\n x={0}\n y={isNeg ? BAR_HEIGHT / 2 : BAR_HEIGHT / 2 - h}\n width={BAR_WIDTH}\n height={h}\n fill={clamped > 0.7 ? BAR_ACTIVE : BAR_COLOR}\n opacity={0.4 + clamped * 0.6}\n rx={1}\n />\n )}\n </svg>\n <BarLabel>{label}</BarLabel>\n </div>\n );\n};\n\nconst BarColumn = styled.div`\n display: flex;\n gap: 2px;\n`;\n\nexport const Gyro = () => {\n const controller = React.useContext(ControllerContext);\n const [gyro, setGyro] = React.useState({\n x: controller.gyroscope.x.force,\n y: controller.gyroscope.y.force,\n z: controller.gyroscope.z.force,\n });\n const [accel, setAccel] = React.useState({\n x: controller.accelerometer.x.force,\n y: controller.accelerometer.y.force,\n z: controller.accelerometer.z.force,\n });\n\n React.useEffect(() => {\n controller.gyroscope.on(\"change\", (g) => {\n setGyro({ x: g.x.force, y: g.y.force, z: g.z.force });\n });\n controller.accelerometer.on(\"change\", (a) => {\n setAccel({ x: a.x.force, y: a.y.force, z: a.z.force });\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Container>\n <BarGroup>\n <BarColumn>\n <Bar value={gyro.x} label=\"x\" />\n <Bar value={gyro.y} label=\"y\" />\n <Bar value={gyro.z} label=\"z\" />\n </BarColumn>\n <BarLabel>Gyro</BarLabel>\n </BarGroup>\n\n <RenderedElement\n width={(RING_DIAMETER + 2) * RING_ZOOM}\n height={(RING_DIAMETER + 2) * RING_ZOOM}\n >\n <Illustration element=\"svg\" zoom={RING_ZOOM}>\n <Shape\n rotate={{\n y: gyro.x * Math.PI * 2,\n x: gyro.y * Math.PI * 2,\n z: gyro.z * Math.PI * 2,\n }}\n stroke={0}\n >\n <Ellipse\n stroke={RING_THICKNESS}\n diameter={RING_DIAMETER / 3}\n translate={{\n x: accel.x * 3,\n y: accel.y * 3,\n z: accel.z * 3,\n }}\n color=\"#f29e02\"\n />\n <Ellipse\n stroke={RING_THICKNESS}\n diameter={RING_DIAMETER}\n color=\"#48aff0\"\n />\n </Shape>\n </Illustration>\n </RenderedElement>\n\n <BarGroup>\n <BarColumn>\n <Bar value={accel.x} label=\"x\" />\n <Bar value={accel.y} label=\"y\" />\n <Bar value={accel.z} label=\"z\" />\n </BarColumn>\n <BarLabel>Accel</BarLabel>\n </BarGroup>\n </Container>\n );\n};\n","import styled from \"styled-components\";\n\n/** @deprecated Layout is now handled by App.tsx */\nexport const HUDLayout = styled.div`\n display: contents;\n`;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Illustration, Shape, Ellipse } from \"react-zdog\";\n\nimport { RenderedElement } from \"./RenderedElement\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n`;\n\nconst VisLabel = styled.span`\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 2px;\n opacity: 0.4;\n`;\n\nconst ZOOM = 20;\nconst TILT = Math.PI / 6;\n/** Trigger body width */\nconst WIDTH = 4;\n/** Trigger body depth (front to back) */\nconst DEPTH = 6;\n/** How far the trigger rotates at full press */\nconst MAX_ROTATION = Math.PI / 5;\n\ninterface TriggerVisualizationProps {\n label: string;\n pressure: number;\n pressed: boolean;\n}\n\nexport const TriggerVisualization = ({\n label,\n pressure,\n pressed,\n}: TriggerVisualizationProps) => {\n const rotation = pressure * MAX_ROTATION;\n const housingColor = pressed ? \"#f29e02\" : \"#48aff0\";\n const fillColor = pressed\n ? \"#ff8c00\"\n : pressure > 0\n ? `rgba(242, 158, 2, ${0.2 + pressure * 0.8})`\n : \"rgba(72, 175, 240, 0.3)\";\n\n return (\n <Container>\n <RenderedElement width={WIDTH * ZOOM * 2} height={(DEPTH + 2) * ZOOM}>\n <Illustration element=\"svg\" zoom={ZOOM}>\n <Shape rotate={{ x: TILT }} stroke={0}>\n {/* Trigger housing — static base */}\n <Shape\n path={[\n { x: -WIDTH / 2, y: 0, z: 0 },\n { x: WIDTH / 2, y: 0, z: 0 },\n { x: WIDTH / 2, y: 0, z: -DEPTH },\n { x: -WIDTH / 2, y: 0, z: -DEPTH },\n ]}\n stroke={0.3}\n color={housingColor}\n fill={false}\n closed={true}\n />\n {/* Trigger lever — rotates forward on press */}\n <Shape\n rotate={{ x: -rotation }}\n translate={{ z: -DEPTH / 2 }}\n stroke={0}\n >\n <Shape\n path={[\n { x: -WIDTH / 2 + 0.3, y: 0, z: -DEPTH / 2 + 0.3 },\n { x: WIDTH / 2 - 0.3, y: 0, z: -DEPTH / 2 + 0.3 },\n { x: WIDTH / 2 - 0.3, y: 0, z: DEPTH / 2 - 0.3 },\n { x: -WIDTH / 2 + 0.3, y: 0, z: DEPTH / 2 - 0.3 },\n ]}\n stroke={0.4}\n color={fillColor}\n fill={true}\n closed={true}\n />\n </Shape>\n {/* Pressure indicator — small dot that rises with pressure */}\n <Ellipse\n diameter={0.8}\n stroke={0.2}\n color={pressed ? \"#f29e02\" : \"#48aff0\"}\n translate={{ y: -pressure * 2.5, z: -DEPTH - 0.5 }}\n />\n </Shape>\n </Illustration>\n </RenderedElement>\n <VisLabel>{label}</VisLabel>\n </Container>\n );\n};\n","import React, { useContext, useState } from \"react\";\nimport { Card, Button, ButtonGroup } from \"@blueprintjs/core\";\nimport styled from \"styled-components\";\n\nimport { ControllerContext } from \"../Controller\";\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n return \"#\" + [r, g, b].map((c) => c.toString(16).padStart(2, \"0\")).join(\"\");\n}\n\nfunction hexToRgb(hex: string): { r: number; g: number; b: number } {\n const n = parseInt(hex.slice(1), 16);\n return { r: (n >> 16) & 255, g: (n >> 8) & 255, b: n & 255 };\n}\n\nconst Row = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 0;\n`;\n\nconst ColorInput = styled.input`\n width: 40px;\n height: 28px;\n padding: 0;\n border: 1px solid rgba(255, 255, 255, 0.2);\n border-radius: 3px;\n cursor: pointer;\n background: transparent;\n &::-webkit-color-swatch-wrapper {\n padding: 2px;\n }\n`;\n\nconst ColorLabel = styled.span`\n font-size: 12px;\n opacity: 0.7;\n font-family: monospace;\n`;\n\nconst Label = styled.span`\n min-width: 50px;\n font-size: 12px;\n opacity: 0.7;\n`;\n\nexport const LightbarControls = () => {\n const controller = useContext(ControllerContext);\n const initial = controller.lightbar.color;\n const [hex, setHex] = useState(rgbToHex(initial.r, initial.g, initial.b));\n\n const handleColor = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setHex(value);\n controller.lightbar.set(hexToRgb(value));\n };\n\n const { r, g, b } = hexToRgb(hex);\n\n return (\n <Card compact={true}>\n <Row>\n <ColorInput type=\"color\" value={hex} onChange={handleColor} />\n <ColorLabel>\n rgb({r}, {g}, {b})\n </ColorLabel>\n </Row>\n <Row>\n <Label>Pulse</Label>\n <ButtonGroup>\n <Button small={true} onClick={() => controller.lightbar.fadeBlue()}>\n Fade Blue\n </Button>\n <Button small={true} onClick={() => controller.lightbar.fadeOut()}>\n Fade Out\n </Button>\n </ButtonGroup>\n </Row>\n </Card>\n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { ControllerContext } from \"../Controller\";\n\nconst Container = styled.div`\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n opacity: 0.7;\n`;\n\nconst Label = styled.span`\n font-size: 11px;\n opacity: 0.6;\n`;\n\nconst FadeBtn = styled.button`\n background: rgba(72, 175, 240, 0.1);\n border: 1px solid rgba(72, 175, 240, 0.25);\n border-radius: 3px;\n color: #48aff0;\n font-size: 10px;\n padding: 2px 8px;\n cursor: pointer;\n transition: background 0.15s;\n\n &:hover {\n background: rgba(72, 175, 240, 0.25);\n }\n\n &:active {\n background: rgba(72, 175, 240, 0.4);\n }\n`;\n\nexport const LightbarFadeButtons = () => {\n const controller = React.useContext(ControllerContext);\n const [connected, setConnected] = React.useState(controller.connection.state);\n\n React.useEffect(() => {\n controller.connection.on(\"change\", ({ state }) => setConnected(state));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!connected) return null;\n\n return (\n <Container>\n <Label>Lightbar:</Label>\n <FadeBtn onClick={() => controller.lightbar.fadeBlue()}>Fade Blue</FadeBtn>\n <FadeBtn onClick={() => controller.lightbar.fadeOut()}>Fade Out</FadeBtn>\n </Container>\n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { ControllerContext } from \"../Controller\";\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n return \"#\" + [r, g, b].map((c) => c.toString(16).padStart(2, \"0\")).join(\"\");\n}\n\nfunction hexToRgb(hex: string): { r: number; g: number; b: number } {\n const n = parseInt(hex.slice(1), 16);\n return { r: (n >> 16) & 255, g: (n >> 8) & 255, b: n & 255 };\n}\n\nconst Container = styled.div`\n position: relative;\n cursor: pointer;\n`;\n\nconst Strip = styled.div<{ $color: string }>`\n width: 100%;\n height: 14px;\n border-radius: 7px;\n background: ${(p) => p.$color};\n border: 1px solid #48aff0;\n box-shadow: 0 0 8px ${(p) => p.$color}66, 0 0 20px ${(p) => p.$color}33;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: box-shadow 0.2s;\n\n &:hover {\n box-shadow: 0 0 12px ${(p) => p.$color}99, 0 0 30px ${(p) => p.$color}55;\n }\n`;\n\nconst StripText = styled.span`\n font-size: 7px;\n text-transform: uppercase;\n letter-spacing: 1px;\n color: rgba(255, 255, 255, 0.8);\n font-weight: 600;\n text-shadow: 0 0 3px rgba(0, 0, 0, 0.9), 0 0 6px rgba(0, 0, 0, 0.6);\n`;\n\nconst HiddenInput = styled.input`\n position: absolute;\n width: 0;\n height: 0;\n opacity: 0;\n pointer-events: none;\n`;\n\nexport const LightbarStrip = () => {\n const controller = React.useContext(ControllerContext);\n const initial = controller.lightbar.color;\n const [hex, setHex] = React.useState(\n rgbToHex(initial.r, initial.g, initial.b),\n );\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const handleColor = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setHex(value);\n controller.lightbar.set(hexToRgb(value));\n },\n [controller],\n );\n\n const handleClick = React.useCallback(() => {\n inputRef.current?.click();\n }, []);\n\n return (\n <Container onClick={handleClick} title=\"Click to change lightbar color\">\n <Strip $color={hex}>\n <StripText>click to adjust lights</StripText>\n </Strip>\n <HiddenInput\n ref={inputRef}\n type=\"color\"\n value={hex}\n onChange={handleColor}\n />\n </Container>\n );\n};\n","import { useContext, useEffect, useState } from \"react\";\nimport { Tag } from \"@blueprintjs/core\";\n\nimport { ControllerContext } from \"../Controller\";\n\nexport const MuteLedControls = () => {\n const controller = useContext(ControllerContext);\n const [ledOn, setLedOn] = useState(controller.mute.status.state);\n const [connected, setConnected] = useState(controller.connection.state);\n\n useEffect(() => {\n controller.mute.status.on(\"change\", ({ state }) => setLedOn(state));\n controller.connection.on(\"change\", ({ state }) => setConnected(state));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!connected) return null;\n\n const micIcon = (\n <svg\n width=\"10\"\n height=\"14\"\n viewBox=\"0 0 10 14\"\n fill=\"currentColor\"\n style={{ display: \"block\" }}\n >\n <rect x=\"3\" y=\"0.5\" width=\"4\" height=\"8\" rx=\"2\" />\n <path\n d=\"M1 6.5 Q1 10.5 5 10.5 Q9 10.5 9 6.5\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"5\"\n y1=\"10.5\"\n x2=\"5\"\n y2=\"13\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"3\"\n y1=\"13\"\n x2=\"7\"\n y2=\"13\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n />\n {ledOn && (\n <line\n x1=\"1\"\n y1=\"1\"\n x2=\"9\"\n y2=\"12\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeLinecap=\"round\"\n />\n )}\n </svg>\n );\n\n return (\n <Tag minimal={true} intent={ledOn ? \"warning\" : \"none\"} icon={micIcon}>\n {ledOn ? \"Muted\" : \"Mic On\"}\n </Tag>\n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Brightness } from \"dualsense-ts\";\n\nimport { ControllerContext } from \"../Controller\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n`;\n\nconst LedRow = styled.div`\n display: flex;\n gap: 4px;\n align-items: center;\n`;\n\nconst LedHitArea = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 6px;\n cursor: pointer;\n border-radius: 4px;\n transition: background 0.15s;\n\n &:hover {\n background: rgba(72, 175, 240, 0.08);\n }\n`;\n\nconst LedDot = styled.div<{ $on: boolean }>`\n width: 10px;\n height: 10px;\n border-radius: 50%;\n border: 1.5px solid ${(p) => (p.$on ? \"#48aff0\" : \"rgba(72, 175, 240, 0.3)\")};\n background: ${(p) => (p.$on ? \"#48aff0\" : \"transparent\")};\n box-shadow: ${(p) => (p.$on ? \"0 0 8px #48aff0\" : \"none\")};\n transition: all 0.15s;\n\n ${LedHitArea}:hover & {\n border-color: #48aff0;\n background: ${(p) => (p.$on ? \"#48aff0\" : \"rgba(72, 175, 240, 0.15)\")};\n }\n`;\n\nconst BrightnessTrack = styled.div`\n display: flex;\n align-items: center;\n gap: 0;\n cursor: pointer;\n background: rgba(0, 0, 0, 0.3);\n border-radius: 8px;\n padding: 3px 6px;\n`;\n\nconst BrightnessHitArea = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 10px 12px;\n cursor: pointer;\n border-radius: 4px;\n transition: background 0.15s;\n\n &:hover {\n background: rgba(72, 175, 240, 0.1);\n }\n\n &:hover > div {\n border-color: #48aff0;\n }\n`;\n\nconst SunGlyph = ({ rays, active }: { rays: number; active: boolean }) => {\n const size = 16;\n const cx = size / 2;\n const coreR = 2.5;\n const innerR = 4;\n const outerR = 6.5;\n const color = active ? \"#48aff0\" : \"rgba(72, 175, 240, 0.4)\";\n\n const rayLines = Array.from({ length: rays }, (_, i) => {\n const angle = (i * 2 * Math.PI) / rays - Math.PI / 2;\n return (\n <line\n key={i}\n x1={cx + Math.cos(angle) * innerR}\n y1={cx + Math.sin(angle) * innerR}\n x2={cx + Math.cos(angle) * outerR}\n y2={cx + Math.sin(angle) * outerR}\n stroke={color}\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n />\n );\n });\n\n return (\n <svg width={size} height={size} viewBox={`0 0 ${size} ${size}`} style={{ display: \"block\" }}>\n <circle cx={cx} cy={cx} r={coreR} fill={active ? color : \"none\"} stroke={color} strokeWidth=\"1\" />\n {rayLines}\n </svg>\n );\n};\n\nconst VisLabel = styled.span`\n font-size: 9px;\n text-transform: uppercase;\n letter-spacing: 1px;\n opacity: 0.3;\n`;\n\nconst HintLabel = styled.span`\n font-size: 7px;\n opacity: 0.2;\n`;\n\nconst BRIGHTNESS_LEVELS: { value: Brightness; label: string; rays: number }[] = [\n { value: Brightness.Low, label: \"Low\", rays: 4 },\n { value: Brightness.Medium, label: \"Medium\", rays: 6 },\n { value: Brightness.High, label: \"High\", rays: 8 },\n];\n\nexport const PlayerLedBar = () => {\n const controller = React.useContext(ControllerContext);\n const [, setTick] = React.useState(0);\n const [brightness, setBrightness] = React.useState(\n controller.playerLeds.brightness,\n );\n const forceUpdate = () => setTick((t) => t + 1);\n\n const toggleLed = (index: number) => {\n controller.playerLeds.setLed(index, !controller.playerLeds.getLed(index));\n forceUpdate();\n };\n\n const handleBrightness = (value: Brightness) => {\n setBrightness(value);\n controller.playerLeds.setBrightness(value);\n };\n\n return (\n <Container>\n <LedRow>\n {[0, 1, 2, 3, 4].map((i) => {\n const on = controller.playerLeds.getLed(i);\n return (\n <LedHitArea\n key={i}\n onClick={() => toggleLed(i)}\n title={`LED ${i + 1}: ${on ? \"ON\" : \"OFF\"} — click to toggle`}\n >\n <LedDot $on={on} />\n </LedHitArea>\n );\n })}\n </LedRow>\n <BrightnessTrack title=\"LED brightness\">\n {BRIGHTNESS_LEVELS.map(({ value, label, rays }) => (\n <BrightnessHitArea\n key={value}\n onClick={() => handleBrightness(value)}\n title={label}\n >\n <SunGlyph rays={rays} active={brightness === value} />\n </BrightnessHitArea>\n ))}\n </BrightnessTrack>\n <VisLabel>Player LEDs</VisLabel>\n <HintLabel>click me</HintLabel>\n </Container>\n );\n};\n","import { useContext, useState } from \"react\";\nimport { Card, Button, ButtonGroup, HTMLSelect } from \"@blueprintjs/core\";\nimport { PlayerID, Brightness } from \"dualsense-ts\";\nimport styled from \"styled-components\";\n\nimport { ControllerContext } from \"../Controller\";\n\nconst Row = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 0;\n`;\n\nconst Label = styled.span`\n min-width: 50px;\n font-size: 12px;\n opacity: 0.7;\n`;\n\nexport const PlayerLedControls = () => {\n const controller = useContext(ControllerContext);\n const [, setTick] = useState(0);\n const [brightness, setBrightness] = useState(controller.playerLeds.brightness);\n const forceUpdate = () => setTick((t) => t + 1);\n\n const toggleLed = (index: number) => {\n controller.playerLeds.setLed(index, !controller.playerLeds.getLed(index));\n forceUpdate();\n };\n\n const setPreset = (pattern: number) => {\n controller.playerLeds.set(pattern);\n forceUpdate();\n };\n\n const handleBrightness = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const value = Number(e.target.value) as Brightness;\n setBrightness(value);\n controller.playerLeds.setBrightness(value);\n };\n\n return (\n <Card compact={true}>\n <Row>\n <Label>LEDs</Label>\n <ButtonGroup>\n {[0, 1, 2, 3, 4].map((i) => (\n <Button\n key={i}\n active={controller.playerLeds.getLed(i)}\n onClick={() => toggleLed(i)}\n small={true}\n style={{ minWidth: 32 }}\n >\n {i + 1}\n </Button>\n ))}\n </ButtonGroup>\n </Row>\n <Row>\n <Label>Preset</Label>\n <ButtonGroup>\n <Button small={true} onClick={() => setPreset(0)}>Off</Button>\n <Button small={true} onClick={() => setPreset(PlayerID.Player1)}>P1</Button>\n <Button small={true} onClick={() => setPreset(PlayerID.Player2)}>P2</Button>\n <Button small={true} onClick={() => setPreset(PlayerID.Player3)}>P3</Button>\n <Button small={true} onClick={() => setPreset(PlayerID.Player4)}>P4</Button>\n <Button small={true} onClick={() => setPreset(PlayerID.All)}>All</Button>\n </ButtonGroup>\n </Row>\n <Row>\n <Label>Bright</Label>\n <HTMLSelect\n value={brightness}\n onChange={handleBrightness}\n minimal={true}\n fill={false}\n >\n <option value={Brightness.High}>High</option>\n <option value={Brightness.Medium}>Medium</option>\n <option value={Brightness.Low}>Low</option>\n </HTMLSelect>\n </Row>\n </Card>\n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Illustration, Ellipse } from \"react-zdog\";\n\nimport { RenderedElement } from \"./RenderedElement\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n`;\n\nconst VisLabel = styled.span`\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 2px;\n opacity: 0.4;\n`;\n\nconst DIAMETER = 7;\nconst THICKNESS = 0.3;\nconst ZOOM = 18;\n/** How far the orange ring travels at full deflection */\nconst TRAVEL = 2.2;\n\ninterface StickVisualizationProps {\n label: string;\n x: number;\n y: number;\n pressed: boolean;\n}\n\nexport const StickVisualization = ({\n label,\n x,\n y,\n pressed,\n}: StickVisualizationProps) => {\n return (\n <Container>\n <RenderedElement\n width={(DIAMETER + 2) * ZOOM}\n height={(DIAMETER + 2) * ZOOM}\n >\n <Illustration element=\"svg\" zoom={ZOOM}>\n {/* Base ring — flat top-down view */}\n <Ellipse\n stroke={THICKNESS}\n diameter={DIAMETER}\n color={pressed ? \"#f29e02\" : \"#48aff0\"}\n />\n {/* Stick position ring — moves in X/Y plane */}\n <Ellipse\n stroke={THICKNESS}\n diameter={DIAMETER * 0.6}\n color=\"#f29e02\"\n translate={{\n x: x * TRAVEL,\n y: -y * TRAVEL,\n }}\n />\n </Illustration>\n </RenderedElement>\n <VisLabel>{label}</VisLabel>\n </Container>\n );\n};\n","import React from \"react\";\n\nimport { ControllerContext } from \"../Controller\";\nimport { StickVisualization } from \"./StickVisualization\";\n\nexport const Reticle = () => {\n const controller = React.useContext(ControllerContext);\n const [x, setX] = React.useState(controller.left.analog.x.force);\n const [y, setY] = React.useState(controller.left.analog.y.force);\n const [pressed, setPressed] = React.useState(\n controller.left.analog.button.state\n );\n\n React.useEffect(() => {\n controller.left.analog.x.on(\"change\", (axis) => setX(axis.force));\n controller.left.analog.y.on(\"change\", (axis) => setY(axis.force));\n controller.left.analog.button.on(\"change\", ({ state }) =>\n setPressed(state)\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return <StickVisualization label=\"Left Stick\" x={x} y={y} pressed={pressed} />;\n};\n","import React from \"react\";\n\nimport { ControllerContext } from \"../Controller\";\nimport { StickVisualization } from \"./StickVisualization\";\n\nexport const RightStick = () => {\n const controller = React.useContext(ControllerContext);\n const [x, setX] = React.useState(controller.right.analog.x.force);\n const [y, setY] = React.useState(controller.right.analog.y.force);\n const [pressed, setPressed] = React.useState(\n controller.right.analog.button.state\n );\n\n React.useEffect(() => {\n controller.right.analog.x.on(\"change\", (axis) => setX(axis.force));\n controller.right.analog.y.on(\"change\", (axis) => setY(axis.force));\n controller.right.analog.button.on(\"change\", ({ state }) =>\n setPressed(state)\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <StickVisualization label=\"Right Stick\" x={x} y={y} pressed={pressed} />\n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { ControllerContext } from \"../Controller\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2px;\n margin-top: 6px;\n`;\n\nconst VisLabel = styled.span`\n font-size: 9px;\n text-transform: uppercase;\n letter-spacing: 1px;\n opacity: 0.35;\n`;\n\nconst HintLabel = styled.span`\n font-size: 8px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n opacity: 0.25;\n`;\n\nconst BAR_WIDTH = 22;\nconst BAR_HEIGHT = 48;\nconst INACTIVE = \"#48aff0\";\nconst ACTIVE = \"#f29e02\";\n\ninterface RumbleBarProps {\n value: number;\n onChange: (value: number) => void;\n label: string;\n}\n\nconst RumbleBar = ({ value, onChange, label }: RumbleBarProps) => {\n const svgRef = React.useRef<SVGSVGElement>(null);\n const dragging = React.useRef(false);\n\n const valueFromEvent = React.useCallback(\n (e: React.MouseEvent | MouseEvent) => {\n const svg = svgRef.current;\n if (!svg) return;\n const rect = svg.getBoundingClientRect();\n const y = e.clientY - rect.top;\n const clamped = Math.max(0, Math.min(1, 1 - y / rect.height));\n const stepped = Math.round(clamped * 20) / 20;\n onChange(stepped);\n },\n [onChange]\n );\n\n const handleMouseDown = React.useCallback(\n (e: React.MouseEvent) => {\n dragging.current = true;\n valueFromEvent(e);\n const handleMove = (ev: MouseEvent) => {\n if (dragging.current) valueFromEvent(ev);\n };\n const handleUp = () => {\n dragging.current = false;\n window.removeEventListener(\"mousemove\", handleMove);\n window.removeEventListener(\"mouseup\", handleUp);\n };\n window.addEventListener(\"mousemove\", handleMove);\n window.addEventListener(\"mouseup\", handleUp);\n },\n [valueFromEvent]\n );\n\n const fillHeight = value * BAR_HEIGHT;\n const color = value > 0 ? ACTIVE : INACTIVE;\n const pct = Math.round(value * 100);\n\n return (\n <Container title={`${label}: ${pct}% — drag to adjust`}>\n <svg\n ref={svgRef}\n width={BAR_WIDTH}\n height={BAR_HEIGHT}\n style={{ cursor: \"ns-resize\", borderRadius: 3 }}\n onMouseDown={handleMouseDown}\n >\n {/* Background track */}\n <rect\n x={0}\n y={0}\n width={BAR_WIDTH}\n height={BAR_HEIGHT}\n fill=\"rgba(72, 175, 240, 0.1)\"\n rx={2}\n />\n {/* Border */}\n <rect\n x={0.5}\n y={0.5}\n width={BAR_WIDTH - 1}\n height={BAR_HEIGHT - 1}\n fill=\"none\"\n stroke=\"rgba(72, 175, 240, 0.3)\"\n strokeWidth={1}\n rx={2}\n />\n {/* Fill bar — grows from bottom */}\n {fillHeight > 0 && (\n <rect\n x={2}\n y={BAR_HEIGHT - fillHeight}\n width={BAR_WIDTH - 4}\n height={fillHeight}\n fill={color}\n opacity={0.3 + value * 0.7}\n rx={1}\n />\n )}\n {/* Level indicator line */}\n {value > 0 && (\n <line\n x1={1}\n y1={BAR_HEIGHT - fillHeight}\n x2={BAR_WIDTH - 1}\n y2={BAR_HEIGHT - fillHeight}\n stroke={color}\n strokeWidth={1}\n opacity={0.8}\n />\n )}\n {/* Tick marks */}\n {[0.25, 0.5, 0.75].map((tick) => (\n <line\n key={tick}\n x1={0}\n y1={BAR_HEIGHT * (1 - tick)}\n x2={2}\n y2={BAR_HEIGHT * (1 - tick)}\n stroke=\"rgba(72, 175, 240, 0.2)\"\n strokeWidth={0.5}\n />\n ))}\n </svg>\n <VisLabel>{label}</VisLabel>\n <HintLabel>drag me</HintLabel>\n </Container>\n );\n};\n\nexport const LeftRumble = () => {\n const controller = React.useContext(ControllerContext);\n const [value, setValue] = React.useState(controller.left.rumble());\n\n const handleChange = React.useCallback(\n (v: number) => {\n setValue(v);\n controller.left.rumble(v);\n },\n [controller]\n );\n\n return <RumbleBar value={value} onChange={handleChange} label=\"Rumble\" />;\n};\n\nexport const RightRumble = () => {\n const controller = React.useContext(ControllerContext);\n const [value, setValue] = React.useState(controller.right.rumble());\n\n const handleChange = React.useCallback(\n (v: number) => {\n setValue(v);\n controller.right.rumble(v);\n },\n [controller]\n );\n\n return <RumbleBar value={value} onChange={handleChange} label=\"Rumble\" />;\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Illustration, Shape, Ellipse } from \"react-zdog\";\n\nimport { RenderedElement } from \"./RenderedElement\";\nimport { ControllerContext } from \"../Controller\";\n\nconst Container = styled.div`\n display: flex;\n align-items: center;\n gap: 4px;\n`;\n\nconst VisLabel = styled.span`\n font-size: 9px;\n text-transform: uppercase;\n letter-spacing: 1px;\n opacity: 0.35;\n`;\n\nconst LabelColumn = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n`;\n\nconst ZOOM = 14;\nconst TILT = Math.PI / 5;\n\n/** Trigger dimensions */\nconst T_WIDTH = 3.5;\nconst T_DEPTH = 5;\nconst T_MAX_ROTATION = Math.PI / 5;\n\n/** Bumper dimensions */\nconst B_WIDTH = 3.5;\nconst B_DEPTH = 1;\nconst B_PRESS = 0.4;\n\n/** Gap between trigger and bumper */\nconst SPACING = 2;\n\nconst INACTIVE = \"#48aff0\";\nconst ACTIVE = \"#f29e02\";\n\ninterface ShoulderVisualizationProps {\n triggerLabel: string;\n bumperLabel: string;\n triggerPressure: number;\n triggerPressed: boolean;\n bumperPressed: boolean;\n /** Which side labels go on: \"left\" = labels on right, \"right\" = labels on left */\n labelSide: \"left\" | \"right\";\n}\n\nexport const ShoulderVisualization = ({\n triggerLabel,\n bumperLabel,\n triggerPressure,\n triggerPressed,\n bumperPressed,\n labelSide,\n}: ShoulderVisualizationProps) => {\n const rotation = triggerPressure * T_MAX_ROTATION;\n const triggerHousing = triggerPressed ? ACTIVE : INACTIVE;\n const triggerFill = triggerPressed\n ? \"#ff8c00\"\n : triggerPressure > 0\n ? `rgba(242, 158, 2, ${0.2 + triggerPressure * 0.8})`\n : \"rgba(72, 175, 240, 0.3)\";\n const bumperColor = bumperPressed ? ACTIVE : INACTIVE;\n\n const totalDepth = T_DEPTH + SPACING + B_DEPTH;\n const canvasW = (Math.max(T_WIDTH, B_WIDTH) + 2) * ZOOM;\n const canvasH = (totalDepth + 3) * ZOOM;\n\n /**\n * Tilt is negative so the far edge (negative Z) appears at the TOP\n * and the near edge (z=0) appears at the bottom.\n * Trigger housing: z=0 (bottom) to z=-T_DEPTH (top).\n * Dot sits past the top edge and drops with pressure.\n * Bumper sits below the trigger (more positive Z direction).\n */\n const vis = (\n <RenderedElement width={canvasW} height={canvasH}>\n <Illustration element=\"svg\" zoom={ZOOM}>\n <Shape rotate={{ x: -TILT }} stroke={0}>\n {/* --- Trigger — rotating lever --- */}\n {/* Housing outline */}\n <Shape\n path={[\n { x: -T_WIDTH / 2, y: 0, z: 0 },\n { x: T_WIDTH / 2, y: 0, z: 0 },\n { x: T_WIDTH / 2, y: 0, z: -T_DEPTH },\n { x: -T_WIDTH / 2, y: 0, z: -T_DEPTH },\n ]}\n stroke={0.3}\n color={triggerHousing}\n fill={false}\n closed={true}\n />\n {/* Lever — pivots from bottom edge (z=0) */}\n <Shape rotate={{ x: rotation }} stroke={0}>\n <Shape\n path={[\n { x: -T_WIDTH / 2 + 0.3, y: 0, z: -T_DEPTH + 0.3 },\n { x: T_WIDTH / 2 - 0.3, y: 0, z: -T_DEPTH + 0.3 },\n { x: T_WIDTH / 2 - 0.3, y: 0, z: -0.3 },\n { x: -T_WIDTH / 2 + 0.3, y: 0, z: -0.3 },\n ]}\n stroke={0.4}\n color={triggerFill}\n fill={true}\n closed={true}\n />\n </Shape>\n {/* Pressure indicator dot — starts at top, drops with pressure */}\n <Ellipse\n diameter={0.6}\n stroke={0.2}\n color={triggerPressed ? ACTIVE : INACTIVE}\n translate={{ y: triggerPressure * 2, z: -T_DEPTH - 0.3 }}\n />\n\n {/* --- Bumper (below trigger) --- */}\n <Shape translate={{ z: SPACING }} stroke={0}>\n <Shape\n path={[\n { x: -B_WIDTH / 2, y: 0, z: 0 },\n { x: B_WIDTH / 2, y: 0, z: 0 },\n { x: B_WIDTH / 2, y: 0, z: B_DEPTH },\n { x: -B_WIDTH / 2, y: 0, z: B_DEPTH },\n ]}\n stroke={0.3}\n color={bumperColor}\n fill={bumperPressed}\n closed={true}\n translate={{ y: bumperPressed ? B_PRESS : 0 }}\n />\n </Shape>\n </Shape>\n </Illustration>\n </RenderedElement>\n );\n\n /**\n * Label gap is computed from the visual distance between trigger and bumper\n * centers so labels stay aligned with their respective elements.\n */\n const labelGap =\n (T_DEPTH / 2 + SPACING + B_DEPTH / 2) * ZOOM * Math.cos(TILT);\n\n const labels = (\n <LabelColumn style={{ gap: `${labelGap}px` }}>\n <VisLabel style={{ marginTop: 6 }}>{triggerLabel}</VisLabel>\n <VisLabel style={{ marginTop: -6 }}>{bumperLabel}</VisLabel>\n </LabelColumn>\n );\n\n return (\n <Container>\n {labelSide === \"right\" ? (\n <>\n {vis}\n {labels}\n </>\n ) : (\n <>\n {labels}\n {vis}\n </>\n )}\n </Container>\n );\n};\n\nexport const LeftShoulder = () => {\n const controller = React.useContext(ControllerContext);\n const [pressure, setPressure] = React.useState(\n controller.left.trigger.pressure,\n );\n const [triggerPressed, setTriggerPressed] = React.useState(\n controller.left.trigger.button.state,\n );\n const [bumperPressed, setBumperPressed] = React.useState(\n controller.left.bumper.state,\n );\n\n React.useEffect(() => {\n controller.left.trigger.on(\"change\", ({ pressure }) =>\n setPressure(pressure),\n );\n controller.left.trigger.button.on(\"change\", ({ state }) =>\n setTriggerPressed(state),\n );\n controller.left.bumper.on(\"change\", ({ state }) => setBumperPressed(state));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <ShoulderVisualization\n triggerLabel=\"L2\"\n bumperLabel=\"L1\"\n triggerPressure={pressure}\n triggerPressed={triggerPressed}\n bumperPressed={bumperPressed}\n labelSide=\"right\"\n />\n );\n};\n\nexport const RightShoulder = () => {\n const controller = React.useContext(ControllerContext);\n const [pressure, setPressure] = React.useState(\n controller.right.trigger.pressure,\n );\n const [triggerPressed, setTriggerPressed] = React.useState(\n controller.right.trigger.button.state,\n );\n const [bumperPressed, setBumperPressed] = React.useState(\n controller.right.bumper.state,\n );\n\n React.useEffect(() => {\n controller.right.trigger.on(\"change\", ({ pressure }) =>\n setPressure(pressure),\n );\n controller.right.trigger.button.on(\"change\", ({ state }) =>\n setTriggerPressed(state),\n );\n controller.right.bumper.on(\"change\", ({ state }) =>\n setBumperPressed(state),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <ShoulderVisualization\n triggerLabel=\"R2\"\n bumperLabel=\"R1\"\n triggerPressure={pressure}\n triggerPressed={triggerPressed}\n bumperPressed={bumperPressed}\n labelSide=\"left\"\n />\n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Illustration, Shape, Ellipse } from \"react-zdog\";\n\nimport { RenderedElement } from \"./RenderedElement\";\nimport { ControllerContext } from \"../Controller\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n`;\n\nconst VisLabel = styled.span`\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 2px;\n opacity: 0.4;\n`;\n\nconst ZOOM = 14;\nconst PAD_WIDTH = 16;\nconst PAD_HEIGHT = 7;\nconst TRAVEL_X = PAD_WIDTH / 2 - 0.5;\nconst TRAVEL_Y = PAD_HEIGHT / 2 - 0.5;\n\nexport const TouchpadVisualization = () => {\n const controller = React.useContext(ControllerContext);\n const [pressed, setPressed] = React.useState(controller.touchpad.button.state);\n const [t0, setT0] = React.useState({\n active: controller.touchpad.left.contact.state,\n x: controller.touchpad.left.x.state,\n y: controller.touchpad.left.y.state,\n });\n const [t1, setT1] = React.useState({\n active: controller.touchpad.right.contact.state,\n x: controller.touchpad.right.x.state,\n y: controller.touchpad.right.y.state,\n });\n\n React.useEffect(() => {\n controller.touchpad.button.on(\"change\", ({ state }) => setPressed(state));\n controller.touchpad.left.on(\"change\", (touch) => {\n setT0({\n active: touch.contact.state,\n x: touch.x.state,\n y: touch.y.state,\n });\n });\n controller.touchpad.right.on(\"change\", (touch) => {\n setT1({\n active: touch.contact.state,\n x: touch.x.state,\n y: touch.y.state,\n });\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Container>\n <RenderedElement\n width={(PAD_WIDTH + 2) * ZOOM}\n height={(PAD_HEIGHT + 2) * ZOOM}\n >\n <Illustration element=\"svg\" zoom={ZOOM}>\n {/* Touchpad surface */}\n <Shape\n path={[\n { x: -PAD_WIDTH / 2, y: -PAD_HEIGHT / 2 },\n { x: PAD_WIDTH / 2, y: -PAD_HEIGHT / 2 },\n { x: PAD_WIDTH / 2, y: PAD_HEIGHT / 2 },\n { x: -PAD_WIDTH / 2, y: PAD_HEIGHT / 2 },\n ]}\n stroke={0.2}\n color={pressed ? \"#48aff0\" : \"#335577\"}\n fill={true}\n closed={true}\n />\n {/* Outline */}\n <Shape\n path={[\n { x: -PAD_WIDTH / 2, y: -PAD_HEIGHT / 2 },\n { x: PAD_WIDTH / 2, y: -PAD_HEIGHT / 2 },\n { x: PAD_WIDTH / 2, y: PAD_HEIGHT / 2 },\n { x: -PAD_WIDTH / 2, y: PAD_HEIGHT / 2 },\n ]}\n stroke={0.15}\n color=\"#48aff0\"\n fill={false}\n closed={true}\n />\n {/* Center divider */}\n <Shape\n path={[\n { x: 0, y: -PAD_HEIGHT / 2 + 0.5 },\n { x: 0, y: PAD_HEIGHT / 2 - 0.5 },\n ]}\n stroke={0.08}\n color=\"rgba(72, 175, 240, 0.3)\"\n />\n {/* Touch point 0 */}\n {t0.active && (\n <Ellipse\n diameter={1.2}\n stroke={0.3}\n color=\"#f29e02\"\n translate={{\n x: t0.x * TRAVEL_X,\n y: -t0.y * TRAVEL_Y,\n }}\n />\n )}\n {/* Touch point 1 */}\n {t1.active && (\n <Ellipse\n diameter={1.2}\n stroke={0.3}\n color=\"#ff6b35\"\n translate={{\n x: t1.x * TRAVEL_X,\n y: -t1.y * TRAVEL_Y,\n }}\n />\n )}\n </Illustration>\n </RenderedElement>\n <VisLabel>Touchpad</VisLabel>\n </Container>\n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Illustration, Shape, Ellipse } from \"react-zdog\";\n\nimport { RenderedElement } from \"./RenderedElement\";\nimport { ControllerContext } from \"../Controller\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2px;\n`;\n\nconst VisLabel = styled.span`\n font-size: 9px;\n text-transform: uppercase;\n letter-spacing: 1px;\n opacity: 0.35;\n`;\n\nconst ZOOM = 14;\nconst TILT = Math.PI / 6;\nconst PRESS_DEPTH = 0.4;\nconst SMALL = 1.8;\nconst LARGE = 2.8;\nconst INACTIVE = \"#48aff0\";\nconst ACTIVE = \"#f29e02\";\n\ninterface ButtonShellProps {\n label: string;\n pressed: boolean;\n size: number;\n children: React.ReactNode;\n}\n\nconst ButtonShell = ({ label, pressed, size, children }: ButtonShellProps) => (\n <Container>\n <RenderedElement width={(size + 2) * ZOOM} height={(size + 2) * ZOOM}>\n <Illustration element=\"svg\" zoom={ZOOM}>\n <Shape rotate={{ x: TILT }} stroke={0}>\n <Shape translate={{ y: pressed ? PRESS_DEPTH : 0 }} stroke={0}>\n {children}\n </Shape>\n </Shape>\n </Illustration>\n </RenderedElement>\n <VisLabel>{label}</VisLabel>\n </Container>\n);\n\n/** Create button — center vertical line with shorter tilted lines on each side */\nexport const CreateButton = () => {\n const controller = React.useContext(ControllerContext);\n const [pressed, setPressed] = React.useState(controller.create.state);\n React.useEffect(() => {\n controller.create.on(\"change\", ({ state }) => setPressed(state));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const color = pressed ? ACTIVE : INACTIVE;\n const h = SMALL * 0.35;\n const hShort = h * 0.65;\n const spread = SMALL * 0.22;\n const tilt = 0.08;\n return (\n <ButtonShell label=\"Create\" pressed={pressed} size={SMALL}>\n <Ellipse diameter={SMALL} stroke={0.15} color={color} />\n {/* Left line — tilted away, top-aligned with center */}\n <Shape\n path={[\n { x: -spread + tilt, y: 0, z: -h },\n { x: -spread - tilt, y: 0, z: hShort },\n ]}\n stroke={0.15}\n color={color}\n />\n {/* Center line */}\n <Shape\n path={[\n { x: 0, y: 0, z: -h },\n { x: 0, y: 0, z: h },\n ]}\n stroke={0.15}\n color={color}\n />\n {/* Right line — tilted away, top-aligned with center */}\n <Shape\n path={[\n { x: spread - tilt, y: 0, z: -h },\n { x: spread + tilt, y: 0, z: hShort },\n ]}\n stroke={0.15}\n color={color}\n />\n </ButtonShell>\n );\n};\n\n/** Options button — three horizontal lines (hamburger) */\nexport const OptionsButton = () => {\n const controller = React.useContext(ControllerContext);\n const [pressed, setPressed] = React.useState(controller.options.state);\n React.useEffect(() => {\n controller.options.on(\"change\", ({ state }) => setPressed(state));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const color = pressed ? ACTIVE : INACTIVE;\n const w = SMALL * 0.3;\n const wShort = w * 0.7;\n const gap = SMALL * 0.24;\n return (\n <ButtonShell label=\"Options\" pressed={pressed} size={SMALL}>\n <Ellipse diameter={SMALL} stroke={0.15} color={color} />\n <Shape\n path={[\n { x: -wShort, y: 0, z: -gap },\n { x: wShort, y: 0, z: -gap },\n ]}\n stroke={0.15}\n color={color}\n />\n <Shape\n path={[\n { x: -w, y: 0, z: 0 },\n { x: w, y: 0, z: 0 },\n ]}\n stroke={0.15}\n color={color}\n />\n <Shape\n path={[\n { x: -wShort, y: 0, z: gap },\n { x: wShort, y: 0, z: gap },\n ]}\n stroke={0.15}\n color={color}\n />\n </ButtonShell>\n );\n};\n\n/** PlayStation button — larger circle with stylized PS glyph */\nexport const PsButton = () => {\n const controller = React.useContext(ControllerContext);\n const [pressed, setPressed] = React.useState(controller.ps.state);\n React.useEffect(() => {\n controller.ps.on(\"change\", ({ state }) => setPressed(state));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const color = pressed ? ACTIVE : INACTIVE;\n const g = LARGE * 0.28;\n return (\n <ButtonShell label=\"PS\" pressed={pressed} size={LARGE}>\n <Ellipse diameter={LARGE} stroke={0.25} color={color} fill={pressed} />\n {/* Vertical stroke */}\n <Shape\n path={[\n { x: 0, y: 0, z: -g * 1.2 },\n { x: 0, y: 0, z: g * 1.0 },\n ]}\n stroke={0.2}\n color={pressed ? INACTIVE : color}\n />\n {/* Upper horizontal bar */}\n <Shape\n path={[\n { x: -g * 0.6, y: 0, z: -g * 0.5 },\n { x: g * 0.6, y: 0, z: -g * 0.5 },\n ]}\n stroke={0.15}\n color={pressed ? INACTIVE : color}\n />\n {/* Lower base */}\n <Shape\n path={[\n { x: -g * 0.8, y: 0, z: g * 0.5 },\n { x: g * 0.8, y: 0, z: g * 0.5 },\n ]}\n stroke={0.15}\n color={pressed ? INACTIVE : color}\n />\n </ButtonShell>\n );\n};\n\n/** Mute button — narrow pill shape matching the physical controller */\nconst PILL_WIDTH = 2.4;\nconst PILL_HEIGHT = 1.0;\n\nexport const MuteButton = () => {\n const controller = React.useContext(ControllerContext);\n const [pressed, setPressed] = React.useState(controller.mute.state);\n const [muted, setMuted] = React.useState(controller.mute.status.state);\n React.useEffect(() => {\n controller.mute.on(\"change\", ({ state }) => setPressed(state));\n controller.mute.status.on(\"change\", ({ state }) => setMuted(state));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const color = muted ? ACTIVE : pressed ? ACTIVE : INACTIVE;\n const hw = PILL_WIDTH / 2;\n const hh = PILL_HEIGHT / 2;\n const r = hh;\n return (\n <Container>\n <RenderedElement\n width={(PILL_WIDTH + 2) * ZOOM}\n height={(PILL_HEIGHT + 2) * ZOOM}\n >\n <Illustration element=\"svg\" zoom={ZOOM}>\n <Shape rotate={{ x: TILT }} stroke={0}>\n <Shape translate={{ y: pressed ? PRESS_DEPTH : 0 }} stroke={0}>\n {/* Pill outline — rectangle with rounded ends via stroke */}\n <Shape\n path={[\n { x: -hw + r, y: 0, z: -hh },\n { x: hw - r, y: 0, z: -hh },\n {\n arc: [\n { x: hw, y: 0, z: -hh },\n { x: hw, y: 0, z: 0 },\n ],\n },\n {\n arc: [\n { x: hw, y: 0, z: hh },\n { x: hw - r, y: 0, z: hh },\n ],\n },\n { x: -hw + r, y: 0, z: hh },\n {\n arc: [\n { x: -hw, y: 0, z: hh },\n { x: -hw, y: 0, z: 0 },\n ],\n },\n {\n arc: [\n { x: -hw, y: 0, z: -hh },\n { x: -hw + r, y: 0, z: -hh },\n ],\n },\n ]}\n stroke={0.15}\n color={color}\n fill={muted}\n closed={true}\n />\n </Shape>\n </Shape>\n </Illustration>\n </RenderedElement>\n <VisLabel>{muted ? \"Muted\" : \"Mute\"}</VisLabel>\n </Container>\n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport type { Dualsense } from \"dualsense-ts\";\n\nimport {\n Reticle,\n ControllerConnection,\n Gyro,\n BatteryIndicator,\n MuteLedControls,\n} from \"./hud\";\nimport { AudioIndicator } from \"./hud/AudioIndicator\";\nimport { Debugger } from \"./hud/Debugger\";\nimport { RightStick } from \"./hud/RightStick\";\nimport { LeftShoulder, RightShoulder } from \"./hud/ShoulderVisualization\";\nimport { FaceButtons } from \"./hud/FaceButtons\";\nimport { DpadVisualization } from \"./hud/DpadVisualization\";\nimport { TouchpadVisualization } from \"./hud/TouchpadVisualization\";\nimport {\n CreateButton,\n OptionsButton,\n PsButton,\n MuteButton,\n} from \"./hud/UtilityButtons\";\nimport { LeftRumble, RightRumble } from \"./hud/RumbleControl\";\nimport { LightbarStrip } from \"./hud/LightbarStrip\";\nimport { LightbarFadeButtons } from \"./hud/LightbarFadeButtons\";\nimport { PlayerLedBar } from \"./hud/PlayerLedBar\";\nimport {\n ControllerContext,\n ManagerContext,\n manager,\n hasWebHID,\n requestPermission,\n} from \"./Controller\";\n\nconst AppContainer = styled.div.attrs({ className: \"bp5-dark\" })`\n display: flex;\n flex-direction: column;\n width: 100vw;\n height: 100vh;\n overflow: hidden;\n user-select: none;\n`;\n\nconst Main = styled.main`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n overflow: hidden;\n`;\n\nconst StatusBar = styled.div`\n width: 100%;\n padding: 8px 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n gap: 10px;\n background: rgba(0, 0, 0, 0.2);\n border-bottom: 1px solid rgba(255, 255, 255, 0.06);\n min-height: 48px;\n flex-shrink: 0;\n position: relative;\n`;\n\nconst BrandBar = styled.div`\n display: none;\n width: 100%;\n justify-content: center;\n padding: 6px 16px;\n background: rgba(0, 0, 0, 0.15);\n border-bottom: 1px solid rgba(255, 255, 255, 0.04);\n flex-shrink: 0;\n\n @media (max-width: 720px) {\n display: flex;\n }\n`;\n\nconst BrandLinkBase = styled.a`\n display: flex;\n align-items: center;\n gap: 6px;\n background: rgba(72, 175, 240, 0.08);\n border: 1px solid rgba(72, 175, 240, 0.2);\n border-radius: 10px;\n padding: 3px 10px 3px 6px;\n color: #48aff0;\n font-size: 11px;\n font-weight: 500;\n text-decoration: none;\n transition: background 0.15s;\n white-space: nowrap;\n\n &:hover {\n background: rgba(72, 175, 240, 0.15);\n text-decoration: none;\n color: #48aff0;\n }\n`;\n\nconst InlineBrand = styled(BrandLinkBase)`\n position: absolute;\n left: 16px;\n top: 50%;\n transform: translateY(-50%);\n z-index: 1;\n\n @media (max-width: 860px) {\n display: none;\n }\n`;\n\nconst TopBrand = styled(BrandLinkBase)`\n display: none;\n\n @media (max-width: 860px) {\n display: flex;\n }\n`;\n\nconst GhIcon = () => (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 16 16\"\n fill=\"currentColor\"\n style={{ display: \"block\" }}\n >\n <path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\" />\n </svg>\n);\n\nconst ToolbarBtn = styled.button<{ $active?: boolean }>`\n background: ${(p) =>\n p.$active ? \"rgba(72, 175, 240, 0.2)\" : \"rgba(72, 175, 240, 0.06)\"};\n border: 1px solid\n ${(p) =>\n p.$active ? \"rgba(72, 175, 240, 0.5)\" : \"rgba(72, 175, 240, 0.2)\"};\n border-radius: 3px;\n color: #48aff0;\n font-size: 10px;\n padding: 3px 8px;\n cursor: pointer;\n transition: background 0.15s;\n\n &:hover {\n background: rgba(72, 175, 240, 0.2);\n }\n`;\n\nconst DropdownPanel = styled.div`\n width: 100%;\n padding: 12px 24px;\n background: rgba(0, 0, 0, 0.35);\n backdrop-filter: blur(12px);\n border-bottom: 1px solid rgba(255, 255, 255, 0.06);\n flex-shrink: 0;\n`;\n\n/**\n * Controller-shaped layout grid:\n * L2/L1 R2/R1\n * dpad create tp options buttons\n * Lstick PS mute Rstick\n * gyro\n */\nconst ScaleWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst ControllerLayout = styled.div<{ $dimmed?: boolean }>`\n opacity: ${(p) => (p.$dimmed ? 0.15 : 1)};\n pointer-events: ${(p) => (p.$dimmed ? \"none\" : \"auto\")};\n transition: opacity 0.4s;\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto auto auto auto auto minmax(0, 1fr);\n grid-template-rows: auto auto auto auto;\n grid-template-areas:\n \"l-shoulder . gyro gyro gyro . r-shoulder\"\n \"l-upper create tp tp tp options r-upper\"\n \". l-lower . ps . r-lower .\"\n \". . . . . . .\";\n gap: 0px 2px;\n align-items: center;\n align-content: center;\n justify-items: center;\n padding: 8px 12px;\n width: 850px;\n transform-origin: center center;\n`;\n\nconst LeftShoulderArea = styled.div`\n grid-area: l-shoulder;\n`;\n\nconst RightShoulderArea = styled.div`\n grid-area: r-shoulder;\n`;\n\nconst LeftUpper = styled.div`\n grid-area: l-upper;\n`;\n\nconst CreateArea = styled.div`\n grid-area: create;\n align-self: start;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n`;\n\nconst TouchpadArea = styled.div`\n grid-area: tp;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 4px;\n`;\n\nconst OptionsArea = styled.div`\n grid-area: options;\n align-self: start;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n`;\n\nconst RightUpper = styled.div`\n grid-area: r-upper;\n`;\n\nconst LeftLower = styled.div`\n grid-area: l-lower;\n`;\n\nconst RightLower = styled.div`\n grid-area: r-lower;\n`;\n\nconst PsMuteGroup = styled.div`\n grid-area: ps;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n`;\n\nconst GyroArea = styled.div`\n grid-area: gyro;\n`;\n\nconst FallbackContainer = styled.div.attrs({ className: \"bp5-dark\" })`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100vw;\n height: 100vh;\n gap: clamp(12px, 3vw, 24px);\n padding: clamp(16px, 4vw, 32px);\n text-align: center;\n`;\n\nconst FallbackTitle = styled.h1`\n font-size: clamp(20px, 4vw, 28px);\n font-weight: 600;\n opacity: 0.9;\n margin: 0;\n`;\n\nconst FallbackText = styled.p`\n font-size: clamp(12px, 2vw, 14px);\n opacity: 0.6;\n max-width: min(480px, 100%);\n line-height: 1.6;\n margin: 0;\n word-wrap: break-word;\n`;\n\nconst FallbackLink = styled.a`\n color: #48aff0;\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n`;\n\nconst BrowserList = styled.ul`\n list-style: none;\n padding: 0;\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 12px 16px;\n font-size: 13px;\n opacity: 0.5;\n`;\n\nconst PlayerTabBar = styled.div`\n display: flex;\n align-items: center;\n gap: 4px;\n`;\n\nconst PlayerTab = styled.button<{ $active?: boolean; $connected?: boolean }>`\n background: ${(p) =>\n p.$active ? \"rgba(72, 175, 240, 0.25)\" : \"rgba(255, 255, 255, 0.04)\"};\n border: 1px solid\n ${(p) =>\n p.$active ? \"rgba(72, 175, 240, 0.5)\" : \"rgba(255, 255, 255, 0.1)\"};\n border-radius: 3px;\n color: ${(p) => (p.$connected ? \"#bfccd6\" : \"rgba(255, 255, 255, 0.3)\")};\n font-size: 11px;\n font-weight: 500;\n padding: 3px 10px;\n cursor: pointer;\n transition: background 0.15s, border-color 0.15s, color 0.15s;\n display: flex;\n align-items: center;\n gap: 5px;\n\n &:hover {\n background: rgba(72, 175, 240, 0.15);\n }\n`;\n\nconst ConnectionDot = styled.span<{ $connected?: boolean }>`\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: ${(p) =>\n p.$connected ? \"#3dcc91\" : \"rgba(255, 255, 255, 0.15)\"};\n display: inline-block;\n flex-shrink: 0;\n`;\n\nconst AddButton = styled.button`\n background: rgba(255, 255, 255, 0.04);\n border: 1px dashed rgba(255, 255, 255, 0.15);\n border-radius: 3px;\n color: rgba(255, 255, 255, 0.4);\n font-size: 13px;\n font-weight: 400;\n padding: 2px 8px;\n cursor: pointer;\n transition: background 0.15s, color 0.15s;\n\n &:hover {\n background: rgba(72, 175, 240, 0.1);\n color: #48aff0;\n border-color: rgba(72, 175, 240, 0.3);\n }\n`;\n\nconst WebHIDFallback = () => (\n <FallbackContainer>\n <FallbackTitle>WebHID Not Available</FallbackTitle>\n <FallbackText>\n This demo requires the WebHID API to communicate with a DualSense\n controller. Your current browser does not support WebHID.\n </FallbackText>\n <FallbackText>Compatible browsers:</FallbackText>\n <BrowserList>\n <li>Chrome 89+</li>\n <li>Edge 89+</li>\n <li>Opera 75+</li>\n </BrowserList>\n <FallbackText>\n <FallbackLink\n href=\"https://github.com/nsfm/dualsense-ts\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n github.com/nsfm/dualsense-ts\n </FallbackLink>\n </FallbackText>\n </FallbackContainer>\n);\n\n/** Hook that re-renders when the manager's player list changes */\nfunction useManagerState() {\n const [controllers, setControllers] = React.useState<readonly Dualsense[]>(\n manager?.controllers ?? [],\n );\n const [activeCount, setActiveCount] = React.useState(\n manager?.state.active ?? 0,\n );\n\n React.useEffect(() => {\n const m = manager;\n if (!m) return;\n const update = () => {\n setControllers([...m.controllers]);\n setActiveCount(m.state.active);\n };\n m.on(\"change\", update);\n const interval = setInterval(update, 500);\n return () => clearInterval(interval);\n }, []);\n\n return { controllers, activeCount };\n}\n\nexport const App = () => {\n const { controllers } = useManagerState();\n const [selectedIndex, setSelectedIndex] = React.useState(0);\n const [panel, setPanel] = React.useState<\"triggers\" | \"debug\" | null>(null);\n const [scale, setScale] = React.useState(1);\n const mainRef = React.useRef<HTMLElement>(null);\n\n // The currently selected controller (or a disconnected placeholder)\n const selected: Dualsense | undefined = controllers[selectedIndex];\n const connected = selected?.connection.state ?? false;\n\n // Auto-select newly connected controller if none is selected yet\n React.useEffect(() => {\n if (!selected && controllers.length > 0) {\n setSelectedIndex(0);\n }\n }, [controllers.length, selected]);\n\n React.useEffect(() => {\n const el = mainRef.current;\n if (!el) return;\n const BASE_W = 850;\n const BASE_H = 600;\n const update = () => {\n const sw = el.clientWidth / BASE_W;\n const sh = el.clientHeight / BASE_H;\n setScale(Math.min(sw, sh, 1.6));\n };\n const ro = new ResizeObserver(update);\n ro.observe(el);\n update();\n return () => ro.disconnect();\n }, []);\n\n const togglePanel = (p: \"triggers\" | \"debug\") =>\n setPanel((cur) => (cur === p ? null : p));\n\n if (!hasWebHID || !manager) {\n return <WebHIDFallback />;\n }\n\n // Status bar context: the selected controller (remounts on tab switch via key)\n const statusBarController =\n selected ??\n (new (require(\"dualsense-ts\").Dualsense)({ hid: null }) as Dualsense);\n\n return (\n <ManagerContext.Provider value={manager}>\n <AppContainer>\n <BrandBar>\n <TopBrand\n href=\"https://github.com/nsfm/dualsense-ts\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <GhIcon />\n dualsense-ts\n </TopBrand>\n </BrandBar>\n <StatusBar>\n <InlineBrand\n href=\"https://github.com/nsfm/dualsense-ts\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <GhIcon />\n dualsense-ts\n </InlineBrand>\n\n {controllers.length > 0 && (\n <PlayerTabBar>\n {controllers.map((c, i) => (\n <PlayerTab\n key={i}\n $active={i === selectedIndex}\n $connected={c.connection.state}\n onClick={() => setSelectedIndex(i)}\n >\n <ConnectionDot $connected={c.connection.state} />P{i + 1}\n </PlayerTab>\n ))}\n <AddButton onClick={requestPermission} title=\"Add controllers\">\n +\n </AddButton>\n </PlayerTabBar>\n )}\n\n {/* Status bar components can remount safely (no canvas/SVG) */}\n <ControllerContext.Provider\n key={selectedIndex}\n value={statusBarController}\n >\n <ControllerConnection />\n <BatteryIndicator />\n <MuteLedControls />\n <AudioIndicator />\n <LightbarFadeButtons />\n {connected && (\n <>\n <ToolbarBtn\n $active={panel === \"triggers\"}\n onClick={() => togglePanel(\"triggers\")}\n >\n Trigger FX\n </ToolbarBtn>\n <ToolbarBtn\n $active={panel === \"debug\"}\n onClick={() => togglePanel(\"debug\")}\n >\n Debug\n </ToolbarBtn>\n </>\n )}\n </ControllerContext.Provider>\n </StatusBar>\n {panel && (\n <DropdownPanel>\n <ControllerContext.Provider\n key={selectedIndex}\n value={statusBarController}\n >\n <Debugger panel={panel} />\n </ControllerContext.Provider>\n </DropdownPanel>\n )}\n <Main ref={mainRef}>\n {/*\n * Render one HUD per controller, show/hide with CSS.\n * react-zdog Illustration components don't survive remounting,\n * so each HUD stays mounted and subscribed to its own controller.\n */}\n {controllers.map((c, i) => (\n <ControllerContext.Provider key={i} value={c}>\n <ScaleWrapper\n style={{\n width: 850 * scale,\n height: 600 * scale,\n display: i === selectedIndex ? undefined : \"none\",\n }}\n >\n <ControllerLayout\n $dimmed={!c.connection.state}\n style={{ transform: `scale(${scale})` }}\n >\n <LeftShoulderArea>\n <LeftShoulder />\n </LeftShoulderArea>\n <RightShoulderArea>\n <RightShoulder />\n </RightShoulderArea>\n\n <LeftUpper>\n <DpadVisualization />\n </LeftUpper>\n <CreateArea>\n <CreateButton />\n <LeftRumble />\n </CreateArea>\n <TouchpadArea>\n <LightbarStrip />\n <TouchpadVisualization />\n </TouchpadArea>\n <OptionsArea>\n <OptionsButton />\n <RightRumble />\n </OptionsArea>\n <RightUpper>\n <FaceButtons />\n </RightUpper>\n\n <LeftLower>\n <Reticle />\n </LeftLower>\n <PsMuteGroup>\n <PlayerLedBar />\n <PsButton />\n <MuteButton />\n </PsMuteGroup>\n <RightLower>\n <RightStick />\n </RightLower>\n\n <GyroArea>\n <Gyro />\n </GyroArea>\n </ControllerLayout>\n </ScaleWrapper>\n </ControllerContext.Provider>\n ))}\n {controllers.length === 0 && (\n <ScaleWrapper style={{ width: 850 * scale, height: 600 * scale }}>\n <ControllerLayout\n $dimmed\n style={{ transform: `scale(${scale})` }}\n >\n <LeftShoulderArea>\n <LeftShoulder />\n </LeftShoulderArea>\n <RightShoulderArea>\n <RightShoulder />\n </RightShoulderArea>\n\n <LeftUpper>\n <DpadVisualization />\n </LeftUpper>\n <CreateArea>\n <CreateButton />\n <LeftRumble />\n </CreateArea>\n <TouchpadArea>\n <LightbarStrip />\n <TouchpadVisualization />\n </TouchpadArea>\n <OptionsArea>\n <OptionsButton />\n <RightRumble />\n </OptionsArea>\n <RightUpper>\n <FaceButtons />\n </RightUpper>\n\n <LeftLower>\n <Reticle />\n </LeftLower>\n <PsMuteGroup>\n <PlayerLedBar />\n <PsButton />\n <MuteButton />\n </PsMuteGroup>\n <RightLower>\n <RightStick />\n </RightLower>\n\n <GyroArea>\n <Gyro />\n </GyroArea>\n </ControllerLayout>\n </ScaleWrapper>\n )}\n </Main>\n </AppContainer>\n </ManagerContext.Provider>\n );\n};\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from \"react\";\nimport ReactDOM from \"react-dom/client\";\n\nimport { App } from \"./App\";\nimport reportWebVitals from \"./reportWebVitals\";\n\nimport \"normalize.css/normalize.css\";\nimport \"@blueprintjs/core/lib/css/blueprint.css\";\nimport \"@blueprintjs/icons/lib/css/blueprint-icons.css\";\nimport \"@blueprintjs/select/lib/css/blueprint-select.css\";\nimport \"@blueprintjs/popover2/lib/css/blueprint-popover2.css\";\nimport \"./index.css\";\n\nconst root = ReactDOM.createRoot(\n document.getElementById(\"root\") as HTMLElement\n);\n\nroot.render(\n <React.StrictMode>\n <App />\n </React.StrictMode>\n);\n\nreportWebVitals(console.log);\n"],"names":["exports","threshold","deadzone","state","newState","Error","Math","abs","elements_1","require","input_1","hid_1","Dualsense","Input","active","Object","values","this","some","input","wireless","hid","deviceId","provider","serialNumber","constructor","_params$ps","_params$mute","_params$options","_params$create","_params$triangle","_params$circle","_params$cross","_params$square","_params$dpad","_params$left","_params$right","_params$touchpad","_params$square2","_params$gyroscope","_params$accelerometer","_params$battery","_params$hid","params","arguments","length","undefined","super","lightbar","Lightbar","playerLeds","PlayerLeds","pendingBattery","peakLevel","status","ChargeStatus","Discharging","ps","Momentary","icon","name","mute","Mute","microphone","headphone","options","create","triangle","circle","cross","square","dpad","Dpad","left","Unisense","right","touchpad","Touchpad","connection","gyroscope","Gyroscope","accelerometer","Accelerometer","battery","Battery","InputSet","DualsenseHID","PlatformHIDProvider","register","processHID","rumbleMemo","triggerFeedbackMemo","lightbarMemo","key","playerLedsMemo","lastConnected","setInterval","connected","connect","level","leftRumble","rumble","rightRumble","setRumble","leftFeedback","trigger","feedback","rightFeedback","leftKey","toKey","rightKey","setLeftTriggerFeedback","toBytes","setRightTriggerFeedback","lightbarKey","r","g","b","color","setLightbar","pulse","consumePulse","PulseOptions","Off","playerLedsKey","setPlayerLeds","bitmask","brightness","rumbleIntensity","resetTriggerFeedback","reset","intensity","up","down","button","x","y","contact","tracker","analog","bumper","z","axis_1","Axis","momentary_1","Analog","magnitude","vector","direction","force","max","min","hypot","atan2","radians","angle","directionDegrees","PI","degrees","angleDegrees","battery_state_1","BatteryLevel","BatteryStatus","Charging","_params$level","_params$status","Increment","__exportStar","_color","_pendingPulse","set","round","fadeBlue","FadeBlue","fadeOut","FadeOut","concat","gyroscope_1","accelerometer_1","command_1","_bitmask","_brightness","Brightness","High","setLed","index","on","getLed","clear","setBrightness","analog_1","increment_1","Touch","touch_1","trigger_feedback_1","Trigger","TriggerFeedback","pressure","changes","TriggerEffect","EFFECT_MODE","Feedback","Weapon","Bow","Galloping","Vibration","Machine","scale","value","buildTriggerEffectBlock","config","block","Uint8Array","fill","effect","position","forceValue","strength","forceZones","activeZones","i","start","end","startAndStopZones","forcePair","snapForce","firstFoot","timeAndRatio","secondFoot","frequency","strengthValue","amplitude","amplitudeZones","strengthPair","amplitudeA","amplitudeB","period","_config","JSON","stringify","trigger_1","hashTable","Uint32Array","buffer","result","idx","PlayerID","hid_provider_1","bt_checksum_1","refreshRate","subscribers","Set","errorSubscribers","pendingCommands","DefaultDualsenseHIDState","onData","bind","onError","handleError","command","write","buildFeatureReport","Boolean","catch","err","_this$provider$wirele","callback","add","unregister","delete","type","forEach","error","events","usbReport","filter","_ref","scope","reduce","acc","_ref2","_ref3","_ref4","_ref5","_ref6","btReport","crc","computeBluetoothReportChecksum","push","Array","from","setMicrophoneLED","mapAxis","mapTrigger","mapBatteryLevel","mapGyroAccel","v0","v1","v","HIDProvider","processReport","reportId","readUint8","processBluetoothInputReport01","processUsbInputReport01","processBluetoothInputReport31","disconnect","claimedDevices","device","limited","buttonsAndDpad","buttons","miscButtons","lastButtons","readUint16LE","vendorId","productId","usagePage","usage","NodeHIDProvider","connecting","targetPath","devicePath","targetSerial","enumerate","nodeHid","Promise","resolve","then","__importStar","devices","d","path","map","_d$serialNumber","interface","window","message","_target2","_target$serialNumber","HID","controllers","target","find","_target","has","getFeatureReport","arg","process","String","data","removeAllListeners","close","report","offset","node_hid_provider_1","web_hid_provider_1","WebHIDProvider","navigator","targetDevice","addEventListener","attach","detectConnectionType","c","collections","_c$inputReports","maxInputReportBytes","inputReports","_report$items","items","sum","item","_item$reportSize","_item$reportCount","reportSize","reportCount","deviceKey","join","productName","open","receiveFeatureReport","getRequest","requestDevice","filters","getMultiRequest","onDevice","getDevices","finally","payload","slice","sendReport","byteLength","getUint8","getUint16","comparators_1","Symbol","InputOns","InputOnces","InputAdopt","InputParents","InputComparator","id","_a","Map","_b","_c","BasicComparator","_d","_e","_f","InputName","InputIcon","setTimeout","InputSetComparator","event","listener","listeners","get","once","emit","changed","_this$InputOns$get","emitOnce","_this$InputOnces$get","next","done","promise","toString","asyncIterator","toPrimitive","hint","Number","toStringTag","parent","ThresholdComparator","VirtualComparator","dualsense_1","dualsense_hid_1","DEFAULT_PLAYER_PATTERNS","Player1","Player2","Player3","Player4","All","DualsenseManager","_params$autoAssignPla","_params$discoveryInte","players","playerPatterns","slots","serialToSlot","isBrowser","autoAssignPlayerLeds","startWebDiscovery","startNodeDiscovery","discoveryInterval","s","controller","count","_this$slots$index","iterator","setPlayerPattern","slot","getPlayerPattern","_this$playerPatterns$","release","serial","splice","_this$playerPatterns$2","updateState","releaseDisconnected","dispose","discoveryTimer","clearInterval","addWebDevice","activeCount","createSlot","existingIndex","existingSlot","existingProvider","applyPlayerLeds","_this$playerPatterns$3","intervalMs","poll","async","processDiscoveredDevice","existingSlotIndex","IconSize","hasOwn","hasOwnProperty","classNames","classes","argType","isArray","inner","apply","prototype","includes","call","module","default","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","targetStatics","sourceStatics","descriptor","e","for","f","h","k","l","m","n","p","q","t","w","a","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","lowerCase","str","toLowerCase","DEFAULT_SPLIT_REGEXP","DEFAULT_STRIP_REGEXP","noCase","splitRegexp","stripRegexp","transform","delimiter","replace","charAt","split","re","RegExp","pascalCaseTransform","firstChar","lowerChars","substr","toUpperCase","pascalCase","__assign","aa","ca","encodeURIComponent","da","ea","fa","ha","ia","document","createElement","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","ra","sa","ta","pa","isNaN","qa","test","oa","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","assign","Ma","stack","trim","match","Na","Oa","prepareStackTrace","Reflect","construct","Pa","tag","Qa","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","valueOf","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","style","indexOf","setProperty","substring","tb","menuitem","area","base","br","col","embed","hr","img","keygen","link","meta","param","source","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","removeEventListener","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","shift","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","Date","now","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","fromCharCode","code","location","repeat","locale","which","Rd","Td","width","height","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","number","password","range","search","tel","text","time","url","week","me","ne","oe","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","node","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","selectionStart","selectionEnd","defaultView","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","element","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","D","of","pf","qf","rf","random","sf","capture","passive","J","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","clearTimeout","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","context","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","ch","eventTime","lane","dh","K","eh","fh","gh","hh","ih","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","L","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","props","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","ref","_owner","_stringRef","th","uh","vh","wh","xh","yh","implementation","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","tagName","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","P","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","queue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","destroy","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","console","Ni","WeakMap","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","yj","Ej","S","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","size","createElementNS","autoFocus","createTextNode","T","Hj","Ij","Jj","Kj","U","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","insertBefore","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","display","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","src","Wk","mk","ceil","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","Infinity","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","cache","pendingSuspenseBoundaries","el","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","querySelectorAll","form","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","version","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createPortal","dl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","getModuleId","__self","__source","jsx","jsxs","setState","forceUpdate","escape","_status","_result","Children","toArray","only","PureComponent","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","pop","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","floor","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","objA","objB","compareContext","ret","keysA","keysB","bHasOwnProperty","valueA","valueB","root","factory","Zdog","Anchor","Vector","CanvasRenderer","SvgRenderer","utils","TAU","onePoint","defaults","setOptions","translate","rotate","multiply","origin","renderOrigin","addTo","addChild","optionKeys","shape","remove","update","translation","rotation","updateGraph","updateFlatGraph","flatGraph","updateSortValue","sort","shapeSorter","sortValue","_flatGraph","graph","getFlatGraph","addChildFlatGraph","childFlatGraph","renderGraphCanvas","ctx","renderGraphSvg","svg","copy","itemOptions","ItemClass","copyGraph","clone","normalizeRotate","modulo","subclass","getSubclass","Super","Item","prop","lerp","alpha","num","div","powerMultipliers","easeInOut","power","isFirstHalf","slope","curve","Box","Shape","Rect","BoxRect","faceNames","boxDefaults","faceName","depth","updatePath","_faceName","setFace","rectProperty","rect","getFaceOptions","frontFace","rearFace","leftFace","rightFace","topFace","bottomFace","property","_prop","isFaceColor","isCanvas","beginPath","elem","point","moveTo","lineTo","cp0","cp1","bezierCurveTo","closePath","pathCommands","isClosed","begin","isStroke","lineWidth","strokeStyle","stroke","isFill","fillStyle","Cone","PathCommand","Ellipse","apex","renderApex","renderCentroid","tangentA","tangentB","surfacePathCommands","renderer","renderConeSurface","visible","subtract","renderNormal","apexDistance","magnitude2d","normalDistance","eccenAngle","acos","eccen","sin","radius","diameter","apexAngle","projectLength","projectAngle","cos","rotateZ","setSurfaceRenderPoint","getSurfaceRenderElement","renderPath","getLineWidth","isSvg","surfaceSvgElement","renderPoints","Cylinder","Group","noop","CylinderGroup","updateSort","renderCylinderSurface","getRenderElement","frontBase","rearBase","lineCap","svgElement","group","baseZ","baseColor","backface","hasWindow","downEvent","moveEvent","upEvent","Dragger","PointerEvent","onDragStart","onDragMove","onDragEnd","bindDrag","startElement","getQueryElement","touchAction","querySelector","handleEvent","method","onmousedown","onpointerdown","dragStart","ontouchstart","pointer","dragStartX","dragStartY","ontouchmove","dragMove","onmousemove","onpointermove","moveX","moveY","onmouseup","onpointerup","ontouchend","dragEnd","quarters","closed","setPath","arc","sortValueTotal","Hemisphere","renderDome","getDomeRenderElement","contourAngle","domeRadius","startAngle","endAngle","domeSvgElement","Illustration","centered","dragRotate","resize","onPrerender","onResize","setElement","setDragRotate","setResize","setCanvas","setSvg","setSize","setSizeCanvas","setSizeSvg","resizeListener","onWindowResize","setMeasuredSize","innerWidth","innerHeight","getBoundingClientRect","renderGraph","updateRenderGraph","getContext","pixelRatio","devicePixelRatio","canvasWidth","canvasHeight","prerenderCanvas","postrenderCanvas","lineJoin","clearRect","save","centerX","centerY","restore","getAttribute","viewWidth","viewHeight","viewX","viewY","empty","dragStartRX","dragStartRY","displaySize","moveRY","moveRX","RoundedRect","Polygon","define","points","previousPoint","mapVectorPoint","mapNewVector","endRenderPoint","controlPoints","renderPoint","move","line","bezier","arcHandleLength","prev","corner","sides","theta","cornerRadius","xA","yA","shortSide","xB","yB","front","renderFront","actionNames","updatePathCommands","pathPart","isLineOrMove","isPointsArray","pointCount","firstPoint","lastPoint","isSame","isFacingBack","isDot","renderCanvasDot","getRenderColor","getPointString","pathValue","fillColor","rotateProperty","vec","propA","propB","getMagnitudeSqrt","sqrt","pos","rotateY","rotateX","extendStatics","setPrototypeOf","__proto__","__extends","TypeError","__","__rest","propertyIsEnumerable","__awaiter","thisArg","_arguments","generator","reject","fulfilled","step","rejected","__generator","_","label","sent","trys","ops","verb","op","SuppressedError","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","o","chunkId","all","promises","miniCssF","obj","inProgress","dataWebpackPrefix","script","needAttach","scripts","getElementsByTagName","charset","timeout","nc","onScriptComplete","onerror","onload","doneFns","fn","head","installedChunks","j","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","self","_taggedTemplateLiteral","freeze","defineProperties","raw","charCodeAt","prefix","use","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","memoize","reactPropsRegex","isPropValid","styledComponentId","REACT_APP_SC_ATTR","SC_ATTR","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","groupSizes","indexOfGroup","insertRules","insertRule","clearGroup","deleteRule","getGroup","getRule","registerName","parseInt","getTag","__webpack_nonce__","childNodes","hasAttribute","sheet","styleSheets","ownerNode","cssRules","cssText","$","nodes","rules","isServer","useCSSOMInjection","gs","names","server","registerId","reconstructWithOptions","allocateGSInstance","hasNameForId","clearNames","clearRules","clearTag","staticRulesId","isStatic","componentId","baseHash","baseStyle","generateAndInjectStyles","hash","plugins","lastIndexOf","stylisPlugins","disableCSSOMInjection","disableVendorPrefixes","getName","isCss","startsWith","theme","attrs","parentComponentId","shouldForwardProp","componentStyle","foldedComponentIds","$as","as","className","withComponent","_foldedDefaultProps","withConfig","createStyles","removeStyles","renderStyles","_emitSheetCSS","getStyleTags","sealed","getStyleElement","nonce","seal","collectStyles","interleaveWithNodeStream","ICON","uniqueCountForNamespace","SVGIconContainer","React","htmlTitle","iconName","STANDARD","svgProps","title","htmlProps","pixelGridSize","LARGE","viewBox","titleId","namespace","curCount","uniqueId","sharedSvgProps","role","Classes","SmallCross","isLarge","fillRule","Alignment","CENTER","LEFT","RIGHT","Elevation","Intent","NONE","PRIMARY","SUCCESS","WARNING","DANGER","Position","NS","BLUEPRINT_NAMESPACE","REACT_APP_BLUEPRINT_NAMESPACE","ACTIVE","ALIGN_LEFT","ALIGN_RIGHT","COMPACT","DISABLED","FILL","INLINE","INTERACTIVE","LOADING","MINIMAL","OUTLINED","ROUND","SELECTED","SMALL","TEXT_OVERFLOW_ELLIPSIS","positionClass","elevationClass","intentClass","ALERT","BREADCRUMB","BUTTON","BUTTON_SPINNER","BUTTON_TEXT","CALLOUT","CARD","CONTROL_CARD","CARD_LIST","COLLAPSE","CONTEXT_MENU","DIALOG","DIALOG_STEP","DRAWER","EDITABLE_TEXT","HTML_SELECT","HTML_TABLE","INPUT","TEXT_AREA","CONTROL","CONTROL_INDICATOR","CONTROL_INDICATOR_CHILD","CHECKBOX","RADIO","SWITCH","SWITCH_INNER_TEXT","KEY","HOTKEY","MENU","MENU_ITEM","MENU_SUBMENU","MULTISTEP_DIALOG","SECTION","SECTION_HEADER","NAVBAR","NON_IDEAL_STATE","OVERFLOW_LIST","OVERLAY","PANEL_STACK","POPOVER","POPOVER_CONTENT","POPOVER_DISMISS","SLIDER","SPINNER","SPINNER_ANIMATION","SPINNER_HEAD","SPINNER_NO_SPIN","SPINNER_TRACK","TAB","TAB_INDICATOR","TAG","TAG_REMOVE","TAG_INPUT","TOAST","TOOLTIP","TREE_NODE","TREE_NODE_CARET","ICON_STANDARD","ICON_LARGE","alignmentClass","alignment","elevation","iconClass","intent","DISPLAYNAME_PREFIX","INVALID_PROPS","removeNonHTMLProps","invalidProps","shouldMerge","curr","isReactNodeEmpty","skipArray","every","BlueprintIcons_16","snakeCase","dotCase","AddClip","AddColumnLeft","AddColumnRight","AddLocation","AddRowBottom","AddRowTop","AddToArtifact","AddToFolder","Add","AimpointsTarget","Airplane","AlignCenter","AlignJustify","AlignLeft","AlignRight","AlignmentBottom","AlignmentHorizontalCenter","AlignmentLeft","AlignmentRight","AlignmentTop","AlignmentVerticalCenter","Ammunition","Annotation","Antenna","AppHeader","Application","Applications","Archive","AreaOfInterest","ArrayBoolean","ArrayDate","ArrayFloatingPoint","ArrayNumeric","ArrayString","ArrayTimestamp","ArrowBottomLeft","ArrowBottomRight","ArrowDown","ArrowLeft","ArrowRight","ArrowTopLeft","ArrowTopRight","ArrowUp","ArrowsHorizontal","ArrowsVertical","Asterisk","At","AutomaticUpdates","Axle","Backlink","Badge","BanCircle","BankAccount","Barcode","Blank","BlockedPerson","Bold","Book","Bookmark","Briefcase","BringData","Bug","Buggy","Build","Calculator","Calendar","Camera","CaretDown","CaretLeft","CaretRight","CaretUp","CargoShip","CellTower","Changes","Chart","Chat","ChevronBackward","ChevronDown","ChevronForward","ChevronLeft","ChevronRight","ChevronUp","CircleArrowDown","CircleArrowLeft","CircleArrowRight","CircleArrowUp","Circle","Citation","Clean","Clip","Clipboard","CloudDownload","CloudUpload","Cloud","CodeBlock","Code","Cog","CollapseAll","ColorFill","ColumnLayout","Comment","Comparison","Compass","Compressed","Confirm","Console","Contrast","CreditCard","CrossCircle","Cross","Crown","CubeAdd","CubeRemove","Cube","CurvedRangeChart","Cut","Cycle","Dashboard","DataConnection","DataLineage","Database","Delete","Delta","DeriveColumn","Desktop","Detection","Diagnosis","DiagramTree","DirectionLeft","DirectionRight","Disable","Divide","DocumentOpen","DocumentShare","Document","Dollar","Dot","DoubleCaretHorizontal","DoubleCaretVertical","DoubleChevronDown","DoubleChevronLeft","DoubleChevronRight","DoubleChevronUp","DoughnutChart","Download","DragHandleHorizontal","DragHandleVertical","Draw","DrawerLeftFilled","DrawerLeft","DrawerRightFilled","DrawerRight","DriveTime","Duplicate","Edit","Eject","Emoji","Endorsed","Envelope","Equals","Eraser","Euro","Exchange","ExcludeRow","ExpandAll","Export","EyeOff","EyeOn","EyeOpen","FastBackward","FastForward","FeedSubscribed","Feed","Film","FilterKeep","FilterList","FilterOpen","FilterRemove","Filter","Flag","Flame","Flash","FloatingPoint","FloppyDisk","FlowBranch","FlowEnd","FlowLinear","FlowReviewBranch","FlowReview","Flows","FolderClose","FolderNew","FolderOpen","FolderSharedOpen","FolderShared","Follower","Following","Font","Fork","Form","Fuel","FullCircle","FullStackedChart","Fullscreen","Function","GanttChart","Geofence","Geolocation","Geosearch","Geotime","GitBranch","GitCommit","GitMerge","GitNewBranch","GitPull","GitPush","GitRepo","Glass","GlobeNetwork","Globe","GraphRemove","Graph","GreaterThanOrEqualTo","GreaterThan","GridView","Grid","GroupObjects","GroupedBarChart","HandDown","HandLeft","HandRight","HandUp","Hand","Hat","HeaderOne","HeaderThree","HeaderTwo","Header","Headset","HeartBroken","Heart","HeatGrid","Heatmap","Helicopter","Help","HelperManagement","HighPriority","HighVoltagePole","Highlight","History","Home","HorizontalBarChartAsc","HorizontalBarChartDesc","HorizontalBarChart","HorizontalDistribution","HorizontalInbetween","Hurricane","IdNumber","ImageRotateLeft","ImageRotateRight","Import","InboxFiltered","InboxGeo","InboxSearch","InboxUpdate","Inbox","InfoSign","Inheritance","InheritedGroup","InnerJoin","Insert","Intelligence","Intersection","IpAddress","IssueClosed","IssueNew","Issue","Italic","JoinTable","KeyBackspace","KeyCommand","KeyControl","KeyDelete","KeyEnter","KeyEscape","KeyOption","KeyShift","KeyTab","Key","KnownVehicle","LabTest","Label","LayerOutline","Layer","Layers","LayoutAuto","LayoutBalloon","LayoutCircle","LayoutGrid","LayoutGroupBy","LayoutHierarchy","LayoutLinear","LayoutSkewGrid","LayoutSortedClusters","Layout","Learning","LeftJoin","LengthenText","LessThanOrEqualTo","LessThan","Lifesaver","Lightbulb","Lightning","Link","ListColumns","ListDetailView","List","Locate","Lock","Locomotive","LogIn","LogOut","LowVoltagePole","Manual","ManuallyEnteredData","ManyToMany","ManyToOne","MapCreate","MapMarker","Maximize","Media","MenuClosed","MenuOpen","MergeColumns","MergeLinks","Microphone","Minimize","Minus","MobilePhone","MobileVideo","ModalFilled","Modal","Model","Moon","More","Mountain","Move","Mugshot","MultiSelect","Music","Nest","NewDrawing","NewGridItem","NewLayer","NewLayers","NewLink","NewObject","NewPerson","NewPrescription","NewShield","NewTextBox","Ninja","NotEqualTo","NotificationsSnooze","NotificationsUpdated","Notifications","NumberedList","Numerical","Office","Offline","OilField","OneColumn","OneToMany","OneToOne","OpenApplication","Outdated","PageLayout","PanelStats","PanelTable","Paperclip","Paragraph","PasteVariable","PathSearch","Path","Pause","People","Percentage","Person","PhoneCall","PhoneForward","Phone","PieChart","Pin","PivotTable","Pivot","Play","Playbook","Plus","PolygonFilter","Power","PredictiveAnalysis","Prescription","Presentation","Print","Projects","Properties","Property","PublishFunction","Pulse","Rain","Random","Record","RectHeight","RectWidth","Rectangle","Redo","Refresh","Regex","RegressionChart","RemoveColumnLeft","RemoveColumnRight","RemoveColumn","RemoveRowBottom","RemoveRowTop","Remove","Repeat","Reset","Resolve","Rig","RightJoin","Ring","RocketSlant","Rocket","RotateDocument","RotatePage","Route","Satellite","Saved","ScatterPlot","SearchAround","SearchTemplate","SearchText","Search","SegmentedControl","Select","Selection","SendMessage","SendToGraph","SendToMap","SendTo","Sensor","SeriesAdd","SeriesConfiguration","SeriesDerived","SeriesFiltered","SeriesSearch","Settings","Shapes","Share","SharedFilter","Shield","Ship","Shop","ShoppingCart","ShortenText","SignalSearch","SimCard","Slash","SmallInfoSign","SmallMinus","SmallPlus","SmallSquare","SmallTick","Snowflake","SocialMedia","SortAlphabeticalDesc","SortAlphabetical","SortAsc","SortDesc","SortNumericalDesc","SortNumerical","Sort","SpellCheck","SplitColumns","Square","StackedChart","StadiumGeometry","StarEmpty","Star","StepBackward","StepChart","StepForward","Stop","Stopwatch","Strikethrough","Style","Subscript","Superscript","SwapHorizontal","SwapVertical","Switch","SymbolCircle","SymbolCross","SymbolDiamond","SymbolRectangle","SymbolSquare","SymbolTriangleDown","SymbolTriangleUp","Syringe","Tag","TakeAction","Tank","Target","Taxi","Temperature","TextHighlight","ThDerived","ThDisconnect","ThFiltered","ThList","ThirdParty","ThumbsDown","ThumbsUp","TickCircle","Tick","Time","TimelineAreaChart","TimelineBarChart","TimelineEvents","TimelineLineChart","Tint","Torch","Tractor","Train","Translate","Trash","Tree","TrendingDown","TrendingUp","Truck","TwoColumns","Unarchive","Underline","Undo","UngroupObjects","UnknownVehicle","Unlink","Unlock","Unpin","Unresolve","Updated","Upload","User","Variable","VerticalBarChartAsc","VerticalBarChartDesc","VerticalDistribution","VerticalInbetween","Video","Virus","VolumeDown","VolumeOff","VolumeUp","Walk","WarningSign","WaterfallChart","Waves","WidgetButton","WidgetFooter","WidgetHeader","Widget","Wind","Wrench","ZoomIn","ZoomOut","ZoomToFit","IconNamesNew","IconNamesLegacy","_i","name_1","IconNames","IconNamesSet","wrapWithTimer","taskDescription","task","env","shouldMeasure","NODE_ENV","info","getLoaderFn","loader","singleton","defaultLoader","allPathsLoader","splitPathsBySizeLoader","Icons","loadedIconPaths16","loadedIconPaths20","setLoaderOptions","load","icons","_this","loadImpl","loadAll","allIcons","getPaths","isValidIconName","loadedIcons","loaderFn","supportedSize","paths","e_1","Icon","autoLoad","iconSize","iconPaths","setIconPaths","shouldCancelIconLoading","loadedIconPaths","reason","sizeClass","pathElements","setRef","refTarget","isRefCallback","mergeRefs","Text","forwardedRef","ellipsize","contentMeasuringRef","textRef","setTextContent","isContentOverflowing","setIsContentOverflowing","scrollWidth","clientWidth","interactive","large","minimal","multiline","onRemove","rightIcon","tabIndex","isRemovable","tagClasses","removeButton","hasWebHID","manager","requestPermission","ControllerContext","_manager$get","ManagerContext","groupEnd","AudioIndicator","mic","setMic","setHeadphone","setConnected","_jsx","_jsxs","_Fragment","strokeLinecap","rx","x1","y1","x2","y2","cx","cy","BatteryContainer","styled","_templateObject","chargeLabel","Full","AbnormalVoltage","AbnormalTemperature","ChargingError","batteryIntent","BatteryIndicator","setLevel","setStatus","pct","isCharging","batteryIcon","Gt","it","__entries__","global","Wt","requestAnimationFrame","Vt","Ut","MutationObserver","Bt","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","Yt","addObserver","connect_","removeObserver","disconnect_","updateObservers_","gatherActive","hasActive","broadcastActive","observe","attributes","childList","characterData","subtree","getInstance","instance_","ot","writable","at","parseFloat","Jt","clientHeight","getComputedStyle","Ht","bottom","boxSizing","Zt","Kt","SVGGraphicsElement","SVGElement","getBBox","Xt","qt","er","broadcastWidth","broadcastHeight","contentRect_","isActive","broadcastRect","tr","DOMRectReadOnly","Qt","contentRect","rr","activeObservations_","observations_","callback_","controller_","callbackCtx_","unobserve","clearActive","st","ut","nr","ResizeObserver","lt","ct","padStart","Proxy","et","tt","canvasContext","getImageData","ir","rt","nt","illu","It","itemMap","clickEventMap","onPointerMove","pointerMoveEventMap","onPointerEnter","pointerEnterEventMap","onPointerLeave","pointerLeaveEventMap","illu_ghost","fr","frameloop","pointerEvents","willReadFrequently","or","scene","subscribe","cancelAnimationFrame","background","vr","gr","mr","RenderedElement","span","_templateObject2","isKeyboardClick","ns","CLAMP_MIN_MAX","SPINNER_WARN_CLASSES_SIZE","isNodeEnv","SpinnerSize","AbstractPureComponent","_super","timeoutIds","requestIds","clearTimeouts","timeoutId","cancelAnimationFrames","requestId","validateProps","_prevProps","_prevState","_snapshot","handle","_props","PATH_LENGTH","Spinner","prevProps","getSize","strokeOffset","val","clamp","toFixed","getViewBox","pathLength","warn","viewBoxX","viewBoxWidth","Button","commonAttributes","useSharedButtonAttributes","renderButtonContents","AnchorButton","commonProps","alignText","loading","outlined","small","currentKeyPressed","setCurrentKeyPressed","setIsActive","buttonRef","handleBlur","onBlur","handleKeyDown","Utils","onKeyDown","handleKeyUp","click","onKeyUp","onFocus","hasTextContent","StatusContainer","keyframes","PulsingButton","BlueprintButton","_templateObject3","ControllerConnection","methodIcon","strokeLinejoin","Card","compact","ControlInternal","alignIndicator","indicatorChildren","inline","inputRef","labelElement","typeClassName","innerLabelChecked","innerLabel","controlProps","switchLabels","Checkbox","defaultIndeterminate","indeterminate","onChange","isIndeterminate","setIsIndeterminate","localInputRef","handleChange","evt","HTMLSelect","iconProps","iconTitle","optionChildren","option","optionProps","Panel","Row","Section","SliderSection","_templateObject4","SectionLabel","_templateObject5","BAR_WIDTH","BAR_HEIGHT","INACTIVE","HBar","formatValue","svgRef","dragging","valueFromEvent","ratio","stepped","handleMouseDown","handleMove","ev","handleUp","fillW","cursor","borderRadius","maxWidth","onMouseDown","dominantBaseline","fontSize","textAnchor","TargetBtn","_templateObject6","$active","EFFECT_OPTIONS","DEFAULTS","NormalizedSlider","FrequencySlider","PeriodSlider","EffectSliders","TriggerEffectControls","setEffect","setConfig","setTarget","cfg","handleEffectChange","newEffect","newConfig","handleConfigChange","minWidth","ScrollablePre","pre","Debugger","panel","controllerState","setDebugState","showReport","setShowReport","showState","setShowState","reportBuffer","reportLength","entries","Container","VisLabel","TILT","DpadArm","pressed","wide","hw","ARM_LENGTH","DpadVisualization","setUp","setDown","setLeft","setRight","SPREAD","BUTTON_SIZE","PRESS_DEPTH","TriangleGlyph","CircleGlyph","CrossGlyph","SquareGlyph","sx","sz","FaceButtons","tri","setTri","cir","setCir","cro","setCro","squ","setSqu","_ref7","_ref8","BarGroup","BarLabel","Bar","clamped","isNeg","flexDirection","alignItems","gap","BarColumn","Gyro","gyro","setGyro","accel","setAccel","RING_DIAMETER","FadeBtn","LightbarFadeButtons","Strip","$color","StripText","HiddenInput","LightbarStrip","initial","hex","setHex","rgbToHex","handleColor","hexToRgb","handleClick","_inputRef$current","MuteLedControls","ledOn","setLedOn","micIcon","LedRow","LedHitArea","LedDot","$on","BrightnessTrack","BrightnessHitArea","SunGlyph","rays","rayLines","_templateObject7","HintLabel","_templateObject8","BRIGHTNESS_LEVELS","Low","Medium","PlayerLedBar","setTick","toggleLed","handleBrightness","StickVisualization","DIAMETER","Reticle","setX","setY","setPressed","axis","RightStick","RumbleBar","fillHeight","tick","LeftRumble","RightRumble","LabelColumn","T_WIDTH","T_MAX_ROTATION","B_WIDTH","ShoulderVisualization","triggerLabel","bumperLabel","triggerPressure","triggerPressed","bumperPressed","labelSide","triggerHousing","triggerFill","bumperColor","canvasW","vis","labelGap","labels","marginTop","LeftShoulder","setPressure","setTriggerPressed","setBumperPressed","RightShoulder","TouchpadVisualization","t0","setT0","t1","setT1","touch","PAD_WIDTH","PAD_HEIGHT","ZOOM","ButtonShell","CreateButton","hShort","spread","tilt","OptionsButton","wShort","PsButton","MuteButton","muted","setMuted","PILL_WIDTH","PILL_HEIGHT","AppContainer","Main","main","StatusBar","BrandBar","BrandLinkBase","InlineBrand","TopBrand","GhIcon","ToolbarBtn","DropdownPanel","_templateObject9","ScaleWrapper","_templateObject10","ControllerLayout","_templateObject11","$dimmed","LeftShoulderArea","_templateObject12","RightShoulderArea","_templateObject13","LeftUpper","_templateObject14","CreateArea","_templateObject15","TouchpadArea","_templateObject16","OptionsArea","_templateObject17","RightUpper","_templateObject18","LeftLower","_templateObject19","RightLower","_templateObject20","PsMuteGroup","_templateObject21","GyroArea","_templateObject22","FallbackContainer","_templateObject23","FallbackTitle","h1","_templateObject24","FallbackText","_templateObject25","FallbackLink","_templateObject26","BrowserList","_templateObject27","PlayerTabBar","_templateObject28","PlayerTab","_templateObject29","$connected","ConnectionDot","_templateObject30","AddButton","_templateObject31","WebHIDFallback","rel","App","_selected$connection$","_manager$controllers","_manager$state$active","setControllers","setActiveCount","interval","useManagerState","selectedIndex","setSelectedIndex","setPanel","setScale","mainRef","sw","ro","togglePanel","cur","statusBarController","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","getElementById","reportWebVitals"],"sourceRoot":""}
|